O2-CO2 Transport and Exchange

O2-CO2 Transport and Exchange preview image

1 collaborator

Tags

Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0.2 • Viewed 150 times • Downloaded 5 times • Run 0 times
Download the 'O2-CO2 Transport and Exchange' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


## WHAT IS IT?

This is a System Dynamics Model. In order to run it you shoulld download and run it on your PC.

This is a model of the whole body gas exchange showing the O2 uptake in the lung, delivery to the tissue, oxygen consumption in the tissue along with tissue CO2 production, its delivery to the lung and removal from the body with exhaled air.

It is possible to change a number of parameters and observe the effect on the whole body O2 delivery and consumption as well as CO2 generation and disposal.

## HOW IT WORKS

This simple whole body model captures the uptake of O2 in the lung, delivery to tissue, intratissue consumption and CO2 production with return of CO2 to the lung where it is lost into the expired air. It is based on a JSim model available at physiome.org.

This lung/body exchange of O2 and CO2, while very simple, allows one to explore the values for flows, PSs and Volumes, for metabolic rates, and alveolar exchange that give rise to the values in a normally ambient human. Different scenarios present in the model are intended to give an “overall picture” concerning gas exchange in a number of pathological conditions.

The alveolar exchanges are passive and the tissue consumption is first order Michaelis-Menten. The ratio of CO2 produced to O2 is influenced by the Respiratory Quotient, RQ. Concentrations of O2 and CO2 in the blood are expressed in the equivalent partial pressures assuming a Henry’s Law type of form (concO2 = alphaO2 * pO2) for conversion of partial pressures of O2 and CO2 to the concentrations bound and dissolved in the blood, tissue and lung interstitial fluid (isf).

The ODE governing this model (i.e. describing respective flows, including recirculation) are as follows*:

A. For oxygen stocks (denoted by “V” in the model):

• In the lung interstitium:

dV-12/dt = ((PS-alv / V-Lung) * (Cin - V-12)) - (PS-O_1 / V-Lung-CAP * (V-12 - V-11-L-CAP )) + (PS-O_1 / V-Lung * (V-11-L-CAP - V-12))

• In the lung capillary:

dV-11-L-CAP/dt = (PS-O_1 / V-Lung-CAP * ( V-12 - V-11-L-CAP)) - (F / V-Tissue-CAP * (V-11-L-CAP - V-21-CAP )) + (F / V-Lung-CAP * ( V-21-CAP - V-11-L-CAP))

• In the body tissues (other than lung) capillaries:

dV-21-CAP/dt = (F / V-Tissue-CAP * (V-11-L-CAP - V-21-CAP)) - (PS-O_2 / V-Tissue * ( V-21-CAP - V-22 )) + (PS-O_2 / V-Tissue-CAP * ( V-22 - V-21-CAP)) - (F / V-Lung-CAP * ( V-21-CAP - V-11-L-CAP))

• In the body tissues:

dV-22/dt = (PS-O_2 / V-Tissue * (V-21-CAP - V-22)) - (Vcytox / ((Kcytox + V-22) * V-Tissue) * V-22) - (PS-O_2 / V-Tissue-CAP * (V-22 - V-21-CAP))

B. For carbon dioxide (denoted by “C”)

• In the body tissues:

dC-22/dt = (RQ * Vcytox / ((Kcytox + V-22) * V-Tissue) * V-22) - (PS-C_2 / V-Tissue-CAP * ( C-22 - C-21)) + (PS-C_2 / V-Tissue * (C-21 - C-22))

• In the body tissues capillaries:

dC-21/dt = (PS-C_2 / V-Tissue-CAP * ( C-22 - C-21)) - (F / V-Lung-CAP) * ( C-21 - C-11) + (F / V-Tissue-CAP * ( C-11 - C-21)) - (PS-C_2 / V-Tissue * (C-21 - C-22))

• In the lung capillary:

