The code base consists of:
- Engine - A C++ based lumped parameter model
- Common Data Model and Software Framework - A set of generalized data classes for defining the data interfaces of a Physiology Engine Interface
- Toolkit - Various tools for execution and data manipulation, primarily written in Java
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)
- 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.
- 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.
Refer to the repository for build instructions