Chaste  Build::
AbstractUnstructuredGridDiscreteContinuumSolver< DIM > Class Template Referenceabstract

#include <AbstractUnstructuredGridDiscreteContinuumSolver.hpp>

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

Public Member Functions

 AbstractUnstructuredGridDiscreteContinuumSolver ()
 
virtual ~AbstractUnstructuredGridDiscreteContinuumSolver ()
 
boost::shared_ptr< DiscreteContinuumMesh< DIM > > GetMesh ()
 
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< units::quantity< unit::concentration > > GetConcentrationsAtCentroids ()
 
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< vtkUnstructuredGrid > GetVtkSolution ()
 
void SetMesh (boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > pMesh)
 
virtual void Setup ()
 
virtual void UpdateSolution (const std::vector< double > &rData)
 
virtual void UpdateElementSolution (const std::vector< double > &rData)
 
virtual void UpdateSolution (const std::vector< units::quantity< unit::concentration > > &rData)
 
virtual void UpdateCellData ()
 
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)
 

Protected Attributes

vtkSmartPointer< vtkUnstructuredGrid > mpVtkSolution
 
boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > mpMesh
 
- 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 AbstractUnstructuredGridDiscreteContinuumSolver< 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 57 of file AbstractUnstructuredGridDiscreteContinuumSolver.hpp.

Constructor & Destructor Documentation

Member Function Documentation

template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrations ( const std::vector< DimensionalChastePoint< DIM > > &  rSamplePoints)
virtual
template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractUnstructuredGridDiscreteContinuumSolver< 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 166 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations().

template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractUnstructuredGridDiscreteContinuumSolver< 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 172 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.

template<unsigned DIM>
std::vector< units::quantity< unit::concentration > > AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrationsAtCentroids ( )
virtual
template<unsigned DIM>
boost::shared_ptr< DiscreteContinuumMesh< DIM > > AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetMesh ( )

Return the mesh

Returns
a pointer to the mesh

Definition at line 61 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.

template<unsigned DIM>
std::vector< double > AbstractUnstructuredGridDiscreteContinuumSolver< 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 185 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().

template<unsigned DIM>
std::vector< double > AbstractUnstructuredGridDiscreteContinuumSolver< 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 232 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetSolution().

template<unsigned DIM>
std::vector< double > AbstractUnstructuredGridDiscreteContinuumSolver< 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 238 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractDiscreteContinuumSolver< DIM >::GetSolution(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.

template<unsigned DIM>
vtkSmartPointer< vtkUnstructuredGrid > AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetVtkSolution ( )
virtual
template<unsigned DIM>
void AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::SetMesh ( boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > >  pMesh)

Set the mesh

Parameters
pMeshthe finite element mesh

Definition at line 261 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.

template<unsigned DIM>
virtual void AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Solve ( )
pure virtual

Overridden Update method.

Implements AbstractDiscreteContinuumSolver< DIM >.

Implemented in FiniteElementSolver< DIM >.

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

Overridden Update method.

Implements AbstractDiscreteContinuumSolver< DIM >.

Reimplemented in FiniteElementSolver< DIM >.

Definition at line 383 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.

template<unsigned DIM>
void AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateElementSolution ( const std::vector< double > &  rData)
virtual

Member Data Documentation


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