dC-11/dt = (F / V-Lung-CAP) * ( C-21 - C-11) - (PS-C_1 / V-Lung) * ( C-11 - C-12) + (PS-C_1 / V-Lung-CAP * ( C-12 - C-11)) - (F / V-Tissue-CAP * ( C-11 - C-21))

• In the lung interstitium:

dC-12/dt = (PS-C_1 / V-Lung) * ( C-11 - C-12) - (GCair * C-12 / V-Lung) - (PS-C_1 / V-Lung-CAP * ( C-12 - C-11))

where

V-12 (mmHg)- Concentrations of Oxygen in the lung interstitium

V-11-L-CAP (mmHg) - Concentrations of Oxygen in the lung capillary

V-21-CAP (mmHg) - Concentrations of Oxygen in the body tissues capillaries

V-22 (mmHg) - Concentrations of Oxygen in the body tissues

C-11 (mmHg) - Concentrations of CO2 in the lung interstitium

C-12 (mmHg) - Concentrations of CO2 in the lung capillary

C-21 (mmHg) - Concentrations of CO2 in the body tissues capillaries

C-22 (mmHg) - Concentrations of CO2 in the body tissues

PS-alv; PS-O_1 & PS-O_2 (ml/s) - Permeability-surface area products for O2: alveoli, lung capillary, tissue capillary

PS-C_1 & PS-C_2, GCair (ml/s) - Permeability-surface area products for CO2: lung capillary, tissue capillary, alveoli

V-Lung (ml) - lung interstitial fluid volume

V-Lung-CAP (ml) - lung capillary volume

V-Tissue-CAP (ml) - tissue capillary volume

V-Tissue (ml) - tissue volume

Cin (mmHg) - oxygen concentration in inflow stream (in the alveoli)

F (ml/s) - blood flow

RQ - Respiratory Quotient

Vcytox (mmHg*ml/s) - Vmax for cytochrome oxidase in tissue

Kcytox (mmHg) - Km for cytochrome oxidase in tissue

d(respective-stock)/dt - represent the growth/decay rates of the concentrations of O2 and CO2 in different compartments over time

t - represents time

*Since ODE are presented for every stock some of the ODE elements (representing respective flows) may repeat.

## HOW TO USE IT

(1) Setup: creates basic conditions for the model to run (i.e. erases data from previous runs, set parameter values typical for the chosen scenario, etc.).

(2) Go: starts running the model with generation of new variables values as a result of calculations, performed every time-step.

(3) Scenario chooser: select a scenario from a list (“Normal", “ARDS”, “Hyperoxia", “Cyanide poisoning”). The scenario should be chosen before pressing “Setup” and “Go” buttons.

(4) Stop-timer? switch: the Off position will allow to run the model until stopped by pressing Go button. Otherwise it will stop after 50000 ticks.

(5) Plot - represents a number of model variables over time (O2 and CO2 concentrations in different compartments)

(6) through (15) are monitors which report respective model variables: O2 and CO2 concentrations (mmHg) in different compartments (lung interstitium, lung capillary, tissue capillary, tissue) and O2 consumption and CO2 generation (ml).

