![]() |
Chaste
Build::
|
#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 |
A finite element solver for linear elliptic PDEs with multiple discrete sinks or sources.
Definition at line 47 of file FiniteElementSolver.hpp.
| FiniteElementSolver< DIM >::FiniteElementSolver | ( | ) |
Constructor
Definition at line 43 of file FiniteElementSolver.cpp.
|
virtual |
Destructor
Definition at line 53 of file FiniteElementSolver.cpp.
|
static |
Construct a new instance of the class and return a shared pointer to it.
Definition at line 59 of file FiniteElementSolver.cpp.
| void FiniteElementSolver< DIM >::SetGuess | ( | const std::vector< double > & | guess | ) |
Set the initial dimensionless guess
| guess | the guess. |
Definition at line 79 of file FiniteElementSolver.cpp.
References FiniteElementSolver< DIM >::mGuess.
| void FiniteElementSolver< DIM >::SetUseLinearSolveForGuess | ( | bool | useLinearSolve | ) |
Use the solution from a linear solver as the initial guess
| useLinearSolve | use the solution from a linear solver as the initial guess |
Definition at line 91 of file FiniteElementSolver.cpp.
References FiniteElementSolver< DIM >::mUseLinearSolveForGuess.
| void FiniteElementSolver< DIM >::SetUseSimpleNetonSolver | ( | bool | useNewton | ) |
Use Chaste's simple newton solve
| useNewton | use Chaste's simple newton solve |
Definition at line 85 of file FiniteElementSolver.cpp.
References FiniteElementSolver< DIM >::mUseNewton.
|
virtual |
Overridden solve method
Implements AbstractUnstructuredGridDiscreteContinuumSolver< DIM >.
Definition at line 97 of file FiniteElementSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::IsSetupForSolve, AbstractDiscreteContinuumSolver< DIM >::mBoundaryConditions, AbstractDiscreteContinuumSolver< DIM >::mConcentrations, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractDiscreteContinuumSolver< DIM >::mpNonLinearPde, AbstractDiscreteContinuumSolver< DIM >::mpPde, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, AbstractDiscreteContinuumSolver< DIM >::mSolution, FiniteElementSolver< DIM >::mUseNewton, AbstractDiscreteContinuumSolver< DIM >::mWriteSolution, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateSolution(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Write().
|
virtual |
Overridden update method
Reimplemented from AbstractUnstructuredGridDiscreteContinuumSolver< DIM >.
Definition at line 66 of file FiniteElementSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mpNonLinearPde, and AbstractDiscreteContinuumSolver< DIM >::mpPde.
|
private |
An initial guess
Definition at line 67 of file FiniteElementSolver.hpp.
Referenced by FiniteElementSolver< DIM >::SetGuess().
|
private |
Use the linear solution as a guess
Definition at line 62 of file FiniteElementSolver.hpp.
Referenced by FiniteElementSolver< DIM >::SetUseLinearSolveForGuess().
|
private |
Use the chaste newton solver
Definition at line 57 of file FiniteElementSolver.hpp.
Referenced by FiniteElementSolver< DIM >::SetUseSimpleNetonSolver(), and FiniteElementSolver< DIM >::Solve().