Simulation parameters

Hello you all,
I need to run few respiratory simulations and for doing so I need to control some of the parameters of the respiratory system.
1) patient Airway Resistance (Raw)
2)Breathing rate (which I already know how to control)
3)Tidal volume
4)Functional Residual Capacity (FRC)

Should I use the SDK kit?
How I control these parameters? Can you send me a guide or guide me somehow?
How can I get the lung/mouth pressure chart at the output?

Thank you in advance,


  • coolwebbcoolwebb Entry Level

    I would definitely recommend using the SDK for examples on interfacing with the API. You will probably want to specifically look at HowTo-AirwayObstruction.cpp.

    BioGears is designed to mechanistically simulate a virtual patient and generally does not have any sort of parameter override during simulations. Changes to the systems occur through Conditions and Actions (see, whose effects propagate to specific outputs due to the various feedback mechanisms. Here are suggestions for controlling the parameters you listed:

    1)Airway Resistance: The airway resistance can be increased by using the Airway Obstruction action, which maps a severity (0-1) to a specific resistance value. You can use the SDK example I mentioned above to see how that works. If you need more control than that, you would likely want to create an action that allows you to set specific resistance values. This would be more advanced and require getting in the code and recompiling.

    2)Breathing Rate: The patient's Respiration Rate Baseline can be explicitly set - see HowTo-CreateAPatient in the SDK for examples of setting patient parameters. During simulations, it cannot be directly controlled through the API. It will certainly change based on any conditions or actions that are called. By modifying the code itself, an action could be created to modify the frequency of the respiratory driver.

    3)Tidal Volume: The patient's Tidal Volume Baseline cannot be explicitly set. It is most sensitive to changes in the patient's weight. See for details about how patient parameters are determined. Like Respiration Rate, Tidal Volume currently cannot be directly controlled during a simulation, but changes based on conditions and actions.

    4)Functional Residual Capacity: The patient's baseline FRC can be explicitly set in the same way as the Respiration Rate Baseline - through the patient parameter.

    5)Output Lung/Mouth Pressure Chart: You can use Data Requests to output any system data or compartment data you would like. There are examples of this throughout the SDK. See for details. You will need to generate whatever chart your application requires using this data. You can optionally use the Toolkit Developer GUI to plot Data Requests - see

    Let us know if you have any other questions, and good luck!
  • Is this the correct line which I need to add in order to change the FRC value?

    I add this line in the patient file.

    Thank you.
  • coolwebbcoolwebb Entry Level
    The FRC can be set with this call in the API: patient.SetFunctionalResidualCapacity(2.3, VolumeUnit::L); (see HowTo-CreateAPatient.cpp)
    with this line in a patient file: FunctionalResidualCapacity value="2.3" unit="L"
Sign In or Register to comment.