hemocell
Loading...
Searching...
No Matches
interiorViscosity.h
Go to the documentation of this file.
1/*
2This file is part of the HemoCell library
3
4HemoCell is developed and maintained by the Computational Science Lab
5in the University of Amsterdam. Any questions or remarks regarding this library
6can be sent to: info@hemocell.eu
7
8When using the HemoCell library in scientific work please cite the
9corresponding paper: https://doi.org/10.3389/fphys.2017.00563
10
11The HemoCell library is free software: you can redistribute it and/or
12modify it under the terms of the GNU Affero General Public License as
13published by the Free Software Foundation, either version 3 of the
14License, or (at your option) any later version.
15
16The library is distributed in the hope that it will be useful,
17but WITHOUT ANY WARRANTY; without even the implied warranty of
18MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19GNU Affero General Public License for more details.
20
21You should have received a copy of the GNU Affero General Public License
22along with this program. If not, see <http://www.gnu.org/licenses/>.
23*/
24#ifndef HEMO_INTERIOR_VISCOSITY_H
25#define HEMO_INTERIOR_VISCOSITY_H
26
28#include "multiBlock/multiDataField3D.h"
29
30namespace hemo {
32 public:
34
35 static InteriorViscosityHelper instance(cellFields);
36 return instance;
37 }
38
39 void checkpoint();
40 static void restore(HemoCellFields & cellFields);
41
42 //Called within functional, from particlefield
43 void add(HemoCellParticleField & pf, const Dot3D & bindingSite, T tau);
44 void add(HemoCellParticleField & pf, const vector<Dot3D> & bindingSites, T tau);
45 void remove(HemoCellParticleField & pf, const Dot3D & bindingSite);
46 void remove(HemoCellParticleField & pf, const vector<Dot3D> & bindingSites);
48
49 private:
51
52 plb::MultiScalarField3D<T> *multiInteriorViscosityField = nullptr,
54
57
58 void refillBindingSites();
59
60 //Singleton Behaviour
61 public:
63 void operator=(InteriorViscosityHelper const&) = delete;
64 };
65}
66#endif
Definition hemoCellFields.h:53
Definition hemoCellParticleField.h:39
Definition interiorViscosity.h:31
~InteriorViscosityHelper()
Definition interiorViscosity.cpp:86
InteriorViscosityHelper(InteriorViscosityHelper const &)=delete
HemoCellFields & cellFields
Definition interiorViscosity.h:50
void empty(HemoCellParticleField &pf)
Definition interiorViscosity.cpp:161
plb::MultiScalarField3D< T > * multiInteriorViscosityField
Definition interiorViscosity.h:52
static void restore(HemoCellFields &cellFields)
Definition interiorViscosity.cpp:112
plb::MultiScalarField3D< T > * preinlet_multiInteriorViscosityField
Definition interiorViscosity.h:53
static InteriorViscosityHelper & get(HemoCellFields &cellFields)
Definition interiorViscosity.h:33
void refillBindingSites()
Definition interiorViscosity.cpp:168
plb::MultiScalarField3D< T > * domain_multiInteriorViscosityField
Definition interiorViscosity.h:53
void operator=(InteriorViscosityHelper const &)=delete
void remove(HemoCellParticleField &pf, const Dot3D &bindingSite)
Definition interiorViscosity.cpp:150
void add(HemoCellParticleField &pf, const Dot3D &bindingSite, T tau)
Definition interiorViscosity.cpp:139
void checkpoint()
Definition interiorViscosity.cpp:90
double T
Definition constant_defaults.h:118
Definition config.cpp:34