Pulmonary lymphatic transport¶
The lymphatics module implements the pulmonary fluid and lymphatic
transport equations published by Ashworth et al. (2023). It was restored from
the historical EdeTede implementation and integrated with the current
develop data structures without including the later surfactant model.
Model inputs¶
The workflow combines two independently calculated inputs:
perfusion supplies mean capillary pressure, capillary sheet surface area, and blood transit time; and
ventilation supplies the minimum and maximum terminal elastic recoil pressure through
export_terminal_lymphatic_inputsandimport_terminal.
After perfusion geometry and results have been established, call
define_problem_type('lymphatic_transport'). This preserves the existing
perfusion unit fields while allocating the additional lymphatic fields. Then
import any archived inputs and call lymphatic_transport.
Model parameters¶
The published human values remain the defaults, so existing workflows do not
need to set any parameters. A value can be changed from Python before calling
lymphatic_transport with:
from aether.parameter_types import update_lymphatics
update_lymphatics('lung_mass_g', 1.5)
Calling update_lymphatics('help', 0.0) prints the current values.
Parameter names and human defaults are:
Name |
Default |
Meaning |
|---|---|---|
|
639 |
Total lung mass in g |
|
15 |
Respiratory rate in breaths/min |
|
4.41335e-8 |
Historical capillary conductivity value used by the published model |
|
30 |
Maximum interstitial fluid volume per 100 g of lung |
|
0.48 |
Initial interstitial volume as a fraction of capacity |
|
0.005 |
Fraction of interstitial capacity assigned to compartment A |
|
-8 |
Minimum interstitial pressure in mmHg |
|
-1 |
Maximum interstitial pressure in mmHg |
|
-8 |
Minimum initial-lymphatic pressure in mmHg |
|
1 |
Maximum initial-lymphatic pressure in mmHg |
|
1 |
Lymphatic-to-capillary exchange-area ratio |
|
0.3 |
Saturation at which the conductivity polynomial becomes active |
|
1.48 |
Baseline lymphatic-to-capillary conductivity ratio |
|
845.87, -2416.7, 2388.5, -922.24, 125.85, -0.0067 |
Fifth-order saturation/conductivity polynomial coefficients |
|
1.570796326794895 |
Lymphatic pressure phase offset relative to breathing |
|
96 |
Number of integration steps per capillary transit time |
|
5e-6 |
Interstitial-saturation convergence tolerance |
lymphatic_surface_area_ratio is accepted as a descriptive alias for
lymphatic_density. The retained lymphatic_integrity, test_time,
and reflection_coefficient names do not affect the active published
hydrostatic model: integrity has no implemented valve/backflow equation,
test_time is superseded by convergence control, and the osmotic pathway is
inactive with its default reflection coefficient of zero.
Output fields¶
get_ne_lymph_flux and get_ne_lymph_intsat return the element-field
indices for average flux and interstitial saturation. These are dedicated
fields: lymphatic transport does not overwrite the unstrained vascular radii.
Terminal results are available from export_terminal_lymphatic.
Reproducibility and provenance¶
The equations in src/lib/lymphatics.f90 retain the published
implementation. Integration fixes are limited to elapsed-time reporting,
safe unit-field resizing, explicit terminal-to-unit matching, and dedicated
lymphatic export fields. Runtime can vary with processor load; numerical
outputs, rather than the elapsed-time message, should be compared when checking
reproducibility.
The complete Python workflow is maintained in the matching
lymphatics_Ashworth2023 example in the lung-group-examples repository.
The source implementation contains a historical note that output units may need further verification for a possible factor-of-1000 conversion. That scientific calibration has not been altered by this restoration and should be resolved in a separately validated change.