CellBasedSimulationWithPdesAssembler< DIM > Class Template Reference

#include <CellBasedSimulationWithPdesAssembler.hpp>

Inheritance diagram for CellBasedSimulationWithPdesAssembler< DIM >:

Inheritance graph
[legend]
Collaboration diagram for CellBasedSimulationWithPdesAssembler< DIM >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CellBasedSimulationWithPdesAssembler (TetrahedralMesh< DIM, DIM > *pMesh, AbstractLinearEllipticPde< DIM, DIM > *pPde, BoundaryConditionsContainer< DIM, DIM, 1 > *pBoundaryConditions, unsigned numQuadPoints=2)
 ~CellBasedSimulationWithPdesAssembler ()

Protected Member Functions

virtual c_vector< double,
1 *(DIM+1)> 
ComputeVectorTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, DIM > &rGradU, Element< DIM, DIM > *pElement)
virtual c_matrix< double,
1 *(DIM+1), 1 *(DIM+1)> 
ComputeMatrixTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, DIM > &rGradU, Element< DIM, DIM > *pElement)
void ResetInterpolatedQuantities ()
void IncrementInterpolatedQuantities (double phiI, const Node< DIM > *pNode)
void InitialiseForSolve (Vec initialSolution)

Private Attributes

double mConstantInUSourceTerm
double mLinearInUCoeffInSourceTerm


Detailed Description

template<unsigned DIM>
class CellBasedSimulationWithPdesAssembler< DIM >

CellBasedSimulationWithPdesAssembler

This is a purpose made elliptic assembler that interpolates the source terms from node onto gauss points, as for a cell-based simulation with PDEs the source will only be known at the cells (nodes), not the gauss points.

Definition at line 47 of file CellBasedSimulationWithPdesAssembler.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
CellBasedSimulationWithPdesAssembler< DIM >::CellBasedSimulationWithPdesAssembler ( TetrahedralMesh< DIM, DIM > *  pMesh,
AbstractLinearEllipticPde< DIM, DIM > *  pPde,
BoundaryConditionsContainer< DIM, DIM, 1 > *  pBoundaryConditions,
unsigned  numQuadPoints = 2 
) [inline]

Constructor

Parameters:
pMesh pointer to the mesh
pPde pointer to the PDE
pBoundaryConditions pointer to the boundary conditions
numQuadPoints number of quadrature points (defaults to 2)

Definition at line 36 of file CellBasedSimulationWithPdesAssembler.cpp.

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

Destructor.

Definition at line 45 of file CellBasedSimulationWithPdesAssembler.cpp.


Member Function Documentation

template<unsigned DIM>
c_vector< double, 1 *(DIM+1)> CellBasedSimulationWithPdesAssembler< DIM >::ComputeVectorTerm ( c_vector< double, DIM+1 > &  rPhi,
c_matrix< double, DIM, DIM+1 > &  rGradPhi,
ChastePoint< DIM > &  rX,
c_vector< double, 1 > &  rU,
c_matrix< double, 1, DIM > &  rGradU,
Element< DIM, DIM > *  pElement 
) [inline, protected, virtual]

The SimpleLinearEllipticSolver version of this method is overloaded using the interpolated source term.

Parameters:
rPhi 
rGradPhi 
rX 
rU 
rGradU 
pElement 

Definition at line 50 of file CellBasedSimulationWithPdesAssembler.cpp.

References CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm.

template<unsigned DIM>
c_matrix< double, 1 *(DIM+1), 1 *(DIM+1)> CellBasedSimulationWithPdesAssembler< DIM >::ComputeMatrixTerm ( c_vector< double, DIM+1 > &  rPhi,
c_matrix< double, DIM, DIM+1 > &  rGradPhi,
ChastePoint< DIM > &  rX,
c_vector< double, 1 > &  rU,
c_matrix< double, 1, DIM > &  rGradU,
Element< DIM, DIM > *  pElement 
) [inline, protected, virtual]

The SimpleLinearEllipticSolver version of this method is overloaded using the interpolated source term.

Parameters:
rPhi The basis functions, rPhi(i) = phi_i, i=1..numBases
rGradPhi Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i)
rX The point in space
rU The unknown as a vector, u(i) = u_i
rGradU The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j)
pElement Pointer to the element

Definition at line 62 of file CellBasedSimulationWithPdesAssembler.cpp.

References CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm, and SimpleLinearEllipticSolver< DIM, DIM >::mpEllipticPde.

template<unsigned DIM>
void CellBasedSimulationWithPdesAssembler< DIM >::ResetInterpolatedQuantities ( void   )  [inline, protected, virtual]

template<unsigned DIM>
void CellBasedSimulationWithPdesAssembler< DIM >::IncrementInterpolatedQuantities ( double  phiI,
const Node< DIM > *  pNode 
) [inline, protected]

template<unsigned DIM>
void CellBasedSimulationWithPdesAssembler< DIM >::InitialiseForSolve ( Vec  initialSolution  )  [inline, protected, virtual]

Create the linear system object if it hasn't been already. Can use an initial solution as PETSc template, or base it on the mesh size.

Parameters:
initialSolution an initial guess

Reimplemented from SimpleLinearEllipticSolver< DIM, DIM >.

Definition at line 99 of file CellBasedSimulationWithPdesAssembler.cpp.

References SimpleLinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpLinearSystem, and LinearSystem::SetMatrixIsSymmetric().


Member Data Documentation

template<unsigned DIM>
double CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm [private]

template<unsigned DIM>
double CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm [private]


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

Generated on Mon Nov 1 12:36:20 2010 for Chaste by  doxygen 1.5.5