Chaste  Build::
FiniteElementSolver< DIM > Class Template Reference

#include <FiniteElementSolver.hpp>

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

Public Member Functions

 FiniteElementSolver ()
 
virtual ~FiniteElementSolver ()
 
void Solve ()
 
void SetGuess (const std::vector< double > &guess)
 
void SetUseSimpleNetonSolver (bool useNewton)
 
void SetUseLinearSolveForGuess (bool useLinearSolve)
 
void Update ()
 
- Public Member Functions inherited from AbstractUnstructuredGridDiscreteContinuumSolver< DIM >
 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 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)
 

Static Public Member Functions

static boost::shared_ptr< FiniteElementSolver< DIM > > Create ()
 

Private Attributes

bool mUseNewton
 
bool mUseLinearSolveForGuess
 
std::vector< double > mGuess
 

Additional Inherited Members

- Protected Attributes inherited from AbstractUnstructuredGridDiscreteContinuumSolver< DIM >
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 FiniteElementSolver< DIM >

A finite element solver for linear elliptic PDEs with multiple discrete sinks or sources.

Definition at line 47 of file FiniteElementSolver.hpp.

Constructor & Destructor Documentation

template<unsigned DIM>
FiniteElementSolver< DIM >::FiniteElementSolver ( )

Constructor

Definition at line 43 of file FiniteElementSolver.cpp.

template<unsigned DIM>
FiniteElementSolver< DIM >::~FiniteElementSolver ( )
virtual

Destructor

Definition at line 53 of file FiniteElementSolver.cpp.

Member Function Documentation

template<unsigned DIM>
boost::shared_ptr< FiniteElementSolver< DIM > > FiniteElementSolver< DIM >::Create ( )
static

Construct a new instance of the class and return a shared pointer to it.

Returns
a shared pointer to a class instance.

Definition at line 59 of file FiniteElementSolver.cpp.

template<unsigned DIM>
void FiniteElementSolver< DIM >::SetGuess ( const std::vector< double > &  guess)

Set the initial dimensionless guess

Parameters
guessthe guess.

Definition at line 79 of file FiniteElementSolver.cpp.

References FiniteElementSolver< DIM >::mGuess.

template<unsigned DIM>
void FiniteElementSolver< DIM >::SetUseLinearSolveForGuess ( bool  useLinearSolve)

Use the solution from a linear solver as the initial guess

Parameters
useLinearSolveuse the solution from a linear solver as the initial guess

Definition at line 91 of file FiniteElementSolver.cpp.

References FiniteElementSolver< DIM >::mUseLinearSolveForGuess.

template<unsigned DIM>
void FiniteElementSolver< DIM >::SetUseSimpleNetonSolver ( bool  useNewton)

Use Chaste's simple newton solve

Parameters
useNewtonuse Chaste's simple newton solve

Definition at line 85 of file FiniteElementSolver.cpp.

References FiniteElementSolver< DIM >::mUseNewton.

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

Member Data Documentation

template<unsigned DIM>
std::vector<double> FiniteElementSolver< DIM >::mGuess
private

An initial guess

Definition at line 67 of file FiniteElementSolver.hpp.

Referenced by FiniteElementSolver< DIM >::SetGuess().

template<unsigned DIM>
bool FiniteElementSolver< DIM >::mUseLinearSolveForGuess
private

Use the linear solution as a guess

Definition at line 62 of file FiniteElementSolver.hpp.

Referenced by FiniteElementSolver< DIM >::SetUseLinearSolveForGuess().

template<unsigned DIM>
bool FiniteElementSolver< DIM >::mUseNewton
private

Use the chaste newton solver

Definition at line 57 of file FiniteElementSolver.hpp.

Referenced by FiniteElementSolver< DIM >::SetUseSimpleNetonSolver(), and FiniteElementSolver< DIM >::Solve().


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