22 #include <LbmLib/include/solver/BioSolver/BioSolverHookeanMembraneTension.hpp>
23 #include <LbmLib/include/geometry/GeometryHandler.hpp>
24 #include <LbmLib/include/solver/ForceSolver.hpp>
25 #include <LbmLib/include/GlobalSimulationParameters.hpp>
34 const unsigned int FREQUENCY = 10;
35 const double K = 0.01;
36 const double l_resting = 0.05;
40 BioSolverHookeanMembraneTension::BioSolverHookeanMembraneTension() : BioBaseSolver()
47 std::stringstream forcedescriptor;
50 if (Parameters.getCurrentIteration()%FREQUENCY != 0) {
57 #pragma omp parallel for schedule(static) private(forcedescriptor)
59 j<tempconnectionmap.size();
61 forcedescriptor.str( std::string() );
62 forcedescriptor.clear();
63 forcedescriptor <<
"0\t"
64 << tempconnectionmap[j]->getGeometryNodes().first->getId() <<
"\t"
65 << tempconnectionmap[j]->getGeometryNodes().second->getId() <<
"\t"
68 forcesolver.
addForce(&forcedescriptor);
70 forcedescriptor.str( std::string() );
71 forcedescriptor.clear();
72 forcedescriptor <<
"0\t"
73 << tempconnectionmap[j]->getGeometryNodes().second->getId() <<
"\t"
74 << tempconnectionmap[j]->getGeometryNodes().first->getId() <<
"\t"
77 forcesolver.
addForce(&forcedescriptor);
81 const std::string BioSolverHookeanMembraneTension::name =
"BioSolverHookeanMembraneTension";
void deleteForceType(const unsigned int forcetype)
reset all forces
virtual void applyBioProcess(geometry::GeometryHandler &geometryhandler, solver::ForceSolver &forcesolver)
Applies biological processes.
const Geometry & getGeometry() const
getter for the geometry
const std::vector< std::shared_ptr< Connection > > & getConnections() const
getConnections Getter for connections
void addForce(std::stringstream *const forcedescriptor)
add a force
class responsible for generating the internal geometry representation