![]()  | 
  
    Chaste
    Build::
    
   | 
 
#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 | 
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.
| StructuralAdaptationSolver< DIM >::StructuralAdaptationSolver | ( | ) | 
Constructor.
Definition at line 43 of file StructuralAdaptationSolver.cpp.
      
  | 
  virtual | 
Destructor.
Definition at line 54 of file StructuralAdaptationSolver.cpp.
| void StructuralAdaptationSolver< DIM >::AddPostFlowSolveCalculator | ( | boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > | pCalculator | ) | 
Add a vessel network calculator to be run before the flow solve
| pCalculator | a vessel network calculator | 
Definition at line 85 of file StructuralAdaptationSolver.cpp.
References StructuralAdaptationSolver< DIM >::mPostFlowSolveCalculators.
| void StructuralAdaptationSolver< DIM >::AddPreFlowSolveCalculator | ( | boost::shared_ptr< AbstractVesselNetworkCalculator< DIM > > | pCalculator | ) | 
Add a vessel network calculator to be run before the flow solve
| pCalculator | a vessel network calculator | 
Definition at line 79 of file StructuralAdaptationSolver.cpp.
References StructuralAdaptationSolver< DIM >::mPreFlowSolveCalculators.
      
  | 
  static | 
Factor constructor. Construct a new instance of the class and return a shared pointer to it.
Definition at line 60 of file StructuralAdaptationSolver.cpp.
| boost::shared_ptr< FlowSolver< DIM > > StructuralAdaptationSolver< DIM >::GetFlowSolver | ( | ) | 
Get the flow calculator
Definition at line 67 of file StructuralAdaptationSolver.cpp.
References StructuralAdaptationSolver< DIM >::mpFlowSolver.
      
  | 
  virtual | 
Perform a single iteration to update the radius and calculators
Implements AbstractStructuralAdaptationSolver< DIM >.
Definition at line 97 of file StructuralAdaptationSolver.cpp.
References AbstractStructuralAdaptationSolver< DIM >::GetTimeIncrement(), StructuralAdaptationSolver< DIM >::mpFlowSolver, StructuralAdaptationSolver< DIM >::mPostFlowSolveCalculators, StructuralAdaptationSolver< DIM >::mpRadiusCalculator, StructuralAdaptationSolver< DIM >::mPreFlowSolveCalculators, AbstractStructuralAdaptationSolver< DIM >::mpVesselNetwork, and StructuralAdaptationSolver< DIM >::UpdateFlowSolver().
| void StructuralAdaptationSolver< DIM >::SetFlowSolver | ( | boost::shared_ptr< FlowSolver< DIM > > | pSolver | ) | 
Set the flow calculator
| pSolver | the flow solver. | 
Definition at line 91 of file StructuralAdaptationSolver.cpp.
References StructuralAdaptationSolver< DIM >::mpFlowSolver.
| void StructuralAdaptationSolver< DIM >::SetRadiusCalculator | ( | boost::shared_ptr< RadiusCalculator< DIM > > | pCalculator | ) | 
Set the radius calculator
| pCalculator | the radius calculator. | 
Definition at line 73 of file StructuralAdaptationSolver.cpp.
References StructuralAdaptationSolver< DIM >::mpRadiusCalculator.
| void StructuralAdaptationSolver< DIM >::UpdateFlowSolver | ( | bool | doFullReset = false | ) | 
To be called if the vessel network changes between solves
| doFullReset | fully 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().
      
  | 
  private | 
A solver to calculate flow rates and pressures in the network
Definition at line 59 of file StructuralAdaptationSolver.hpp.
Referenced by StructuralAdaptationSolver< DIM >::GetFlowSolver(), StructuralAdaptationSolver< DIM >::Iterate(), StructuralAdaptationSolver< DIM >::SetFlowSolver(), and StructuralAdaptationSolver< DIM >::UpdateFlowSolver().
      
  | 
  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().
      
  | 
  private | 
A calculator to determine radius changes
Definition at line 64 of file StructuralAdaptationSolver.hpp.
Referenced by StructuralAdaptationSolver< DIM >::Iterate(), and StructuralAdaptationSolver< DIM >::SetRadiusCalculator().
      
  | 
  private | 
Calculators to be run before the flow solve
Definition at line 69 of file StructuralAdaptationSolver.hpp.
Referenced by StructuralAdaptationSolver< DIM >::AddPreFlowSolveCalculator(), StructuralAdaptationSolver< DIM >::Iterate(), and StructuralAdaptationSolver< DIM >::UpdateFlowSolver().