(16) through (34) are sliders which allow to change some parameters of the model (e.g. F-slider - blood flow; PS-O_1, PS-O_2, and PS-alv- sliders - permeability-surface area products for O2: lung capillary, tissue capillary, alveoli; PS-C_1, PS-C_2, and GCair- sliders - permeability-surface area products for CO2: lung capillary, tissue capillary, alveoli; RQ-slider - Respiratory Quotient; Vcytox and Kcytox-sliders - cytochrome oxidase activity parameters; O-11/O-12/O-21/O-22-sliders - concentrations of O2 in the lung capillaries, in the lung interstitium, in the tissue capillaries, in the tissue; C-11/C-12/C-21/C-22-sliders - concentrations of CO2 in the lung capillaries, in the lung interstitium, in the tissue capillaries, in the tissue; Cin-slider - oxygen concentration in inflow stream.

These values can be changed before a model run: after pressing ‘Setup’ and before pressing ‘Go’ buttons. Otherwise the sliders will show preset values depending on the chosen scenario.

## THINGS TO NOTICE

The mathematic model presented here is a relatively simple description of complex and heterogeneous conditions that regulate blood–tissue CO2 interchange. As such, it deserves careful scrutiny regarding its assumptions and applicability.

Tissue O2 - is an averaged figure (physiologic values can range from 8 +- 3.2 mmHg in the superficial skin to 33.8 +- 2.6 in the brain and 72 +- 20 in the kidney).

This model is based on the JSim “Gas_exchange” model (GEM). The variable/parameter values of the actual model may differ from GEM. The variables values were selected to generate “an overall picture” in terms of O2 and CO2 level in different body compartments closer to the findings common for a particular scenario/pathology.

It assumes perfect mixing for the tissue and blood compartments ignoring the heterogeneous transport of O2 and CO2 especially at the tissue level. Different concentration gradients are likely to exist within regions of tissue and blood.

The model has a steady-state nature, in which all chemical and diffusive processes are assumed to have reached equilibrium. Thus, the model is not applicable to rapidly varying conditions in which time-dependent changes in O2 and CO2 are paramount. With original settings the model will run for 50000 ticks and stop. The running time can be extended by respective switch.

It also assumes a nonpulsatile, constant blood flow and an effective lung ventilation where CO2 is rapidly removed and alveolar partial pressure of O2 for “Normal” scenario is 105 mmHg.

The figures for O2 consumption and CO2 generation in ml/min at the tissue level are products of the respective flows, related with tissue stocks, and a coefficient (i.e. 1.8E4) that gives a ‘normal’ O2 consumption and CO2 generation in an ‘average’ individual at rest.

## THINGS TO TRY

One can change the blood flow, using respective F-slider and observe the influence on O2 and CO2 partial pressure at different levels, especially in the tissue and especially in case of extreme values for flow.

Try to change the RQ slider and observe the effects on O2 consumption and CO2 generation in case of different RQ values.

Try to change other sliders and see the effect. Special attention should be paid to PS-sliders since changes in membranes permeability is a common finding in a number of pathological states (e.g. pulmonary edema, ARDS, sepsis, etc.)

Try to model oxygen-therapy in a patient with ARDS. Which slider(s) would be involved?

## EXTENDING THE MODEL

Adding more monitors for different tissue (e.g. skin, brain, myocardium, liver, kidney) - it will also request adjustment of the blood flow distribution to these organs.

The model can also be extended by adding more scenarios.

## NETLOGO FEATURES

This model uses the ODE from “Gas_exchange” Model (GEM) and scenarios present in the actual model are based on parameter settings that better describe the situation with respective scenarios. Scenario settings are coded in the main code tab while stocks and flows are coded using SDM.

The presence of sliders allow to investigate the model behavior under a range of parameter values and observe the results on respective monitors. This makes the actual model different from the “Gas_exchange” model. Although the accuracy of this model might be lower than GEM its flexibility seems to be welcomed especially in an education environment.

## RELATED MODELS

* "Gas_exchange" model http://www.physiome.org/jsim/models/webmodel/NSR/Gas_Exch/

## CREDITS AND REFERENCES

This simple abstract model was developed by Victor Iapascurta, MD. At time of development he was in the Department of Anesthesia and Intensive Care at University of Medicine and Pharmacy in Chisinau, Moldova / ICU at City Emergency Hospital in Chisinau. Please email any questions or comments to viapascurta@yahoo.com

The model was created in NetLogo 6.0.2, Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. for CEEA (Committee for European Education in Anaesthesiology) Courses, Chisinau, Moldova, February 7-9, 2018 where the author of the model delivered “Mathematical modeling and computer simulation of biological processes: respiratory system” course.

For the “Gas_exchange” Model: 1999-2011 University of Washington. From the National Simulation Resource, Director J. B. Bassingthwaighte, Department of Bioengineering, University of Washington, Seattle WA 98195-5061.

http://www.physiome.org/jsim/models/webmodel/NSR/Gas_Exch/

Re. medical aspects:

* A. Carreau et al., Why is the partial oxygen pressure of human tissues a crucial parameter? Small molecules and hypoxia, J. Cell. Mol. Med. Vol 15, No6, 2011 pp . 1239 - 1253

* M. Pinsky et al., Applied Physiology in Intensive Care Medicine 1 & 2, Springer; 3rd ed. 2012

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

to setup
  ca
    if (Scenario = "Normal")  ;; setting parameters for different scenarios
  [
    set F-slider 1.0
    set PS-O_1-slider 0.2
    set PS-O_2-slider 0.012
    set PS-alv-slider 0.2
    set PS-C_1-slider 1.0
    set PS-C_2-slider 0.2
    set GCair-slider 0.03
    set RQ-slider 1.0
    set Vcytox-slider 1.25
    set Kcytox-slider 0.5
    set O-11-slider 40
    set O-12-slider 100
    set O-21-slider 20
    set O-22-slider 10
    set C-11-slider 0
    set C-12-slider 0
    set C-21-slider 0
    set C-22-slider 60
    set Cin-slider 105
    set stop-timer? true
     ]

   if (Scenario = "ARDS")
  [
    set F-slider 1.0
    set PS-O_1-slider 0.02
    set PS-O_2-slider 0.025
    set PS-alv-slider 0.08
    set PS-C_1-slider 1.0
    set PS-C_2-slider 0.2; 1.0
    set GCair-slider 0.03
    set RQ-slider 1.0
    set Vcytox-slider 1.25; 1.0
    set Kcytox-slider 0.5
    set O-11-slider 40
    set O-12-slider 100
    set O-21-slider 20
    set O-22-slider 10
    set C-11-slider 0
    set C-12-slider 0
    set C-21-slider 0
    set C-22-slider 60
    set Cin-slider 105
    set stop-timer? true
     ]

   if (Scenario = "Hyperoxia")
  [
    set F-slider 1.0
    set PS-O_1-slider 0.2
    set PS-O_2-slider 0.005
    set PS-alv-slider 0.2
    set PS-C_1-slider 1.0
    set PS-C_2-slider 0.2
    set GCair-slider 0.03
    set RQ-slider 1.0
    set Vcytox-slider 1.25
    set Kcytox-slider 0.5
    set O-11-slider 40
    set O-12-slider 100
    set O-21-slider 20
    set O-22-slider 10
    set C-11-slider 0
    set C-12-slider 0
    set C-21-slider 0
    set C-22-slider 60
    set Cin-slider 290
    set stop-timer? true
     ]

   if (Scenario = "Cyanide-poisoning")
  [
    set F-slider 0.4
    set PS-O_1-slider 0.2
    set PS-O_2-slider 0.01
    set PS-alv-slider 0.2
    set PS-C_1-slider 1.0
    set PS-C_2-slider 1.0
    set GCair-slider 0.03
    set RQ-slider 1.0
    set Vcytox-slider 0.1
    set Kcytox-slider 0.5
    set O-11-slider 40
    set O-12-slider 100
    set O-21-slider 20
    set O-22-slider 10
    set C-11-slider 0
    set C-12-slider 0
    set C-21-slider 0
    set C-22-slider 60
    set Cin-slider 100
    set stop-timer? true
     ]

    system-dynamics-setup
end 

to go

  if stop-timer? = true and ticks >= 50000 [stop]     ;; setting the condition to stop running
                                                      ;; the model after 50000 ticks, if respective
  system-dynamics-do-plot                             ;; switch is on
  system-dynamics-go

 tick
end 

There is only one version of this model, created 11 months ago by Victor Iapascurta.

Attached files

File Type Description Last updated
O2-CO2 Transport and Exchange.png preview Preview for 'O2-CO2 Transport and Exchange' 11 months ago, by Victor Iapascurta Download

This model does not have any ancestors.

This model does not have any descendants.