BioDynaMo  v1.05.120-25dc9790
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 
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:
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