Chaste
Build::
|
#include <AbstractDiscreteContinuumNonLinearEllipticPde.hpp>
Public Member Functions | |
AbstractDiscreteContinuumNonLinearEllipticPde () | |
virtual | ~AbstractDiscreteContinuumNonLinearEllipticPde () |
void | AddDiscreteSource (boost::shared_ptr< DiscreteSource< SPACE_DIM > > pDiscreteSource) |
virtual units::quantity< unit::concentration_flow_rate > | ComputeConstantInUSourceTerm (unsigned gridIndex=0) |
units::quantity< unit::diffusivity > | ComputeIsotropicDiffusionTerm () |
virtual units::quantity< unit::rate > | ComputeLinearInUCoeffInSourceTerm (unsigned gridIndex=0) |
virtual units::quantity< unit::concentration_flow_rate > | ComputeNonlinearSourceTerm (unsigned gridIndex, units::quantity< unit::concentration > u)=0 |
virtual units::quantity< unit::rate > | ComputeNonlinearSourceTermPrime (unsigned gridIndex, units::quantity< unit::concentration > u)=0 |
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > | GetDiscreteSources () |
void | SetContinuumConstantInUTerm (units::quantity< unit::concentration_flow_rate > constantInUTerm) |
void | SetIsotropicDiffusionConstant (units::quantity< unit::diffusivity > diffusivity) |
void | SetContinuumLinearInUTerm (units::quantity< unit::rate > linearInUTerm) |
void | SetRegularGrid (boost::shared_ptr< RegularGrid< SPACE_DIM > > pRegularGrid) |
void | SetMesh (boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > > pMesh) |
void | SetUseRegularGrid (bool useRegularGrid) |
virtual void | UpdateDiscreteSourceStrengths () |
Protected Attributes | |
c_matrix< double, SPACE_DIM, SPACE_DIM > | mDiffusionTensor |
units::quantity< unit::diffusivity > | mDiffusivity |
units::quantity< unit::concentration_flow_rate > | mConstantInUTerm |
units::quantity< unit::rate > | mLinearInUTerm |
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > | mDiscreteSources |
boost::shared_ptr< RegularGrid< SPACE_DIM > > | mpRegularGrid |
boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > > | mpMesh |
bool | mUseRegularGrid |
std::vector< units::quantity< unit::concentration_flow_rate > > | mDiscreteConstantSourceStrengths |
std::vector< units::quantity< unit::rate > > | mDiscreteLinearSourceStrengths |
Non-Linear Elliptic PDE with both continuum and discrete source terms. There is repition with LinearSteadyStateDiffusionReactionPde to avoid multiple inheritance.
Definition at line 55 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AbstractDiscreteContinuumNonLinearEllipticPde | ( | ) |
Constructor
Definition at line 40 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusionTensor, and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusivity.
|
virtual |
Desctructor
Definition at line 57 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AddDiscreteSource | ( | boost::shared_ptr< DiscreteSource< SPACE_DIM > > | pDiscreteSource | ) |
Add a discrete source to the pde
pDiscreteSource | a pointer the discrete source |
Definition at line 63 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources.
|
virtual |
Abstract method to return the constant in U contribution to the regular grid solvers
gridIndex | grid index |
Reimplemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.
Definition at line 75 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mConstantInUTerm, and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteConstantSourceStrengths.
units::quantity< unit::diffusivity > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeIsotropicDiffusionTerm | ( | ) |
Return the diffusion constant for isotropic diffusion
Definition at line 69 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusivity.
|
virtual |
Abstract method to return the linear in U contribution to the regular grid solvers
gridIndex | grid index |
Reimplemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.
Definition at line 92 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteLinearSourceStrengths, and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mLinearInUTerm.
|
pure virtual |
Abstract method to return the non linear contribution to the regular grid solvers
gridIndex | grid index |
u | the concentration |
Implemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.
|
pure virtual |
Abstract method to return the non linear prime contribution to the regular grid solvers
gridIndex | grid index |
u | the concentration |
Implemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::GetDiscreteSources | ( | ) |
Return the collection of discrete sources
Definition at line 109 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumConstantInUTerm | ( | units::quantity< unit::concentration_flow_rate > | constantInUTerm | ) |
Set the continuum constant in U term
constantInUTerm | the continuum constant in U term |
Definition at line 115 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mConstantInUTerm.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumLinearInUTerm | ( | units::quantity< unit::rate > | linearInUTerm | ) |
Set the linear constant in U term
linearInUTerm | the linear constant in U term |
Definition at line 128 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mLinearInUTerm.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetIsotropicDiffusionConstant | ( | units::quantity< unit::diffusivity > | diffusivity | ) |
Set the isotropic diffusion constant
diffusivity | the isotropic diffusion constant |
Definition at line 121 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusionTensor, and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusivity.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetMesh | ( | boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > > | pMesh | ) |
Set the finite element mesh
pMesh | the finite element mesh |
Definition at line 140 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpMesh.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetRegularGrid | ( | boost::shared_ptr< RegularGrid< SPACE_DIM > > | pRegularGrid | ) |
Set the regular grid
pRegularGrid | the regular grid |
Definition at line 134 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpRegularGrid.
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetUseRegularGrid | ( | bool | useRegularGrid | ) |
Set whether to use a regular grid
useRegularGrid | whether to use a regular grid |
Definition at line 146 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mUseRegularGrid.
|
virtual |
Update the discrete source strengths
Definition at line 152 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.
References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteConstantSourceStrengths, AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteLinearSourceStrengths, AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources, AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpMesh, AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpRegularGrid, and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mUseRegularGrid.
|
protected |
The continuum constant in U term, discrete terms are added to this.
Definition at line 76 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeConstantInUSourceTerm(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumConstantInUTerm().
|
protected |
The diffusion tensor
Definition at line 66 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AbstractDiscreteContinuumNonLinearEllipticPde(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetIsotropicDiffusionConstant().
|
protected |
The diffusion constant for isotropic diffusion
Definition at line 71 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AbstractDiscreteContinuumNonLinearEllipticPde(), AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeIsotropicDiffusionTerm(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetIsotropicDiffusionConstant().
|
protected |
The constant source strengths for each point on the grid or mesh
Definition at line 106 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeConstantInUSourceTerm(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().
|
protected |
The linear source strengths for each point on the grid or mesh
Definition at line 111 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeLinearInUCoeffInSourceTerm(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().
|
protected |
The collection of discrete sources for addition to the continuum terms
Definition at line 86 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AddDiscreteSource(), AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::GetDiscreteSources(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().
|
protected |
The continuum linear in U term, discrete terms are added to this.
Definition at line 81 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeLinearInUCoeffInSourceTerm(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumLinearInUTerm().
|
protected |
The mesh for solvers using finite element meshes
Definition at line 96 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetMesh(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().
|
protected |
The grid for solvers using regular grids
Definition at line 91 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetRegularGrid(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().
|
protected |
Whether to use a regular grid or mesh for discrete source calculations
Definition at line 101 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.
Referenced by AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetUseRegularGrid(), and AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::UpdateDiscreteSourceStrengths().