![]() |
Chaste Commit::30a3e656d4b131f8c595cc6eb2becd297337570f
|
#include <AveragedSourceParabolicPde.hpp>
Public Member Functions | |
AveragedSourceParabolicPde (AbstractCellPopulation< DIM, DIM > &rCellPopulation, double constantSourceCoefficient=0.0, double linearSourceCoefficient=0.0, double diffusionCoefficient=1.0, double duDtCoefficient=1.0, bool scaleByCellVolume=false) | |
const AbstractCellPopulation< DIM > & | rGetCellPopulation () const |
double | GetConstantCoefficient () const |
double | GetLinearCoefficient () const |
double | GetDiffusionCoefficient () const |
double | GetDuDtCoefficient () const |
bool | GetScaleByCellVolume () const |
virtual void | SetupSourceTerms (TetrahedralMesh< DIM, DIM > &rCoarseMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr) |
double | ComputeDuDtCoefficientFunction (const ChastePoint< DIM > &rX) override |
double | ComputeSourceTerm (const ChastePoint< DIM > &rX, double u, Element< DIM, DIM > *pElement) override |
double | ComputeSourceTermAtNode (const Node< DIM > &rNode, double u) override |
c_matrix< double, DIM, DIM > | ComputeDiffusionTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement=nullptr) override |
double | GetUptakeRateForElement (unsigned elementIndex) |
![]() | |
AbstractLinearParabolicPde () | |
virtual | ~AbstractLinearParabolicPde () |
virtual double | ComputeDuDtCoefficientFunction (const ChastePoint< SPACE_DIM > &rX)=0 |
virtual double | ComputeSourceTerm (const ChastePoint< SPACE_DIM > &rX, double u, Element< ELEMENT_DIM, SPACE_DIM > *pElement=nullptr)=0 |
virtual double | ComputeSourceTermAtNode (const Node< SPACE_DIM > &rNode, double u) |
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > | ComputeDiffusionTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0 |
![]() | |
AbstractLinearPde () | |
virtual | ~AbstractLinearPde () |
Protected Attributes | |
AbstractCellPopulation< DIM, DIM > & | mrCellPopulation |
double | mConstantSourceCoefficient |
double | mLinearSourceCoefficient |
double | mDiffusionCoefficient |
double | mDuDtCoefficient |
bool | mScaleByCellVolume |
std::vector< double > | mCellDensityOnCoarseElements |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | TestCellBasedParabolicPdes |
class | boost::serialization::access |
A parabolic PDE to be solved numerically using the finite element method, for coupling to a cell-based simulation.
The PDE takes the form
c*du/dt = Grad.(D*Grad(u)) + (a*u + b) * rho(x),
where the scalars c, D, a and b are specified by the members mDuDtCoefficient, mDiffusionCoefficient, mLinearSourceCoefficient and mConstantSourceCoefficient, respectively. Their values must be set in the constructor.
The function rho(x) denotes the local density of non-apoptotic cells. This quantity is computed for each element of a 'coarse' finite element mesh that is passed to the method SetupSourceTerms() and stored in the member mCellDensityOnCoarseElements. For a point x, rho(x) is defined to be the number of non-apoptotic cells whose centres lie in each finite element containing that point, scaled by the area of that element.
Definition at line 66 of file AveragedSourceParabolicPde.hpp.
AveragedSourceParabolicPde< DIM >::AveragedSourceParabolicPde | ( | AbstractCellPopulation< DIM, DIM > & | rCellPopulation, |
double | constantSourceCoefficient = 0.0 , |
||
double | linearSourceCoefficient = 0.0 , |
||
double | diffusionCoefficient = 1.0 , |
||
double | duDtCoefficient = 1.0 , |
||
bool | scaleByCellVolume = false |
||
) |
Constructor.
rCellPopulation | reference to the cell population |
constantSourceCoefficient | the constant source term coefficient (defaults to 0.0) |
linearSourceCoefficient | the linear source term coefficient (defaults to 0.0) |
diffusionCoefficient | the rate of diffusion (defaults to 1.0) |
duDtCoefficient | rate of reaction (defaults to 1.0) |
scaleByCellVolume | whether to scale by cell volume (defaults to false) |
Definition at line 40 of file AveragedSourceParabolicPde.cpp.
|
override |
Overridden ComputeDiffusionTerm() method.
rX | the point in space at which the diffusion term is computed |
pElement | the mesh element that x is contained in (optional; defaults to NULL). |
Definition at line 178 of file AveragedSourceParabolicPde.cpp.
|
override |
Overridden ComputeDuDtCoefficientFunction() method.
rX | the point in space at which the function c is computed |
Definition at line 153 of file AveragedSourceParabolicPde.cpp.
|
override |
Overridden ComputeSourceTerm() method.
rX | the point in space at which the nonlinear source term is computed |
u | the value of the dependent variable at the point |
pElement | the mesh element that x is contained in (optional; defaults to NULL). |
Definition at line 159 of file AveragedSourceParabolicPde.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex().
|
override |
Overridden ComputeSourceTermAtNode() method. That is never called.
rNode | the node at which the nonlinear source term is computed |
u | the value of the dependent variable at the node |
Definition at line 171 of file AveragedSourceParabolicPde.cpp.
References NEVER_REACHED.
double AveragedSourceParabolicPde< DIM >::GetConstantCoefficient | ( | ) | const |
Definition at line 62 of file AveragedSourceParabolicPde.cpp.
double AveragedSourceParabolicPde< DIM >::GetDiffusionCoefficient | ( | ) | const |
Definition at line 74 of file AveragedSourceParabolicPde.cpp.
double AveragedSourceParabolicPde< DIM >::GetDuDtCoefficient | ( | ) | const |
Definition at line 80 of file AveragedSourceParabolicPde.cpp.
double AveragedSourceParabolicPde< DIM >::GetLinearCoefficient | ( | ) | const |
Definition at line 68 of file AveragedSourceParabolicPde.cpp.
bool AveragedSourceParabolicPde< DIM >::GetScaleByCellVolume | ( | ) | const |
Definition at line 86 of file AveragedSourceParabolicPde.cpp.
double AveragedSourceParabolicPde< DIM >::GetUptakeRateForElement | ( | unsigned | elementIndex | ) |
elementIndex | the element we wish to return the uptake rate for |
Definition at line 184 of file AveragedSourceParabolicPde.cpp.
const AbstractCellPopulation< DIM, DIM > & AveragedSourceParabolicPde< DIM >::rGetCellPopulation | ( | ) | const |
Definition at line 56 of file AveragedSourceParabolicPde.cpp.
|
inlineprivate |
Serialize the PDE and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 81 of file AveragedSourceParabolicPde.hpp.
References AveragedSourceParabolicPde< DIM >::mCellDensityOnCoarseElements, AveragedSourceParabolicPde< DIM >::mConstantSourceCoefficient, AveragedSourceParabolicPde< DIM >::mDiffusionCoefficient, AveragedSourceParabolicPde< DIM >::mDuDtCoefficient, AveragedSourceParabolicPde< DIM >::mLinearSourceCoefficient, and AveragedSourceParabolicPde< DIM >::mScaleByCellVolume.
|
virtual |
Set up the source terms.
rCoarseMesh | reference to the coarse mesh |
pCellPdeElementMap | optional pointer to the map from cells to coarse elements |
Definition at line 92 of file AveragedSourceParabolicPde.cpp.
References EXCEPTION, AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), and AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements().
|
friend |
Needed for serialization.
Definition at line 73 of file AveragedSourceParabolicPde.hpp.
|
friend |
Definition at line 68 of file AveragedSourceParabolicPde.hpp.
|
protected |
Vector of averaged cell densities on elements of the coarse mesh.
Definition at line 113 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
Coefficient of constant source term.
Definition at line 98 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
Diffusion coefficient.
Definition at line 104 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
Coefficient of rate of change term.
Definition at line 107 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
Coefficient of linear source term.
Definition at line 101 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
The cell population member.
Definition at line 95 of file AveragedSourceParabolicPde.hpp.
|
protected |
Whether to scale terms by cell volume
Definition at line 110 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::serialize().