Chaste  Build::
StructuralAdaptationSolver< DIM > Class Template Reference

#include <StructuralAdaptationSolver.hpp>

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

Public Member Functions

 StructuralAdaptationSolver ()
 
virtual ~StructuralAdaptationSolver ()
 
boost::shared_ptr< FlowSolver< DIM > > GetFlowSolver ()
 
virtual void Iterate ()
 
void AddPreFlowSolveCalculator (boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > pCalculator)
 
void AddPostFlowSolveCalculator (boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > pCalculator)
 
void SetFlowSolver (boost::shared_ptr< FlowSolver< DIM > > pSolver)
 
void SetRadiusCalculator (boost::shared_ptr< RadiusCalculator< DIM > > pCalculator)
 
void UpdateFlowSolver (bool doFullReset=false)
 
- Public Member Functions inherited from AbstractStructuralAdaptationSolver< DIM >
 AbstractStructuralAdaptationSolver ()
 
virtual ~AbstractStructuralAdaptationSolver ()
 
double GetTolerance () const
 
bool GetWriteOutput () const
 
std::string GetOutputFileName () const
 
units::quantity< unit::time > GetTimeIncrement () const
 
void SetTolerance (double tolerance)
 
void SetTimeIncrement (units::quantity< unit::time > timeIncrement)
 
void SetMaxIterations (unsigned iterations)
 
void SetWriteOutput (bool writeFlag)
 
void SetOutputFileName (const std::string &rFilename)
 
void SetVesselNetwork (boost::shared_ptr< VesselNetwork< DIM > > pNetwork)
 
void Solve ()
 
virtual void Write ()
 

Static Public Member Functions

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

Private Attributes

boost::shared_ptr< FlowSolver< DIM > > mpFlowSolver
 
boost::shared_ptr< RadiusCalculator< DIM > > mpRadiusCalculator
 
std::vector< boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > > mPreFlowSolveCalculators
 
std::vector< boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > > mPostFlowSolveCalculators
 

Additional Inherited Members

- Protected Attributes inherited from AbstractStructuralAdaptationSolver< DIM >
double mTolerance
 
units::quantity< unit::time > mTimeIncrement
 
units::quantity< unit::time > mReferenceTimeScale
 
bool mWriteOutput
 
std::string mOutputFileName
 
unsigned mMaxIterations
 
boost::shared_ptr< VesselNetwork< DIM > > mpVesselNetwork
 

Detailed Description

template<unsigned DIM>
class StructuralAdaptationSolver< DIM >

This is a concrete implementation of a structural adaptation solver. It iteratively changes vessel radii in response to a collection of flow based stimuli until the rate of change of the radius is below a specified tolerance.

Definition at line 51 of file StructuralAdaptationSolver.hpp.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 43 of file StructuralAdaptationSolver.cpp.

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

Destructor.

Definition at line 54 of file StructuralAdaptationSolver.cpp.

Member Function Documentation

template<unsigned DIM>
void StructuralAdaptationSolver< DIM >::AddPostFlowSolveCalculator ( boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > >  pCalculator)

Add a vessel network calculator to be run before the flow solve

Parameters
pCalculatora vessel network calculator

Definition at line 85 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mPostFlowSolveCalculators.

template<unsigned DIM>
void StructuralAdaptationSolver< DIM >::AddPreFlowSolveCalculator ( boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > >  pCalculator)

Add a vessel network calculator to be run before the flow solve

Parameters
pCalculatora vessel network calculator

Definition at line 79 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mPreFlowSolveCalculators.

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

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

Returns
a pointer to a new instance of the class.

Definition at line 60 of file StructuralAdaptationSolver.cpp.

template<unsigned DIM>
boost::shared_ptr< FlowSolver< DIM > > StructuralAdaptationSolver< DIM >::GetFlowSolver ( )

Get the flow calculator

Returns
the flow solver.

Definition at line 67 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mpFlowSolver.

template<unsigned DIM>
void StructuralAdaptationSolver< DIM >::SetFlowSolver ( boost::shared_ptr< FlowSolver< DIM > >  pSolver)

Set the flow calculator

Parameters
pSolverthe flow solver.

Definition at line 91 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mpFlowSolver.

template<unsigned DIM>
void StructuralAdaptationSolver< DIM >::SetRadiusCalculator ( boost::shared_ptr< RadiusCalculator< DIM > >  pCalculator)

Set the radius calculator

Parameters
pCalculatorthe radius calculator.

Definition at line 73 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mpRadiusCalculator.

template<unsigned DIM>
void StructuralAdaptationSolver< DIM >::UpdateFlowSolver ( bool  doFullReset = false)

To be called if the vessel network changes between solves

Parameters
doFullResetfully reset all the solvers

Definition at line 154 of file StructuralAdaptationSolver.cpp.

References StructuralAdaptationSolver< DIM >::mpFlowSolver, StructuralAdaptationSolver< DIM >::mPreFlowSolveCalculators, and AbstractStructuralAdaptationSolver< DIM >::mpVesselNetwork.

Referenced by StructuralAdaptationSolver< DIM >::Iterate().

Member Data Documentation

template<unsigned DIM>
boost::shared_ptr<FlowSolver<DIM> > StructuralAdaptationSolver< DIM >::mpFlowSolver
private
template<unsigned DIM>
std::vector<boost::shared_ptr<AbstractVesselNetworkCalculator<DIM> > > StructuralAdaptationSolver< DIM >::mPostFlowSolveCalculators
private

Calculators to be run after the flow solve

Definition at line 74 of file StructuralAdaptationSolver.hpp.

Referenced by StructuralAdaptationSolver< DIM >::AddPostFlowSolveCalculator(), and StructuralAdaptationSolver< DIM >::Iterate().

template<unsigned DIM>
boost::shared_ptr<RadiusCalculator<DIM> > StructuralAdaptationSolver< DIM >::mpRadiusCalculator
private

A calculator to determine radius changes

Definition at line 64 of file StructuralAdaptationSolver.hpp.

Referenced by StructuralAdaptationSolver< DIM >::Iterate(), and StructuralAdaptationSolver< DIM >::SetRadiusCalculator().

template<unsigned DIM>
std::vector<boost::shared_ptr<AbstractVesselNetworkCalculator<DIM> > > StructuralAdaptationSolver< DIM >::mPreFlowSolveCalculators
private

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