22 #include <LbmLib/include/solver/BioSolver/tutorial_02_BioSolverGrowth.hpp>
23 #include <LbmLib/include/geometry/GeometryHandler.hpp>
24 #include <LbmLib/include/GlobalSimulationParameters.hpp>
25 #include <LbmLib/include/nodes/PhysicalNode.hpp>
26 #include <LbmLib/include/solver/CDESolver/CDEAbstractSolver.hpp>
35 const unsigned int FREQUENCY = 1;
36 const double MAXSOURCE = 0.001;
37 const double THRESHOLD = 1.0;
40 tutorial_02_BioSolverGrowth::tutorial_02_BioSolverGrowth() : BioBaseSolver()
48 if (Parameters.getCurrentIteration()%FREQUENCY != 0) {
57 #pragma omp parallel for schedule(dynamic)
58 for (
unsigned int ity = 0;
61 for (
unsigned int itx = 0;
64 if (geometryhandler.
getPhysicalNodes()[ity][itx]->getDomainIdentifier() != 0 ) {
66 conc_R = geometryhandler.
getPhysicalNodes()[ity][itx]->getCDESolverSlow(
"tutorial_02_CDESolverD2Q5_R").getC();
67 conc_L = geometryhandler.
getPhysicalNodes()[ity][itx]->getCDESolverSlow(
"tutorial_02_CDESolverD2Q5_L").getC();
69 if (conc_R*conc_R*conc_L > THRESHOLD) {
73 source = MAXSOURCE/10.0;
76 geometryhandler.
getPhysicalNodes()[ity][itx]->getFluidSolver().addMass(source);
82 const std::string tutorial_02_BioSolverGrowth::name =
"tutorial_02_BioSolverGrowth";
virtual void applyBioProcess(geometry::GeometryHandler &geometryhandler, solver::ForceSolver &forcesolver)
Applies biological processes.
const std::vector< std::vector< nodes::PhysicalNode * > > & getPhysicalNodes() const
getPhysicalNodes Getter method for the physical node grid
class responsible for generating the internal geometry representation