Source Code

The code base consists of:

The source is structured as follows:

  • bin - Contains all data and configuration files needed for execution of the engine
  • data - Contains the Microsoft Excel spreadsheets for all data sets
  • lib - Contains third party libraries used by this project (see Third Party Credits for more details)
  • src
    • cdm - Code associated with the Common Data Model and Software Framework and Physiology Engine Interface
    • cmake - The directory where cmake will create build files
    • engine - Code associated with the lumped parameter models
      • PulseConfiguration - Pulse specific configuration parameters for all systems/equipment
      • PulseScenario - A Pulse specific scenario (i.e. holds a Pulse configuration object)
      • controller - These classes hold data necessary by the model, control the advancement of time
        • Controller -
        • Circuits - Manages all circuits associated with all Pulse systems/equipement.
        • Compartments - Manages all compartments and graphs associated with all Pulse systems/equipement.
        • Engine - This is the implementation of the PhysiologyEngine interface for the this engines.
        • ScenarioExec - Overloaded scenario exector to run a Pulse specific scenario.
        • Substances - Manages and initializes all systems with substances needed by Pulse.
        • System - Generic class for handling the Pulse stabilization methodology.
      • systems - These classes implement the methodology for modeling and simulating
        • BloodChemistry -
        • Cardiovascular - The Cardiovascular system utilizes circuit methodology to characterize the intravascular fluid dynamics throughout the body.
        • Drugs - The drug system contains the physiologically based pharmacokinetic (PBPK) model and the pharmacodynamic (PD) model.
        • Endocrine -
        • Energy -
        • Environment - The Environment class characterizes the environment and manages interactions between the body its surroundings.
        • Gastrointestinal -
        • Nervous - The nervous class holds models of the peripheral and central nervous system. Currently, on the baroreceptor reflex is modeled.
        • Renal -
        • Respiratory - The Respiratory System class handles the analysis and storage of data related the respiratory physiology and pathology.
        • SaturationCalculator - The SaturationCalculator class holds the blood gas distribution model.
        • Tissue - This class encapsulates logic necessary to connect independent systems together.
      • equipment
    • gui - Code associated with the Toolkit GUI
    • schema - The xsd data definitions used by the CDM
    • sdk - Example code and scripts for the Toolkit and Software Development Kit
    • utils - Various utilities used in validation
    • verification - Extract the verification files into this directory. You can get more detail here.

Building

Refer to the repository for build instructions