ICRP Pub 66 Lung Deposition Model |
Calculates the percentage deposition of aerosols to specific regions of the lungs:
As input the Model uses 1) a file containing physiological parameters (such as tidal volume, breathing rates, etc.) and 2) a file containing environmental factors (aerosol size and shape) along with characteristics of the test subject (gender, height, etc.).
   To run the Model, the user enters the information in this second file. At the present time the user cannot change the information in the file containing physiological parameters.
   A perl script captures and validates the user's input.   User's input is written to a file.   This file together with physiological data (in a file) are used as inputs to the C++ Object Oriented implementation of the Lung Deposition Model.   The results of the computation are displayed to the user's web browser.
The following tables explain the input parameters to the model, the physiological data, and the the C++ methods in the
application (depmono2) developed by Stefanie Holmes.
The Lung Deposition Model was developed (in C++) by Stefanie Holmes as part of her ERULF project in the summer of 1999.   This web implementation was
developed by Lin Ahmad as part of her ORNL/NSF research project in the summer of 2002.   This code is an implementation of the ICRP Human Respiratory Tract Model for
Deposition in the Lung (ICRP Publication 66). This implementation has been validated against a previous
FORTRAN version.   The web CGI scripts are written in perl and the documentation uses Extensible Markup Language including structured vector graphics (SVG) and MATHML.
Subject's gender | ||
Subject's height | ||
Subject's breathing habit | ||
Wind speed | ||
Mono or Poly disperse | ||
Particle shape factor | ||
Particle density | ||
Standard deviation (if known) for polydisperse | ||
Sleep | ||
Sitting | ||
Light exercise | ||
Heavy exercise |
Class: Person | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
double height | cm | Subject's height | double SFt | Unitless | BB scale factor |
double Vt | mL | Volume of tidal airflow | double SFb | Unitless | bb scale factor |
double Vdot | mL/s | Ventilatory airflow | double SFa | Unitless | AI scale factor |
double VdET | mL | Anatomical dead space | double tB |   | Transit Time |
double VdBB | mL | Anatomical dead space - Bronchial | double tb |   | Transit Time |
double Vdbb | mL | Anatomical dead space - bronchiolar | double ta | Units | Transit Time |
double Fn | Units | Fraction of total ventilatory airflow passing through nose | char gender | m=male   f=female | Subject's gender (m or f) |
double FRC | mL | Functional residual capacity | char breathe | n=nasal   m=mouth | Nose or mouth breather |
double B | m^3/h | Ventilation rate |   |   | |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
void calcTB(); |   | Calculate transit time in the BB region | void calcTb(); |   | Calculate transit time in the bb region |
void calcTa(); |   | Calculate transit time in the AI region |   |   |   |
Class: Environment | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
double U | m/s | environmental wind speed | Person *body |   | A reference to the class Person |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
double getU() |   | Get the wind speed |   |   |   |
Class: Particle | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
char disp | m or p | Mono or poly disperse | double dae | micron | Aerodynamic diameter (mono) or AMTD (poly) |
double dth | micron | Thermodynamic diameter (mono) or AMTD (poly) | double psith |   | Correction coefficient for thermodynamic deposition caused by nonlaimnar flow |
double D |   | Diffusion coefficient | double rho | g cm^-3 | Particle density |
double chi |   | Particle shape factor | double fs |   | Slow-cleared fraction |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
double calcCd(); |   |   | void calcD(); |   | Calculate diffusion coefficient |
void calcPsith(); |   | Calculate correction coefficient for thermodynamic deposition caused by nonlaminar flow | double correctDth(); |   | Calculate thermodynamic diameter |
void calcDae(); |   | Calculate aerodynamic diameter | void calcFs(); |   |   |
Class: Region | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
double eta | Unitless | Total filtration efficiency | double phi | Unitless | Fraction of tidal airflow volume |
double xi | Unitless | Ratio of this region's phi to the previous region's phi | double DE | Unitless | Deposition fraction |
double aeroA | Unitless | Parameter for calculating aerodynamic efficiency | double aeroR | Unitless | Parameter for calculating aerodynamic efficiency |
double aeroP | Unitless | Parameter for calculating aerodynamic efficiency | double thermA | Unitless | Parameter for calculating aerodynamic efficiency |
double thermR | Unitless | Parameter for calculating aerodynamic efficiency | double thermP | Unitless | Parameter for calculating aerodynamic efficiency |
static char exertType[4][MAX_NAME] |   | Type of physical activity | static double exertTime[4] | Hours | Length of time spent doing each activity |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
calc_aRp(double _a, double _r, double _p) |   | Calculates a*(R^p) | calcEta() |   | Calculates filtration efficiency |
calcXi(double prevPhi) |   | Ratio of this region's phi to the previous region's phi | calcDE(double prevDE, double prevEta) |   | Calculates deposition fraction |
Class: FilterX | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
double aeroEta |   | Aerodynamic deposition efficiency | double thermaEta |   | Thermodynamic deposition efficiency |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
void FilterX::calcA() |   |   | void FilterX::calcR() |   |   |
void FilterX::calcP() |   |   | double FilterX::calcEta() |   |   |
double FilterX::calcPhi(double prevPhi) |   |   | double FilterX::calcDE(double prevEta) |   |   |
doulbe FilterX::calcDE(double prevDE, double prevEta) |   |   |   |   |   |
Main Function | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Variables associated with the class | Units | Comments | Variables associated with the class | Units | Comments |
double totalDE[h] | Unitless | Accumulated deposition in each of the compartments (ET1, ET2, BB, bb, and AI) | bxt | m^3 | Breathing rate for the particular activity * duration |
_prevEtaNO | Unitless |   | _prevEtaMO | Unitless |   |
_prevPhiNO | Unitless |   | _prevPhiMO | Unitless |   |
_prevEtaN | Unitless | At each filter stage, the previous value of eta | _currEtaN | Unitless | At each filter stage, the current value of eta |
_prevPhiN | Unitless | At each filter stage, the previous value of phi | _currPhiN | Unitless | At each filter stage, the current value of phi |
_prevDeN | Unitless | At each filter stage, the previous value of DE | _currDeN | Unitless | At each filter stage, the current value of DE |
Methods associated with the class | Units | Comments | Methods associated with the class | Units | Comments |
void calcFn(Person *person, int num) | unitless | Gives fraction of breathe going thourgh nasal passage | double combineN(double de, Person *person, int n) |   |   |
double combineM(double de, Person *person, int n) |   |   | void compDep(Particle *dust, double dep[]) |   |   |
getData1(_body, fio, x) |   | _body is a pointer to the object, body, of the class Person. fio is the stream open for reading. double x[NUM_DATA} | getData2(_body, fio, x) |   |   |