Chaste  Build::
AbstractRegularGridDiscreteContinuumSolver< DIM > Class Template Referenceabstract

#include <AbstractRegularGridDiscreteContinuumSolver.hpp>

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

Public Member Functions

 AbstractRegularGridDiscreteContinuumSolver ()
 
virtual ~AbstractRegularGridDiscreteContinuumSolver ()
 
boost::shared_ptr< RegularGrid< DIM > > GetGrid ()
 
virtual std::vector< units::quantity< unit::concentration > > GetConcentrations (const std::vector< DimensionalChastePoint< DIM > > &rSamplePoints)
 
virtual std::vector< units::quantity< unit::concentration > > GetConcentrations (boost::shared_ptr< RegularGrid< DIM > > pGrid)
 
virtual std::vector< units::quantity< unit::concentration > > GetConcentrations (boost::shared_ptr< DiscreteContinuumMesh< DIM > > pMesh)
 
virtual std::vector< double > GetSolution (const std::vector< DimensionalChastePoint< DIM > > &rSamplePoints)
 
virtual std::vector< double > GetSolution (boost::shared_ptr< RegularGrid< DIM > > pGrid)
 
virtual std::vector< double > GetSolution (boost::shared_ptr< DiscreteContinuumMesh< DIM > > pMesh)
 
virtual vtkSmartPointer< vtkImageData > GetVtkSolution ()
 
void SetGrid (boost::shared_ptr< RegularGrid< DIM > > pRegularGrid)
 
virtual void Setup ()
 
virtual void UpdateCellData ()
 
virtual void UpdateSolution (std::vector< double > &rData)
 
virtual void UpdateSolution (std::vector< units::quantity< unit::concentration > > &rData)
 
virtual void Update ()
 
virtual void Solve ()=0
 
virtual void Write ()
 
- Public Member Functions inherited from AbstractDiscreteContinuumSolver< DIM >
 AbstractDiscreteContinuumSolver ()
 
virtual ~AbstractDiscreteContinuumSolver ()
 
void AddBoundaryCondition (boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > pBoundaryCondition)
 
bool CellPopulationIsSet ()
 
virtual std::vector< units::quantity< unit::concentration > > GetConcentrations ()
 
const std::string & GetLabel ()
 
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > GetNonLinearPde ()
 
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > GetPde ()
 
units::quantity< unit::concentration > GetReferenceConcentration ()
 
virtual std::vector< double > GetSolution ()
 
bool HasRegularGrid ()
 
bool HasUnstructuredGrid ()
 
void SetCellPopulation (AbstractCellPopulation< DIM > &rCellPopulation, units::quantity< unit::length > cellPopulationReferenceLength, units::quantity< unit::concentration > cellPopulationReferenceConcentration)
 
void SetFileHandler (boost::shared_ptr< OutputFileHandler > pOutputFileHandler)
 
void SetFileName (const std::string &rFilename)
 
void SetLabel (const std::string &rLabel)
 
void SetPde (boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > pPde)
 
void SetNonLinearPde (boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > pPde)
 
void SetReferenceConcentration (units::quantity< unit::concentration > referenceConcentration)
 
void SetVesselNetwork (boost::shared_ptr< VesselNetwork< DIM > > pNetwork)
 
void SetWriteSolution (bool write=true)
 
virtual void UpdateSolution (const std::vector< double > &rData)
 
virtual void UpdateSolution (const std::vector< units::quantity< unit::concentration > > &rData)
 

Protected Attributes

vtkSmartPointer< vtkImageData > mpVtkSolution
 
boost::shared_ptr< RegularGrid< DIM > > mpRegularGrid
 
- Protected Attributes inherited from AbstractDiscreteContinuumSolver< DIM >
boost::shared_ptr< VesselNetwork< DIM > > mpNetwork
 
AbstractCellPopulation< DIM > * mpCellPopulation
 
units::quantity< unit::length > mCellPopulationReferenceLength
 
units::quantity< unit::concentration > mCellPopulationReferenceConcentration
 
