#include <EngineTest.h>
Inherits Loggable.
Public Member Functions | |
PulseEngineTest () | |
PulseEngineTest (Logger *logger) | |
virtual | ~PulseEngineTest () |
bool | RunTest (const std::string &testName, const std::string &sOutputDirectory) |
void | FillFunctionMap () |
void | CardiovascularCircuitAndTransportTest (const std::string &sTestDirectory) |
void | CardiovascularAndRenalCircuitAndTransportTest (const std::string &sTestDirectory) |
void | CardiovascularAndTissueCircuitAndTransportTest (const std::string &sTestDirectory) |
void | CardiovascularAndCerebrospinalFluidCircuitAndTransportTest (const std::string &sTestDirectory) |
void | FullCardiovascularCircuitAndTransportTest (const std::string &sTestDirectory) |
void | CardiovascularBloodGasesTest (const std::string &sTestDirectory) |
void | TuneCardiovascularCircuitTest (const std::string &sTestDirectory) |
void | CardiovascularCircuitScaleTests (const std::string &sTestDirectory) |
void | RenalCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RenalTGFFeedbackTest (const std::string &sTestDirectory) |
void | RenalTGFandUPRFeedbackTest (const std::string &sTestDirectory) |
void | RenalSecretionTest (const std::string &sTestDirectory) |
void | RenalUrinateTest (const std::string &sTestDirectory) |
void | RespiratoryCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RespiratoryDriverTest (const std::string &sTestDirectory) |
void | AnesthesiaMachineCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RespiratoryWithAnesthesiaMachineCircuitAndTransportTest (const std::string &sTestDirectory) |
void | MechanicalVentilatorCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RespiratoryWithMechanicalVentilatorCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RespiratoryWithInhalerCircuitAndTransportTest (const std::string &sTestDirectory) |
void | RespiratoryWithMechanicalVentilationCircuitAndTransportTest (const std::string &sTestDirectory) |
void | InternalTemperatureVariableBMRCircuitTest (const std::string &sTestDirectory) |
void | InternalTemperatureVariableSkinCircuitTest (const std::string &sTestDirectory) |
void | InternalTemperatureVariableCoreCircuitTest (const std::string &sTestDirectory) |
void | EnvironmentVariableTemperatureCircuitTest (const std::string &sTestDirectory) |
void | CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitTest (const std::string &sTestDirectory) |
void | CombinedInternalAndEnvironmentSkinTempDropCircuitTest (const std::string &sTestDirectory) |
void | EnvironmentISO7730ComparisonTest (const std::string &sTestDirectory) |
void | DiffusionClearanceExcretionTests (const std::string &rptDirectory) |
void | AlveolarCarbonDioxideDiffusionTest (const std::string &rptDirectory) |
void | AlveolarOxygenDiffusionTest (const std::string &rptDirectory) |
void | InstantPlusSimpleDiffusionTest (const std::string &rptDirectory) |
void | SimpleDiffusionTwoCompartmentTest (const std::string &rptDirectory) |
void | SimpleDiffusionFourCompartmentTest (const std::string &rptDirectory) |
void | SimpleDiffusionHierarchyTest (const std::string &rptDirectory) |
void | FacilitatedDiffusionTest (const std::string &rptDirectory) |
void | BrainInjuryTest (const std::string &rptDirectory) |
void | FourCompartmentTestSimple (const std::string &sOutputDirectory) |
void | AcidBaseFourCompartmentTest (const std::string &sOutputDirectory) |
void | FiveCompartmentTestWithDiffusion (const std::string &sOutputDirectory) |
void | AcidBaseFourCompartmentTestWithProductionConsumption (const std::string &sOutputDirectory) |
void | AcidBaseFiveCompartmentTestWithDiffusion (const std::string &sOutputDirectory) |
void | AcidBaseFiveCompartmentTestWithProductionConsumptionAndDiffusion (const std::string &sOutputDirectory) |
void | AcidBaseMathTest (const std::string &sOutputDirectory) |
void | AcidBaseFeedbackTest (const std::string &sOutputDirectory) |
void | AcidBaseLimitsTest (const std::string &sOutputDirectory) |
void | AcidBaseExtremeTest (const std::string &rptDirectory) |
void | AcidBaseBloodGasTests (const std::string &sOutputDirectory) |
void | AerosolTest (const std::string &sOutputDirectory) |
void | ConditionCombinations (const std::string &rptDirectory) |
void | MultiEngineTest (const std::string &sTestDirectory) |
void | SerializationTest (const std::string &sTestDirectory) |
void | SolverSpeedTest (const std::string &sTestDirectory) |
void | ReadScenarios (const std::string &sOutputDirectory) |
Protected Types | |
enum | CardiovascularDriver { Sinusoid = 0, Heart } |
enum | RenalFeedback { TGF, TGFandUPR } |
enum | RenalSystems { Secretion, Urinating } |
enum | RespiratoryConfiguration { RespiratorySolo, AnesthesiaMachineSolo, RespiratoryWithAnesthesiaMachine, RespiratoryWithInhaler, RespiratoryWithMechanicalVentilation, MechanicalVentilatorSolo, RespiratoryWithMechanicalVentilator } |
enum | bloodType { ARTERIAL, VENOUS, CAPILLARY, RESPIRATORY_ACIDOSIS, METABOLIC_ALKALOSIS, METABOLIC_ACIDOSIS, RESPIRATORY_ALKALOSIS, CUSTOM } |
typedef void(PulseEngineTest::* | testFunction) (const std::string &) |
typedef std::map< std::string, testFunction > | testMap |
Protected Member Functions | |
void | SinusoidHeartDriver (double time_s, double heartRate_s, double &lHeartElastance, double &rHeartElastance) |
void | CardiovascularCircuitAndTransportTest (CardiovascularDriver driverType, double complianceScale, double resistanceScale, double volumeScale, double heartRate_bpm, double sysRes, double sysComp, double aortaRes, double aortaComp, double rightHeartRes, double venaCavaComp, bool connectTissue, bool connectRenal, bool connectCSF, bool balanceBloodgases, const std::string &sTestDirectory, const std::string &sTestName, bool breakOutResults) |
void | TuneCardiovascularCircuitTest (SETestSuite &testSuite, const std::string &sTestDirectory, const std::string &sTestName, SEPatient &patient) |
void | RenalFeedbackTest (RenalFeedback feedback, const std::string &sTestDirectory, const std::string &sTestName) |
void | RenalSystemTest (RenalSystems systemtest, const std::string &sTestDirectory, const std::string &sTestName) |
checks secretion function and osmolarity/lality calculations as a function of substance quantities More... | |
void | RespiratoryCircuitAndTransportTest (RespiratoryConfiguration config, const std::string &sTestDirectory) |
void | AnesthesiaMachineCircuitAndTransportTest (RespiratoryConfiguration config, const std::string &sTestDirectory) |
Runs the test for the circuit math in the anesthesia machine. More... | |
void | MechanicalVentilatorCircuitAndTransportTest (RespiratoryConfiguration config, const std::string &sTestDirectory) |
Runs the test for the circuit math in the machanical ventilator. More... | |
void | DistributeMass (SETestSuite &testSuite) |
void | PerfusionLimitedDiffusionTest (SETestSuite &testSuite) |
void | InstantDiffusionTest (SETestSuite &testSuite) |
void | ActiveTransportTest (SETestSuite &testSuite) |
void | GenericClearanceTest (SETestSuite &testSuite) |
void | GenericExcretionTest (SETestSuite &testSuite) |
void | FourCompartmentTest (bool usingAcidBase, bool usingProductionConsumption, bool usingDiffusion, const std::string &sOutputDirectory) |
void | AcidBaseBloodGasTest (PulseController &bg, bloodType compartment, SETestSuite &testSuite) |
void | SizeIndependentDepositionEfficencyCoefficientsTest (SETestSuite &suite, SESubstance &substance, double expectedMouthCoeff, double expectedCarinaCoeff, double expectedDeadSpaceCoeff, double expectedAlveoliCoeff) |
void | DepositionFractionTest (SETestSuite &suite, SESubstance &substance, double expectedMouthDepFrac, double expectedCarinaDepFrac, double expectedLeftDeadSpaceDepFrac, double expectedLeftAlveoliDepFrac, double expectedRightDeadSpaceDepFrac, double expectedRightAlveoliDepFrac) |
void | InhalerState (PhysiologyEngine *bg, HowToTracker &tracker) |
void | InjectSuccsState (PhysiologyEngine *bg, HowToTracker &tracker, const SESubstance &succs) |
Protected Attributes | |
bool | myLogger |
testMap | bgeMap |
std::stringstream | m_ss |
double | m_MeanAortaPressure |
double | m_MeanCVPressure |
double | m_Systolic |
double | m_Diastolic |
double | m_Pulse |
double | m_CardiacOutput |
bool | usingAcidBase |
bool | usingProductionConsumption |
bool | usingDiffusion |
Additional Inherited Members | |
![]() | |
Loggable (Logger *logger=nullptr) | |
Loggable (std::string const &logfile) | |
virtual | ~Loggable () |
virtual Logger * | GetLogger () const |
virtual void | SetLogger (Logger &logger) |
virtual void | Debug (std::string const &msg, std::string const &origin=empty) const |
virtual void | Debug (std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Debug (std::ostream &msg, std::string const &origin=empty) const |
virtual void | Info (std::string const &msg, std::string const &origin=empty) const |
virtual void | Info (std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Info (const std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Info (std::ostream &msg, std::string const &origin=empty) const |
virtual void | Warning (std::string const &msg, std::string const &origin=empty) const |
virtual void | Warning (std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Warning (std::ostream &msg, std::string const &origin=empty) const |
virtual void | Error (std::string const &msg, std::string const &origin=empty) const |
virtual void | Error (std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Error (std::ostream &msg, std::string const &origin=empty) const |
virtual void | Fatal (std::string const &msg, std::string const &origin=empty) const |
virtual void | Fatal (std::stringstream &msg, std::string const &origin=empty) const |
virtual void | Fatal (std::ostream &msg, std::string const &origin=empty) const |
std::string | to_string (int i) |
std::string | to_string (unsigned int i) |
std::string | to_string (size_t t) |
std::string | to_string (float f) |
std::string | to_string (double d) |
![]() | |
bool | myLogger |
Logger * | m_Logger |
![]() | |
static const std::string | empty |
Member Typedef Documentation
◆ testFunction
|
protected |
◆ testMap
|
protected |
Member Enumeration Documentation
◆ bloodType
|
protected |
◆ CardiovascularDriver
|
protected |
◆ RenalFeedback
|
protected |
◆ RenalSystems
|
protected |
◆ RespiratoryConfiguration
|
protected |
Constructor & Destructor Documentation
◆ PulseEngineTest() [1/2]
PulseEngineTest::PulseEngineTest | ( | ) |
◆ PulseEngineTest() [2/2]
PulseEngineTest::PulseEngineTest | ( | Logger * | logger | ) |
◆ ~PulseEngineTest()
|
virtual |
Member Function Documentation
◆ AcidBaseBloodGasTest()
|
protected |
◆ AcidBaseBloodGasTests()
void PulseEngineTest::AcidBaseBloodGasTests | ( | const std::string & | sOutputDirectory | ) |
- Todo:
- Do these tests with Strong Ion Differences once we ensure the Sodium, Potassium, and Chloride concentrations are correct and being handled properly
◆ AcidBaseExtremeTest()
void PulseEngineTest::AcidBaseExtremeTest | ( | const std::string & | rptDirectory | ) |
◆ AcidBaseFeedbackTest()
void PulseEngineTest::AcidBaseFeedbackTest | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseFiveCompartmentTestWithDiffusion()
void PulseEngineTest::AcidBaseFiveCompartmentTestWithDiffusion | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseFiveCompartmentTestWithProductionConsumptionAndDiffusion()
void PulseEngineTest::AcidBaseFiveCompartmentTestWithProductionConsumptionAndDiffusion | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseFourCompartmentTest()
void PulseEngineTest::AcidBaseFourCompartmentTest | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseFourCompartmentTestWithProductionConsumption()
void PulseEngineTest::AcidBaseFourCompartmentTestWithProductionConsumption | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseLimitsTest()
void PulseEngineTest::AcidBaseLimitsTest | ( | const std::string & | sOutputDirectory | ) |
◆ AcidBaseMathTest()
void PulseEngineTest::AcidBaseMathTest | ( | const std::string & | sOutputDirectory | ) |
◆ ActiveTransportTest()
|
protected |
◆ AerosolTest()
void PulseEngineTest::AerosolTest | ( | const std::string & | sOutputDirectory | ) |
◆ AlveolarCarbonDioxideDiffusionTest()
void PulseEngineTest::AlveolarCarbonDioxideDiffusionTest | ( | const std::string & | rptDirectory | ) |
◆ AlveolarOxygenDiffusionTest()
void PulseEngineTest::AlveolarOxygenDiffusionTest | ( | const std::string & | rptDirectory | ) |
◆ AnesthesiaMachineCircuitAndTransportTest() [1/2]
void PulseEngineTest::AnesthesiaMachineCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ AnesthesiaMachineCircuitAndTransportTest() [2/2]
|
protected |
Runs the test for the circuit math in the anesthesia machine.
- Parameters
-
sTestDirectory Contains the path to the directory where the output file is stored
Tests the anesthesia machine circuit mechanics by reading in a text file that contains the driver and variable values for the circuit elements.The outputs are the resultant flows and pressures on the circuit nodes and paths. These are then stored in a file in sTestDirectory
◆ BrainInjuryTest()
void PulseEngineTest::BrainInjuryTest | ( | const std::string & | rptDirectory | ) |
◆ CardiovascularAndCerebrospinalFluidCircuitAndTransportTest()
void PulseEngineTest::CardiovascularAndCerebrospinalFluidCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ CardiovascularAndRenalCircuitAndTransportTest()
void PulseEngineTest::CardiovascularAndRenalCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ CardiovascularAndTissueCircuitAndTransportTest()
void PulseEngineTest::CardiovascularAndTissueCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ CardiovascularBloodGasesTest()
void PulseEngineTest::CardiovascularBloodGasesTest | ( | const std::string & | sTestDirectory | ) |
◆ CardiovascularCircuitAndTransportTest() [1/2]
void PulseEngineTest::CardiovascularCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ CardiovascularCircuitAndTransportTest() [2/2]
|
protected |
◆ CardiovascularCircuitScaleTests()
void PulseEngineTest::CardiovascularCircuitScaleTests | ( | const std::string & | sTestDirectory | ) |
◆ CombinedInternalAndEnvironmentSkinTempDropCircuitTest()
void PulseEngineTest::CombinedInternalAndEnvironmentSkinTempDropCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitTest()
void PulseEngineTest::CombinedInternalAndEnvironmentVariableBMRandTemperatureCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ ConditionCombinations()
void PulseEngineTest::ConditionCombinations | ( | const std::string & | rptDirectory | ) |
◆ DepositionFractionTest()
|
protected |
◆ DiffusionClearanceExcretionTests()
void PulseEngineTest::DiffusionClearanceExcretionTests | ( | const std::string & | rptDirectory | ) |
◆ DistributeMass()
|
protected |
◆ EnvironmentISO7730ComparisonTest()
void PulseEngineTest::EnvironmentISO7730ComparisonTest | ( | const std::string & | sTestDirectory | ) |
◆ EnvironmentVariableTemperatureCircuitTest()
void PulseEngineTest::EnvironmentVariableTemperatureCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ FacilitatedDiffusionTest()
void PulseEngineTest::FacilitatedDiffusionTest | ( | const std::string & | rptDirectory | ) |
- Todo:
- Relate capillary coverage to tissue mass.
◆ FillFunctionMap()
void PulseEngineTest::FillFunctionMap | ( | ) |
◆ FiveCompartmentTestWithDiffusion()
void PulseEngineTest::FiveCompartmentTestWithDiffusion | ( | const std::string & | sOutputDirectory | ) |
◆ FourCompartmentTest()
|
protected |
◆ FourCompartmentTestSimple()
void PulseEngineTest::FourCompartmentTestSimple | ( | const std::string & | sOutputDirectory | ) |
◆ FullCardiovascularCircuitAndTransportTest()
void PulseEngineTest::FullCardiovascularCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ GenericClearanceTest()
|
protected |
◆ GenericExcretionTest()
|
protected |
◆ InhalerState()
|
protected |
◆ InjectSuccsState()
|
protected |
◆ InstantDiffusionTest()
|
protected |
- Todo:
- This methodology assumes binary compartments. It works in prototype for multiple compartment instant diffusion, but needs to be tested beyond two compartments.
◆ InstantPlusSimpleDiffusionTest()
void PulseEngineTest::InstantPlusSimpleDiffusionTest | ( | const std::string & | rptDirectory | ) |
◆ InternalTemperatureVariableBMRCircuitTest()
void PulseEngineTest::InternalTemperatureVariableBMRCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ InternalTemperatureVariableCoreCircuitTest()
void PulseEngineTest::InternalTemperatureVariableCoreCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ InternalTemperatureVariableSkinCircuitTest()
void PulseEngineTest::InternalTemperatureVariableSkinCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ MechanicalVentilatorCircuitAndTransportTest() [1/2]
void PulseEngineTest::MechanicalVentilatorCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ MechanicalVentilatorCircuitAndTransportTest() [2/2]
|
protected |
Runs the test for the circuit math in the machanical ventilator.
- Parameters
-
sTestDirectory Contains the path to the directory where the output file is stored
Tests the mechanical ventilator circuit mechanics by reading in a text file that contains the driver and variable values for the circuit elements.The outputs are the resultant flows and pressures on the circuit nodes and paths. These are then stored in a file in sTestDirectory
◆ MultiEngineTest()
void PulseEngineTest::MultiEngineTest | ( | const std::string & | sTestDirectory | ) |
◆ PerfusionLimitedDiffusionTest()
|
protected |
◆ ReadScenarios()
void PulseEngineTest::ReadScenarios | ( | const std::string & | sOutputDirectory | ) |
◆ RenalCircuitAndTransportTest()
void PulseEngineTest::RenalCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RenalFeedbackTest()
|
protected |
◆ RenalSecretionTest()
void PulseEngineTest::RenalSecretionTest | ( | const std::string & | sTestDirectory | ) |
◆ RenalSystemTest()
|
protected |
checks secretion function and osmolarity/lality calculations as a function of substance quantities
increment postassium values above average blood concentration levels and let run for a number of seconds. After stabilization time has run compute osmolarity/lality output potassium blood concentration levels and osmolarity/lality, check against data.
◆ RenalTGFandUPRFeedbackTest()
void PulseEngineTest::RenalTGFandUPRFeedbackTest | ( | const std::string & | sTestDirectory | ) |
◆ RenalTGFFeedbackTest()
void PulseEngineTest::RenalTGFFeedbackTest | ( | const std::string & | sTestDirectory | ) |
◆ RenalUrinateTest()
void PulseEngineTest::RenalUrinateTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryCircuitAndTransportTest() [1/2]
void PulseEngineTest::RespiratoryCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryCircuitAndTransportTest() [2/2]
|
protected |
◆ RespiratoryDriverTest()
void PulseEngineTest::RespiratoryDriverTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryWithAnesthesiaMachineCircuitAndTransportTest()
void PulseEngineTest::RespiratoryWithAnesthesiaMachineCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryWithInhalerCircuitAndTransportTest()
void PulseEngineTest::RespiratoryWithInhalerCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryWithMechanicalVentilationCircuitAndTransportTest()
void PulseEngineTest::RespiratoryWithMechanicalVentilationCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RespiratoryWithMechanicalVentilatorCircuitAndTransportTest()
void PulseEngineTest::RespiratoryWithMechanicalVentilatorCircuitAndTransportTest | ( | const std::string & | sTestDirectory | ) |
◆ RunTest()
bool PulseEngineTest::RunTest | ( | const std::string & | testName, |
const std::string & | sOutputDirectory | ||
) |
◆ SerializationTest()
void PulseEngineTest::SerializationTest | ( | const std::string & | sTestDirectory | ) |
◆ SimpleDiffusionFourCompartmentTest()
void PulseEngineTest::SimpleDiffusionFourCompartmentTest | ( | const std::string & | rptDirectory | ) |
◆ SimpleDiffusionHierarchyTest()
void PulseEngineTest::SimpleDiffusionHierarchyTest | ( | const std::string & | rptDirectory | ) |
◆ SimpleDiffusionTwoCompartmentTest()
void PulseEngineTest::SimpleDiffusionTwoCompartmentTest | ( | const std::string & | rptDirectory | ) |
◆ SinusoidHeartDriver()
|
protected |
◆ SizeIndependentDepositionEfficencyCoefficientsTest()
|
protected |
◆ SolverSpeedTest()
void PulseEngineTest::SolverSpeedTest | ( | const std::string & | sTestDirectory | ) |
◆ TuneCardiovascularCircuitTest() [1/2]
void PulseEngineTest::TuneCardiovascularCircuitTest | ( | const std::string & | sTestDirectory | ) |
◆ TuneCardiovascularCircuitTest() [2/2]
|
protected |
Member Data Documentation
◆ bgeMap
|
protected |
◆ m_CardiacOutput
|
protected |
◆ m_Diastolic
|
protected |
◆ m_MeanAortaPressure
|
protected |
◆ m_MeanCVPressure
|
protected |
◆ m_Pulse
|
protected |
◆ m_ss
|
protected |
◆ m_Systolic
|
protected |
◆ myLogger
|
protected |
◆ usingAcidBase
|
protected |
◆ usingDiffusion
|
protected |
◆ usingProductionConsumption
|
protected |