Chaste
Release::2018.1
|
#include <VolumeDependentAveragedSourceEllipticPde.hpp>
Public Member Functions | |
VolumeDependentAveragedSourceEllipticPde (AbstractCellPopulation< DIM > &rCellPopulation, double coefficient=0.0) | |
void | SetupSourceTerms (TetrahedralMesh< DIM, DIM > &rCoarseMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr) |
Public Member Functions inherited from AveragedSourceEllipticPde< DIM > | |
AveragedSourceEllipticPde (AbstractCellPopulation< DIM > &rCellPopulation, double sourceCoefficient=0.0, double diffusionCoefficient=1.0) | |
const AbstractCellPopulation < DIM > & | rGetCellPopulation () const |
double | GetCoefficient () const |
double | ComputeConstantInUSourceTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement) |
double | ComputeLinearInUCoeffInSourceTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement) |
c_matrix< double, DIM, DIM > | ComputeDiffusionTerm (const ChastePoint< DIM > &rX) |
double | GetUptakeRateForElement (unsigned elementIndex) |
Public Member Functions inherited from AbstractLinearEllipticPde< DIM, DIM > | |
AbstractLinearEllipticPde () | |
virtual | ~AbstractLinearEllipticPde () |
virtual double | ComputeConstantInUSourceTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0 |
virtual double | ComputeLinearInUCoeffInSourceTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0 |
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > | ComputeDiffusionTerm (const ChastePoint< SPACE_DIM > &rX)=0 |
virtual double | ComputeConstantInUSourceTermAtNode (const Node< SPACE_DIM > &rNode) |
virtual double | ComputeLinearInUCoeffInSourceTermAtNode (const Node< SPACE_DIM > &rNode) |
Public Member Functions inherited from AbstractLinearPde< ELEMENT_DIM, SPACE_DIM > | |
AbstractLinearPde () | |
virtual | ~AbstractLinearPde () |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Private Attributes | |
NodeBasedCellPopulation< DIM > * | mpStaticCastCellPopulation |
Friends | |
class | TestCellBasedEllipticPdes |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from AveragedSourceEllipticPde< DIM > | |
AbstractCellPopulation< DIM > & | mrCellPopulation |
double | mSourceCoefficient |
double | mDiffusionCoefficient |
std::vector< double > | mCellDensityOnCoarseElements |
An elliptic PDE to be solved numerically using the finite element method, for coupling to a cell-based simulation.
This class inherits from AveragedSourceEllipticPde and may only be used with a NodeBasedCellPopulation, since it assumes that each cell is associated with a Node object.
The PDE takes the form
Grad.(D*Grad(u)) + k*u*rho(x) = 0,
where the scalars D and k are specified by the members 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 a weighted sum of the non-apoptotic cells whose centres lie in each finite element containing that point, scaled by the area of that element. The weighting assigned to each cell is given by the square of the radius of the associated node, which is accessed using the GetRadius() method.
Definition at line 74 of file VolumeDependentAveragedSourceEllipticPde.hpp.
VolumeDependentAveragedSourceEllipticPde< DIM >::VolumeDependentAveragedSourceEllipticPde | ( | AbstractCellPopulation< DIM > & | rCellPopulation, |
double | coefficient = 0.0 |
||
) |
Constructor.
rCellPopulation | reference to the cell population |
coefficient | the coefficient of consumption of nutrient by cells (defaults to 0.0) |
Definition at line 40 of file VolumeDependentAveragedSourceEllipticPde.cpp.
References VolumeDependentAveragedSourceEllipticPde< DIM >::mpStaticCastCellPopulation, and AveragedSourceEllipticPde< DIM >::mrCellPopulation.
|
inlineprivate |
Serialize the PDE and its member variables.
archive | the archive |
version | the current version of this class |
Definition at line 89 of file VolumeDependentAveragedSourceEllipticPde.hpp.
|
virtual |
Set up the source terms.
rCoarseMesh | reference to the coarse mesh |
pCellPdeElementMap | optional pointer to the map from cells to coarse elements |
Reimplemented from AveragedSourceEllipticPde< DIM >.
Definition at line 48 of file VolumeDependentAveragedSourceEllipticPde.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), and Node< SPACE_DIM >::GetRadius().
|
friend |
Needed for serialization.
Definition at line 81 of file VolumeDependentAveragedSourceEllipticPde.hpp.
|
private |
Static cast of the NodeBasedCellPopulation.
Definition at line 95 of file VolumeDependentAveragedSourceEllipticPde.hpp.
Referenced by VolumeDependentAveragedSourceEllipticPde< DIM >::VolumeDependentAveragedSourceEllipticPde().