boost::shared_ptr< OutputFileHandler > mpOutputFileHandler
 
std::string mFilename
 
std::string mLabel
 
bool IsSetupForSolve
 
bool mWriteSolution
 
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > mpPde
 
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > mpNonLinearPde
 
std::vector< boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > > mBoundaryConditions
 
units::quantity< unit::concentration > mReferenceConcentration
 
std::vector< double > mSolution
 
std::vector< units::quantity< unit::concentration > > mConcentrations
 
bool mHasRegularGrid
 
bool mHasUnstructuredGrid
 

Detailed Description

template<unsigned DIM>
class AbstractRegularGridDiscreteContinuumSolver< DIM >

An abstract solver class for DiscreteContinuum continuum-discrete problems using structured grids. Concrete classes can solve PDEs or perform other computations based on interpolation of discrete entities (points/cells, lines/vessels) onto structured grids.

Definition at line 56 of file AbstractRegularGridDiscreteContinuumSolver.hpp.

Constructor & Destructor Documentation

Destructor

Definition at line 57 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

Member Function Documentation

template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations ( const std::vector< DimensionalChastePoint< DIM > > &  rSamplePoints)
virtual
template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations ( boost::shared_ptr< RegularGrid< DIM > >  pGrid)
virtual

Return the value of the field at the requested points

Parameters
pGridthe sampling grid
Returns
the value of the field ordered according to grid order

Implements AbstractDiscreteContinuumSolver< DIM >.

Definition at line 120 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations(), and AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.

template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations ( boost::shared_ptr< DiscreteContinuumMesh< DIM > >  pMesh)
virtual

Return the value of the field on the nodes of the input mesh

Parameters
pMeshthe mesh from which nodes are sampled
Returns
the value of the field ordered according to mesh node ordering

Implements AbstractDiscreteContinuumSolver< DIM >.

Definition at line 133 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations().

template<unsigned DIM>
boost::shared_ptr< RegularGrid< DIM > > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetGrid ( )

Return the grid

Returns
a pointer to the structured grid

Definition at line 63 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.

Referenced by FiniteDifferenceSolver< DIM >::Solve().

template<unsigned DIM>
std::vector< double > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution ( const std::vector< DimensionalChastePoint< DIM > > &  rSamplePoints)
virtual

Return the value of the field at the requested points

Parameters
rSamplePointsthe points for sampling
Returns
the value of the field ordered according to input point order

Implements AbstractDiscreteContinuumSolver< DIM >.

Definition at line 139 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().

template<unsigned DIM>
std::vector< double > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution ( boost::shared_ptr< RegularGrid< DIM > >  pGrid)
virtual

Return the value of the field at all points on the supplied grid

Parameters
pGridthe grid to be sampled
Returns
the value of the field ordered according to input point order

Implements AbstractDiscreteContinuumSolver< DIM >.

Definition at line 186 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetSolution(), and AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.

template<unsigned DIM>
std::vector< double > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution ( boost::shared_ptr< DiscreteContinuumMesh< DIM > >  pMesh)
virtual

Return the value of the field at all points on the supplied mesh nodes

Parameters
pMeshthe mesh for point sampling
Returns
the value of the field ordered according to mesh node order

Implements AbstractDiscreteContinuumSolver< DIM >.

Definition at line 199 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetSolution().

template<unsigned DIM>
vtkSmartPointer< vtkImageData > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetVtkSolution ( )
virtual
template<unsigned DIM>
void AbstractRegularGridDiscreteContinuumSolver< DIM >::SetGrid ( boost::shared_ptr< RegularGrid< DIM > >  pRegularGrid)

Set the structured grid

Parameters
pRegularGridthe structured grid

Definition at line 215 of file AbstractRegularGridDiscreteContinuumSolver.cpp.

References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.

template<unsigned DIM>
void AbstractRegularGridDiscreteContinuumSolver< DIM >::Update ( )
virtual

Member Data Documentation


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