#include <Swan2012AcinarUnit.hpp>

Public Member Functions | |
| Swan2012AcinarUnit () | |
| virtual | ~Swan2012AcinarUnit () |
| void | SetTimestep (double dt) |
| virtual void | SolveAndUpdateState (double tStart, double tEnd) |
| void | SetFlow (double flow) |
| double | GetFlow () |
| void | SetAirwayPressure (double pressure) |
| void | SetPleuralPressure (double pressure) |
| void | SetTerminalBronchioleResistance (double raw) |
| double | GetStretchRatio () |
| void | SetStretchRatio (double lambda) |
| double | GetVolume () |
| void | SetUndeformedVolume (double v0) |
Private Member Functions | |
| double | CalculateDerivativeVolumeByStrain () |
| double | CalculateDerivativeStaticRecoilPressureByStrain () |
| double | CalculateGamma () |
| double | CalculateAcinarTissueCompliance () |
Private Attributes | |
| double | mQ |
| double | mLambda |
| double | mDt |
| double | mPaw |
| double | mPawOld |
| double | mPpl |
| double | mPplOld |
| double | mRaw |
| double | mA |
| double | mB |
| double | mXi |
| double | mV0 |
Friends | |
| class | TestAcinarUnitModels |
Implementation of the acinar dynamics model presented in Swan et. al. 2012
"A computational model of the topographic distribution of ventilation in healthy human lungs"
Definition at line 47 of file Swan2012AcinarUnit.hpp.
| Swan2012AcinarUnit::Swan2012AcinarUnit | ( | ) |
Create a new acinar unit.
Definition at line 41 of file Swan2012AcinarUnit.cpp.
| Swan2012AcinarUnit::~Swan2012AcinarUnit | ( | ) | [virtual] |
Virtual destructor
Definition at line 58 of file Swan2012AcinarUnit.cpp.
| double Swan2012AcinarUnit::CalculateAcinarTissueCompliance | ( | ) | [private] |
Definition at line 145 of file Swan2012AcinarUnit.cpp.
References CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateDerivativeVolumeByStrain().
Referenced by SolveAndUpdateState().
| double Swan2012AcinarUnit::CalculateDerivativeStaticRecoilPressureByStrain | ( | ) | [private] |
Definition at line 133 of file Swan2012AcinarUnit.cpp.
References CalculateGamma(), mA, mB, mLambda, and mXi.
Referenced by CalculateAcinarTissueCompliance(), and SolveAndUpdateState().
| double Swan2012AcinarUnit::CalculateDerivativeVolumeByStrain | ( | ) | [private] |
Definition at line 128 of file Swan2012AcinarUnit.cpp.
Referenced by CalculateAcinarTissueCompliance().
| double Swan2012AcinarUnit::CalculateGamma | ( | ) | [private] |
Definition at line 140 of file Swan2012AcinarUnit.cpp.
References mA, mB, and mLambda.
Referenced by CalculateDerivativeStaticRecoilPressureByStrain().
| double Swan2012AcinarUnit::GetFlow | ( | ) |
Definition at line 85 of file Swan2012AcinarUnit.cpp.
References mQ.
| double Swan2012AcinarUnit::GetStretchRatio | ( | ) |
Definition at line 107 of file Swan2012AcinarUnit.cpp.
References mLambda.
| double Swan2012AcinarUnit::GetVolume | ( | ) |
Definition at line 118 of file Swan2012AcinarUnit.cpp.
| void Swan2012AcinarUnit::SetAirwayPressure | ( | double | pressure | ) |
Set the air pressure
| pressure | new value |
Definition at line 90 of file Swan2012AcinarUnit.cpp.
Referenced by VentilationProblem::VentilationProblem().
| void Swan2012AcinarUnit::SetFlow | ( | double | flow | ) |
Set the air flow
| flow | new value |
Definition at line 80 of file Swan2012AcinarUnit.cpp.
References mQ.
| void Swan2012AcinarUnit::SetPleuralPressure | ( | double | pressure | ) |
Set the pleural pressure
| pressure | new value |
Definition at line 96 of file Swan2012AcinarUnit.cpp.
Referenced by VentilationProblem::VentilationProblem().
| void Swan2012AcinarUnit::SetStretchRatio | ( | double | lambda | ) |
| lambda | The new stretch ratio |
Definition at line 112 of file Swan2012AcinarUnit.cpp.
References mLambda.
Referenced by VentilationProblem::VentilationProblem().
| void Swan2012AcinarUnit::SetTerminalBronchioleResistance | ( | double | raw | ) |
Set the resistance of the terminal bronchiole entering the acinar unit
| raw | new value |
Definition at line 102 of file Swan2012AcinarUnit.cpp.
References mRaw.
Referenced by VentilationProblem::VentilationProblem().
| void Swan2012AcinarUnit::SetTimestep | ( | double | dt | ) |
Set the timestep to use for simulating this cell.
| dt | the timestep |
| void Swan2012AcinarUnit::SetUndeformedVolume | ( | double | v0 | ) |
| v0 | The undeformed volume |
Definition at line 123 of file Swan2012AcinarUnit.cpp.
References mV0.
Referenced by VentilationProblem::VentilationProblem().
Simulate this cell's behaviour between the time interval [tStart, tEnd], with timestemp mDt, updating the internal state variable values.
| tStart | beginning of the time interval to simulate | |
| tEnd | end of the time interval to simulate |
Definition at line 62 of file Swan2012AcinarUnit.cpp.
References CalculateAcinarTissueCompliance(), CalculateDerivativeStaticRecoilPressureByStrain(), mLambda, mPaw, mPawOld, mPpl, mPplOld, mQ, and mRaw.
double Swan2012AcinarUnit::mA [private] |
Fung material law constant
Definition at line 147 of file Swan2012AcinarUnit.hpp.
Referenced by CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateGamma().
double Swan2012AcinarUnit::mB [private] |
Fung material law constant
Definition at line 150 of file Swan2012AcinarUnit.hpp.
Referenced by CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateGamma().
double Swan2012AcinarUnit::mDt [private] |
Timestep size
Definition at line 129 of file Swan2012AcinarUnit.hpp.
double Swan2012AcinarUnit::mLambda [private] |
The stretch ratio of the acinar unit
Definition at line 126 of file Swan2012AcinarUnit.hpp.
Referenced by CalculateDerivativeStaticRecoilPressureByStrain(), CalculateDerivativeVolumeByStrain(), CalculateGamma(), GetStretchRatio(), GetVolume(), SetStretchRatio(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mPaw [private] |
The current air pressure in the acinar duct
Definition at line 132 of file Swan2012AcinarUnit.hpp.
Referenced by SetAirwayPressure(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mPawOld [private] |
The air pressure in the acinar duct at the previous timestep
Definition at line 135 of file Swan2012AcinarUnit.hpp.
Referenced by SetAirwayPressure(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mPpl [private] |
The current pleural pressure (Pa)
Definition at line 138 of file Swan2012AcinarUnit.hpp.
Referenced by SetPleuralPressure(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mPplOld [private] |
The pleural pressure at the previous timestep (Pa)
Definition at line 141 of file Swan2012AcinarUnit.hpp.
Referenced by SetPleuralPressure(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mQ [private] |
The flow into the acinar unit
Definition at line 123 of file Swan2012AcinarUnit.hpp.
Referenced by GetFlow(), SetFlow(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mRaw [private] |
The resistance of the terminal bronchiole entering the acinus
Definition at line 144 of file Swan2012AcinarUnit.hpp.
Referenced by SetTerminalBronchioleResistance(), and SolveAndUpdateState().
double Swan2012AcinarUnit::mV0 [private] |
The initial volume of the acinus
Definition at line 156 of file Swan2012AcinarUnit.hpp.
Referenced by CalculateDerivativeVolumeByStrain(), GetVolume(), and SetUndeformedVolume().
double Swan2012AcinarUnit::mXi [private] |
Fung material law constant (Pa)
Definition at line 153 of file Swan2012AcinarUnit.hpp.
Referenced by CalculateDerivativeStaticRecoilPressureByStrain().
1.6.2