Chaste  Release::2017.1
CellwiseSourceParabolicPde< DIM > Class Template Reference

#include <CellwiseSourceParabolicPde.hpp>

+ Inheritance diagram for CellwiseSourceParabolicPde< DIM >:
+ Collaboration diagram for CellwiseSourceParabolicPde< DIM >:

Public Member Functions

 CellwiseSourceParabolicPde (AbstractCellPopulation< DIM, DIM > &rCellPopulation, double duDtCoefficient=1.0, double diffusionCoefficient=1.0, double sourceCoefficient=0.0)
 
const AbstractCellPopulation< DIM > & rGetCellPopulation () const
 
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)
 
- 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
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Friends

class TestCellBasedParabolicPdes
 
class boost::serialization::access
 

Detailed Description

template<unsigned DIM>
class CellwiseSourceParabolicPde< DIM >

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.

For a node of the finite element mesh with location x, the function rho(x) equals one if there is a non-apoptotic cell associated with x, and zero otherwise. Here, 'associated with' takes a different meaning for each cell population class, and is encoded in the method IsPdeNodeAssociatedWithNonApoptoticCell().

Definition at line 63 of file CellwiseSourceParabolicPde.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
CellwiseSourceParabolicPde< DIM >::CellwiseSourceParabolicPde ( AbstractCellPopulation< DIM, DIM > &  rCellPopulation,
double  duDtCoefficient = 1.0,
double  diffusionCoefficient = 1.0,
double  sourceCoefficient = 0.0 
)

Constructor.

Parameters
rCellPopulationreference to the cell population
duDtCoefficientrate of reaction (defaults to 1.0)
diffusionCoefficientrate of diffusion (defaults to 1.0)
sourceCoefficientthe source term coefficient (defaults to 0.0)

Definition at line 39 of file CellwiseSourceParabolicPde.cpp.

Member Function Documentation

template<unsigned DIM>
c_matrix< double, DIM, DIM > CellwiseSourceParabolicPde< DIM >::ComputeDiffusionTerm ( const ChastePoint< DIM > &  rX,
Element< DIM, DIM > *  pElement = NULL 
)
virtual

Overridden ComputeDiffusionTerm() method.

Parameters
rXthe point in space at which the diffusion term is computed
pElementthe mesh element that x is contained in (optional; defaults to NULL).
Returns
a matrix.

Definition at line 86 of file CellwiseSourceParabolicPde.cpp.

References EXPORT_TEMPLATE_CLASS_SAME_DIMS, and CellwiseSourceParabolicPde< DIM >::mDiffusionCoefficient.

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeDuDtCoefficientFunction ( const ChastePoint< DIM > &  rX)
virtual

Overridden ComputeDuDtCoefficientFunction() method.

Returns
the function c(x) in "c(x) du/dt = Grad.(DiffusionTerm(x)*Grad(u))+LinearSourceTerm(x)+NonlinearSourceTerm(x, u)"
Parameters
rXthe point in space at which the function c is computed

Definition at line 57 of file CellwiseSourceParabolicPde.cpp.

References CellwiseSourceParabolicPde< DIM >::mDuDtCoefficient.

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeSourceTerm ( const ChastePoint< DIM > &  rX,
double  u,
Element< DIM, DIM > *  pElement = NULL 
)
virtual

Overridden ComputeSourceTerm() method. That is never called.

Returns
computed source term.
Parameters
rXthe point in space at which the nonlinear source term is computed
uthe value of the dependent variable at the point
pElementthe mesh element that x is contained in (optional; defaults to NULL).

Definition at line 64 of file CellwiseSourceParabolicPde.cpp.

References NEVER_REACHED.

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeSourceTermAtNode ( const Node< DIM > &  rNode,
double  u 
)
virtual

Overridden ComputeSourceTermAtNode() method.

Note that for CellWise Parabolic PDEs used with CellBasedParabolicPdeSolver this method returns the coefficient of the linear component of the source term.

Returns
computed source term at a node.
Parameters
rNodethe node at which the nonlinear source term is computed
uthe value of the dependent variable at the node

Definition at line 72 of file CellwiseSourceParabolicPde.cpp.

References Node< SPACE_DIM >::GetIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsPdeNodeAssociatedWithNonApoptoticCell(), CellwiseSourceParabolicPde< DIM >::mrCellPopulation, and CellwiseSourceParabolicPde< DIM >::mSourceCoefficient.

template<unsigned DIM>
const AbstractCellPopulation< DIM, DIM > & CellwiseSourceParabolicPde< DIM >::rGetCellPopulation ( ) const
Returns
const reference to the cell population (used in archiving).

Definition at line 51 of file CellwiseSourceParabolicPde.cpp.

References CellwiseSourceParabolicPde< DIM >::mrCellPopulation.

template<unsigned DIM>
template<class Archive >
void CellwiseSourceParabolicPde< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the PDE and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 78 of file CellwiseSourceParabolicPde.hpp.

References CellwiseSourceParabolicPde< DIM >::mDiffusionCoefficient, CellwiseSourceParabolicPde< DIM >::mDuDtCoefficient, and CellwiseSourceParabolicPde< DIM >::mSourceCoefficient.

Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 70 of file CellwiseSourceParabolicPde.hpp.

Member Data Documentation

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mDiffusionCoefficient
protected
template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mDuDtCoefficient
protected
template<unsigned DIM>
AbstractCellPopulation<DIM, DIM>& CellwiseSourceParabolicPde< DIM >::mrCellPopulation
protected
template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mSourceCoefficient
protected

Coefficient of the rate of uptake of the dependent variable by non-apoptotic cells.

Definition at line 98 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::ComputeSourceTermAtNode(), and CellwiseSourceParabolicPde< DIM >::serialize().


The documentation for this class was generated from the following files: