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=NULL, AbstractBoundaryCondition< DIM > *pBoundaryCondition=NULL, bool isNeumannBoundaryCondition=true, Vec solution=NULL, bool deleteMemberPointersInDestructor=false)
 ~PdeAndBoundaryConditions ()
AbstractLinearEllipticPde< DIM,
DIM > * 
GetPde ()
AbstractBoundaryCondition< DIM > * GetBoundaryCondition () const
Vec GetSolution ()
Vec GetSolution () const
void SetSolution (Vec solution)
bool IsNeumannBoundaryCondition ()
bool HasAveragedSourcePde ()
void DestroySolution ()
void SetUpSourceTermsForAveragedSourcePde (TetrahedralMesh< DIM, DIM > *pMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=NULL)

Private Member Functions

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

Private Attributes

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

Friends

class TestPdeAndBoundaryConditions
class boost::serialization::access

Detailed Description

template<unsigned DIM>
class PdeAndBoundaryConditions< DIM >

A helper class for use in cell-based simulations with PDEs. 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. In cell-based simulations with PDEs, one or more of these objects are accessed via the CellBasedHandler class.

Definition at line 52 of file PdeAndBoundaryConditions.hpp.


Constructor & Destructor Documentation

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

Constructor.

Parameters:
pPde A pointer to a linear elliptic PDE object (defaults to NULL)
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)
solution A solution vector (defaults to NULL)
deleteMemberPointersInDestructor whether to delete member pointers in the destructor (defaults to false)

Definition at line 32 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::mSolution.

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

Member Function Documentation

template<unsigned DIM>
void PdeAndBoundaryConditions< DIM >::DestroySolution (  )  [inline]
template<unsigned DIM>
AbstractBoundaryCondition< DIM > * PdeAndBoundaryConditions< DIM >::GetBoundaryCondition (  )  const [inline]
template<unsigned DIM>
AbstractLinearEllipticPde< DIM, DIM > * PdeAndBoundaryConditions< DIM >::GetPde (  )  [inline]
template<unsigned DIM>
Vec PdeAndBoundaryConditions< DIM >::GetSolution (  )  const [inline]
Returns:
mSolution (used in archiving)

Definition at line 81 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::mSolution.

template<unsigned DIM>
Vec PdeAndBoundaryConditions< DIM >::GetSolution (  )  [inline]
template<unsigned DIM>
bool PdeAndBoundaryConditions< DIM >::HasAveragedSourcePde (  )  [inline]
template<unsigned DIM>
bool PdeAndBoundaryConditions< DIM >::IsNeumannBoundaryCondition (  )  [inline]
template<unsigned DIM>
template<class Archive >
void PdeAndBoundaryConditions< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Serialize the PDE object.

Parameters:
archive the archive
version the current version of this class

Definition at line 67 of file PdeAndBoundaryConditions.hpp.

References PdeAndBoundaryConditions< DIM >::mIsNeumannBoundaryCondition, PdeAndBoundaryConditions< DIM >::mpBoundaryCondition, and PdeAndBoundaryConditions< DIM >::mpPde.

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

Set mSolution.

Parameters:
solution the current solution

Definition at line 87 of file PdeAndBoundaryConditions.cpp.

References PdeAndBoundaryConditions< DIM >::mSolution.

Referenced by CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile().

template<unsigned DIM>
void PdeAndBoundaryConditions< DIM >::SetUpSourceTermsForAveragedSourcePde ( TetrahedralMesh< DIM, DIM > *  pMesh,
std::map< CellPtr, unsigned > *  pCellPdeElementMap = NULL 
) [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
pCellPdeElementMap map between cells and elements, from CellBasedPdeHandler

Definition at line 114 of file PdeAndBoundaryConditions.cpp.

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

Referenced by CellBasedPdeHandler< DIM >::SolvePdeAndWriteResultsToFile().


Friends And Related Function Documentation

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

Needed for serialization.

Definition at line 59 of file PdeAndBoundaryConditions.hpp.


Member Data Documentation

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

Whether to delete member pointers in the destructor (used in archiving).

Definition at line 88 of file PdeAndBoundaryConditions.hpp.

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

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

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

Definition at line 82 of file PdeAndBoundaryConditions.hpp.

Referenced by PdeAndBoundaryConditions< DIM >::IsNeumannBoundaryCondition(), and PdeAndBoundaryConditions< DIM >::serialize().

template<unsigned DIM>
AbstractBoundaryCondition<DIM>* PdeAndBoundaryConditions< DIM >::mpBoundaryCondition [private]
template<unsigned DIM>
AbstractLinearEllipticPde<DIM,DIM>* PdeAndBoundaryConditions< DIM >::mpPde [private]
template<unsigned DIM>
Vec PdeAndBoundaryConditions< DIM >::mSolution [private]

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

Definition at line 85 of file PdeAndBoundaryConditions.hpp.

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


The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:07:12 2011 for Chaste by  doxygen 1.6.3