PdeAndBoundaryConditions< DIM > Class Template Reference

#include <PdeAndBoundaryConditions.hpp>

Collaboration diagram for PdeAndBoundaryConditions< DIM >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 PdeAndBoundaryConditions (AbstractLinearEllipticPde< DIM, DIM > *pPde, AbstractBoundaryCondition< DIM > *pBoundaryCondition=NULL, bool isNeumannBoundaryCondition=true)
 ~PdeAndBoundaryConditions ()
AbstractLinearEllipticPde< DIM,
DIM > * 
GetPde ()
AbstractBoundaryCondition< DIM > * GetBoundaryCondition () const
Vec GetSolution ()
void SetSolution (Vec solution)
bool IsNeumannBoundaryCondition ()
bool HasAveragedSourcePde ()
void DestroySolution ()
void SetUpSourceTermsForAveragedSourcePde (TetrahedralMesh< DIM, DIM > *pMesh)

Private Attributes

AbstractLinearEllipticPde< DIM,
DIM > * 
mpPde
AbstractBoundaryCondition< DIM > * mpBoundaryCondition
bool mIsNeumannBoundaryCondition
Vec mCurrentSolution


Detailed Description

template<unsigned DIM>
class PdeAndBoundaryConditions< DIM >

A helper class for use in CellBasedSimulationWithPdes. The class contains a pointer to a linear elliptic PDE, which is to be solved on the domain defined by the cell population. The class also contains information describing the boundary condition that is to be imposed when solving the PDE. Currently we allow Neumann (imposed flux) or Dirichlet (imposed value) boundary conditions. The boundary condition may be constant on the boundary or vary spatially and/or temporally.

Definition at line 47 of file PdeAndBoundaryConditions.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
PdeAndBoundaryConditions< DIM >::PdeAndBoundaryConditions ( AbstractLinearEllipticPde< DIM, DIM > *  pPde,
AbstractBoundaryCondition< DIM > *  pBoundaryCondition = NULL,
bool  isNeumannBoundaryCondition = true 
) [inline]

Constructor.

Parameters:
pPde A pointer to a linear elliptic PDE object
pBoundaryCondition A pointer to an abstract boundary condition (defaults to NULL, corresponding to a constant boundary condition with value zero)
isNeumannBoundaryCondition Whether the boundary condition is Neumann (defaults to true)

Definition at line 32 of file PdeAndBoundaryConditions.cpp.

template<unsigned DIM>
PdeAndBoundaryConditions< DIM >::~PdeAndBoundaryConditions (  )  [inline]

Destructor.

Definition at line 43 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::mCurrentSolution.


Member Function Documentation

template<unsigned DIM>
AbstractLinearEllipticPde< DIM, DIM > * PdeAndBoundaryConditions< DIM >::GetPde (  )  [inline]

template<unsigned DIM>
AbstractBoundaryCondition< DIM > * PdeAndBoundaryConditions< DIM >::GetBoundaryCondition (  )  const [inline]

template<unsigned DIM>
Vec PdeAndBoundaryConditions< DIM >::GetSolution (  )  [inline]

template<unsigned DIM>
void PdeAndBoundaryConditions< DIM >::SetSolution ( Vec  solution  )  [inline]

Set mCurrentSolution.

Parameters:
solution the current solution

Definition at line 70 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::mCurrentSolution.

Referenced by CellBasedSimulationWithPdes< DIM >::SolvePde(), and CellBasedSimulationWithPdes< DIM >::SolvePdeUsingCoarseMesh().

template<unsigned DIM>
bool PdeAndBoundaryConditions< DIM >::IsNeumannBoundaryCondition (  )  [inline]

template<unsigned DIM>
bool PdeAndBoundaryConditions< DIM >::HasAveragedSourcePde (  )  [inline]

template<unsigned DIM>
void PdeAndBoundaryConditions< DIM >::DestroySolution (  )  [inline]

template<unsigned DIM>
void PdeAndBoundaryConditions< DIM >::SetUpSourceTermsForAveragedSourcePde ( TetrahedralMesh< DIM, DIM > *  pMesh  )  [inline]

In the case where mpPde is of type AveragedSourcePde, set the source terms using the information in the given mesh.

Parameters:
pMesh Pointer to a tetrahedral mesh

Definition at line 97 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::HasAveragedSourcePde(), and PdeAndBoundaryConditions< DIM >::mpPde.

Referenced by CellBasedSimulationWithPdes< DIM >::SolvePdeUsingCoarseMesh().


Member Data Documentation

template<unsigned DIM>
AbstractLinearEllipticPde<DIM,DIM>* PdeAndBoundaryConditions< DIM >::mpPde [private]

template<unsigned DIM>
AbstractBoundaryCondition<DIM>* PdeAndBoundaryConditions< DIM >::mpBoundaryCondition [private]

AbstractBoundaryCondition<SPACE_DIM>

Definition at line 59 of file PdeAndBoundaryConditions.hpp.

Referenced by PdeAndBoundaryConditions< DIM >::GetBoundaryCondition().

template<unsigned DIM>
bool PdeAndBoundaryConditions< DIM >::mIsNeumannBoundaryCondition [private]

Whether the boundary condition is Neumann (false corresponds to a Dirichlet boundary condition).

Definition at line 65 of file PdeAndBoundaryConditions.hpp.

Referenced by PdeAndBoundaryConditions< DIM >::IsNeumannBoundaryCondition().

template<unsigned DIM>
Vec PdeAndBoundaryConditions< DIM >::mCurrentSolution [private]

Current solution to the PDE problem, for use as an initial guess when solving at the next time step.

Definition at line 71 of file PdeAndBoundaryConditions.hpp.

Referenced by PdeAndBoundaryConditions< DIM >::DestroySolution(), PdeAndBoundaryConditions< DIM >::GetSolution(), PdeAndBoundaryConditions< DIM >::SetSolution(), and PdeAndBoundaryConditions< DIM >::~PdeAndBoundaryConditions().


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

Generated on Tue May 31 14:34:03 2011 for Chaste by  doxygen 1.5.5