Swan2012AcinarUnit Class Reference

#include <Swan2012AcinarUnit.hpp>

Collaboration diagram for Swan2012AcinarUnit:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

double Swan2012AcinarUnit::CalculateAcinarTissueCompliance (  )  [private]
Returns:
The acinar tissue compliance, C_a (dV/dPe)

Definition at line 145 of file Swan2012AcinarUnit.cpp.

References CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateDerivativeVolumeByStrain().

Referenced by SolveAndUpdateState().

double Swan2012AcinarUnit::CalculateDerivativeStaticRecoilPressureByStrain (  )  [private]
Returns:
d Pe /dlambda

Definition at line 133 of file Swan2012AcinarUnit.cpp.

References CalculateGamma(), mA, mB, mLambda, and mXi.

Referenced by CalculateAcinarTissueCompliance(), and SolveAndUpdateState().

double Swan2012AcinarUnit::CalculateDerivativeVolumeByStrain (  )  [private]
Returns:
dV / dlambda

Definition at line 128 of file Swan2012AcinarUnit.cpp.

References mLambda, and mV0.

Referenced by CalculateAcinarTissueCompliance().

double Swan2012AcinarUnit::CalculateGamma (  )  [private]
Returns:
gamma

Definition at line 140 of file Swan2012AcinarUnit.cpp.

References mA, mB, and mLambda.

Referenced by CalculateDerivativeStaticRecoilPressureByStrain().

double Swan2012AcinarUnit::GetFlow (  ) 
Returns:
the current value of the airflow, as given in our state variable vector.

Definition at line 85 of file Swan2012AcinarUnit.cpp.

References mQ.

double Swan2012AcinarUnit::GetStretchRatio (  ) 
Returns:
the current stretch ratio of the acinus

Definition at line 107 of file Swan2012AcinarUnit.cpp.

References mLambda.

double Swan2012AcinarUnit::GetVolume (  ) 
Returns:
the current volume of the acinus

Definition at line 118 of file Swan2012AcinarUnit.cpp.

References mLambda, and mV0.

void Swan2012AcinarUnit::SetAirwayPressure ( double  pressure  ) 

Set the air pressure

Parameters:
pressure new value

Definition at line 90 of file Swan2012AcinarUnit.cpp.

References mPaw, and mPawOld.

Referenced by VentilationProblem::VentilationProblem().

void Swan2012AcinarUnit::SetFlow ( double  flow  ) 

Set the air flow

Parameters:
flow new value

Definition at line 80 of file Swan2012AcinarUnit.cpp.

References mQ.

void Swan2012AcinarUnit::SetPleuralPressure ( double  pressure  ) 

Set the pleural pressure

Parameters:
pressure new value

Definition at line 96 of file Swan2012AcinarUnit.cpp.

References mPpl, and mPplOld.

Referenced by VentilationProblem::VentilationProblem().

void Swan2012AcinarUnit::SetStretchRatio ( double  lambda  ) 
Parameters:
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

Parameters:
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.

Parameters:
dt the timestep
void Swan2012AcinarUnit::SetUndeformedVolume ( double  v0  ) 
Parameters:
v0 The undeformed volume

Definition at line 123 of file Swan2012AcinarUnit.cpp.

References mV0.

Referenced by VentilationProblem::VentilationProblem().

void Swan2012AcinarUnit::SolveAndUpdateState ( double  tStart,
double  tEnd 
) [virtual]

Simulate this cell's behaviour between the time interval [tStart, tEnd], with timestemp mDt, updating the internal state variable values.

Parameters:
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.


Member Data Documentation

Fung material law constant

Definition at line 147 of file Swan2012AcinarUnit.hpp.

Referenced by CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateGamma().

Fung material law constant

Definition at line 150 of file Swan2012AcinarUnit.hpp.

Referenced by CalculateDerivativeStaticRecoilPressureByStrain(), and CalculateGamma().

Timestep size

Definition at line 129 of file Swan2012AcinarUnit.hpp.

The current air pressure in the acinar duct

Definition at line 132 of file Swan2012AcinarUnit.hpp.

Referenced by SetAirwayPressure(), and SolveAndUpdateState().

The air pressure in the acinar duct at the previous timestep

Definition at line 135 of file Swan2012AcinarUnit.hpp.

Referenced by SetAirwayPressure(), and SolveAndUpdateState().

The current pleural pressure (Pa)

Definition at line 138 of file Swan2012AcinarUnit.hpp.

Referenced by SetPleuralPressure(), and SolveAndUpdateState().

The pleural pressure at the previous timestep (Pa)

Definition at line 141 of file Swan2012AcinarUnit.hpp.

Referenced by SetPleuralPressure(), and SolveAndUpdateState().

The flow into the acinar unit

Definition at line 123 of file Swan2012AcinarUnit.hpp.

Referenced by GetFlow(), SetFlow(), and SolveAndUpdateState().

The resistance of the terminal bronchiole entering the acinus

Definition at line 144 of file Swan2012AcinarUnit.hpp.

Referenced by SetTerminalBronchioleResistance(), and SolveAndUpdateState().

The initial volume of the acinus

Definition at line 156 of file Swan2012AcinarUnit.hpp.

Referenced by CalculateDerivativeVolumeByStrain(), GetVolume(), and SetUndeformedVolume().

Fung material law constant (Pa)

Definition at line 153 of file Swan2012AcinarUnit.hpp.

Referenced by CalculateDerivativeStaticRecoilPressureByStrain().


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

Generated by  doxygen 1.6.2