BioDynaMo
v1.05.120-25dc9790
core
diffusion
euler_grid.h
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------
2
//
3
// Copyright (C) 2021 CERN & University of Surrey for the benefit of the
4
// BioDynaMo collaboration. All Rights Reserved.
5
//
6
// Licensed under the Apache License, Version 2.0 (the "License");
7
// you may not use this file except in compliance with the License.
8
//
9
// See the LICENSE file distributed with this work for details.
10
// See the NOTICE file distributed with this work for additional information
11
// regarding copyright ownership.
12
//
13
// -----------------------------------------------------------------------------
14
15
#ifndef CORE_DIFFUSION_EULER_GRID_H_
16
#define CORE_DIFFUSION_EULER_GRID_H_
17
18
#include <utility>
19
20
#include "
core/diffusion/diffusion_grid.h
"
21
22
namespace
bdm
{
23
43
class
EulerGrid
:
public
DiffusionGrid
{
44
public
:
45
EulerGrid
() =
default
;
46
EulerGrid
(
int
substance_id, std::string substance_name,
real_t
dc,
real_t
mu,
47
int
resolution = 10)
48
:
DiffusionGrid
(substance_id,
std
::move(substance_name), dc, mu,
49
resolution) {}
50
51
void
DiffuseWithClosedEdge
(
real_t
dt)
override
;
52
void
DiffuseWithOpenEdge
(
real_t
dt)
override
;
53
void
DiffuseWithDirichlet
(
real_t
dt)
override
;
54
void
DiffuseWithNeumann
(
real_t
dt)
override
;
55
void
DiffuseWithPeriodic
(
real_t
dt)
override
;
56
57
private
:
58
BDM_CLASS_DEF_OVERRIDE
(
EulerGrid
, 1);
59
};
60
61
}
// namespace bdm
62
63
#endif // CORE_DIFFUSION_EULER_GRID_H_
bdm::EulerGrid::EulerGrid
EulerGrid()=default
bdm::EulerGrid::BDM_CLASS_DEF_OVERRIDE
BDM_CLASS_DEF_OVERRIDE(EulerGrid, 1)
bdm::EulerGrid::DiffuseWithDirichlet
void DiffuseWithDirichlet(real_t dt) override
Definition:
euler_grid.cc:157
bdm
Definition:
agent.cc:39
bdm::real_t
double real_t
Definition:
real_t.h:21
bdm::DiffusionGrid
Definition:
diffusion_grid.h:90
bdm::EulerGrid::DiffuseWithOpenEdge
void DiffuseWithOpenEdge(real_t dt) override
Definition:
euler_grid.cc:69
diffusion_grid.h
bdm::EulerGrid::EulerGrid
EulerGrid(int substance_id, std::string substance_name, real_t dc, real_t mu, int resolution=10)
Definition:
euler_grid.h:46
bdm::EulerGrid::DiffuseWithNeumann
void DiffuseWithNeumann(real_t dt) override
Definition:
euler_grid.cc:213
std
Definition:
agent_uid.h:117
bdm::EulerGrid::DiffuseWithPeriodic
void DiffuseWithPeriodic(real_t dt) override
Definition:
euler_grid.cc:304
bdm::EulerGrid::DiffuseWithClosedEdge
void DiffuseWithClosedEdge(real_t dt) override
Definition:
euler_grid.cc:21
bdm::EulerGrid
Continuum model for the 3D heat equation with exponential decay .
Definition:
euler_grid.h:43
Generated by
1.8.17