Chaste
Release::2017.1
|
#include <AveragedSourceParabolicPde.hpp>
Public Member Functions | |
AveragedSourceParabolicPde (AbstractCellPopulation< DIM, DIM > &rCellPopulation, double duDtCoefficient=1.0, double diffusionCoefficient=1.0, double sourceCoefficient=0.0) | |
const AbstractCellPopulation< DIM > & | rGetCellPopulation () const |
virtual void | SetupSourceTerms (TetrahedralMesh< DIM, DIM > &rCoarseMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr) |
virtual double | ComputeDuDtCoefficientFunction (const ChastePoint< DIM > &rX) |
virtual double | ComputeSourceTerm (const ChastePoint< DIM > &rX, double u, Element< DIM, DIM > *pElement=NULL) |
virtual double | ComputeSourceTermAtNode (const Node< DIM > &rNode, double u) |
virtual c_matrix< double, DIM, DIM > | ComputeDiffusionTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement=NULL) |
double | GetUptakeRateForElement (unsigned elementIndex) |
Public Member Functions inherited from AbstractLinearParabolicPde< DIM, DIM > | |
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=NULL)=0 |
Public Member Functions inherited from AbstractLinearPde< ELEMENT_DIM, SPACE_DIM > | |
AbstractLinearPde () | |
virtual | ~AbstractLinearPde () |
Protected Attributes | |
AbstractCellPopulation< DIM, DIM > & | mrCellPopulation |
double | mDuDtCoefficient |
double | mDiffusionCoefficient |
double | mSourceCoefficient |
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)) + k*u*rho(x),
where the scalars c, D and k are specified by the members mDuDtCoefficient, mDiffusionCoefficient and mSourceCoefficient, 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 | duDtCoefficient = 1.0 , |
||
double | diffusionCoefficient = 1.0 , |
||
double | sourceCoefficient = 0.0 |
||
) |
Constructor.
rCellPopulation | reference to the cell population |
duDtCoefficient | rate of reaction (defaults to 1.0) |
diffusionCoefficient | rate of diffusion (defaults to 1.0) |
sourceCoefficient | the source term coefficient (defaults to 0.0) |
Definition at line 40 of file AveragedSourceParabolicPde.cpp.
|
virtual |
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 129 of file AveragedSourceParabolicPde.cpp.
References AveragedSourceParabolicPde< DIM >::mDiffusionCoefficient.
|
virtual |
Overridden ComputeDuDtCoefficientFunction() method.
rX | the point in space at which the function c is computed |
Definition at line 104 of file AveragedSourceParabolicPde.cpp.
References AveragedSourceParabolicPde< DIM >::mDuDtCoefficient.
|
virtual |
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 110 of file AveragedSourceParabolicPde.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AveragedSourceParabolicPde< DIM >::mCellDensityOnCoarseElements, and AveragedSourceParabolicPde< DIM >::mSourceCoefficient.
|
virtual |
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 121 of file AveragedSourceParabolicPde.cpp.
References NEVER_REACHED.
double AveragedSourceParabolicPde< DIM >::GetUptakeRateForElement | ( | unsigned | elementIndex | ) |
elementIndex | the element we wish to return the uptake rate for |
Definition at line 135 of file AveragedSourceParabolicPde.cpp.
References EXPORT_TEMPLATE_CLASS_SAME_DIMS, and AveragedSourceParabolicPde< DIM >::mCellDensityOnCoarseElements.
const AbstractCellPopulation< DIM, DIM > & AveragedSourceParabolicPde< DIM >::rGetCellPopulation | ( | ) | const |
Definition at line 52 of file AveragedSourceParabolicPde.cpp.
References AveragedSourceParabolicPde< DIM >::mrCellPopulation.
|
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 >::mDiffusionCoefficient, AveragedSourceParabolicPde< DIM >::mDuDtCoefficient, and AveragedSourceParabolicPde< DIM >::mSourceCoefficient.
|
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 58 of file AveragedSourceParabolicPde.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), AveragedSourceParabolicPde< DIM >::mCellDensityOnCoarseElements, and AveragedSourceParabolicPde< DIM >::mrCellPopulation.
|
friend |
Needed for serialization.
Definition at line 73 of file AveragedSourceParabolicPde.hpp.
|
protected |
Vector of averaged cell densities on elements of the coarse mesh.
Definition at line 105 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::ComputeSourceTerm(), AveragedSourceParabolicPde< DIM >::GetUptakeRateForElement(), AveragedSourceParabolicPde< DIM >::serialize(), and AveragedSourceParabolicPde< DIM >::SetupSourceTerms().
|
protected |
Diffusion coefficient.
Definition at line 99 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::ComputeDiffusionTerm(), and AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
Coefficient of rate of change term.
Definition at line 96 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::ComputeDuDtCoefficientFunction(), and AveragedSourceParabolicPde< DIM >::serialize().
|
protected |
The cell population member.
Definition at line 93 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::rGetCellPopulation(), and AveragedSourceParabolicPde< DIM >::SetupSourceTerms().
|
protected |
Coefficient of the rate of uptake of the dependent variable by non-apoptotic cells.
Definition at line 102 of file AveragedSourceParabolicPde.hpp.
Referenced by AveragedSourceParabolicPde< DIM >::ComputeSourceTerm(), and AveragedSourceParabolicPde< DIM >::serialize().