We use this space to talk about various features and possibilities you may not know Pulse supports, demonstrate best practices, and provide detailed explanations for any questions or problems anyone brings to our attention.
If you would like us to expand upon anything feel free to bring it up in our discourse channel.
We also assume you have build the source code per instruction from our repository.
We will refer to the source code directory as <pulse/source>
The build directory you set where you ran CMake, will be refereed to as <pulse/build>
All commands will be run from a terminal in the <pulse/build>/install/bin, which we will refer to as <pulse/bin>
The script to run all of our tests, utilities, and tools is written in CMake to ensure cross platform compatibility. CMake should be available on your path to use these tools. We also provide a simple run batch/shell script wrapper around the CMake calling format to be run as follows :
# The CMake invocationcmake -DTYPE:STRING=[command]-P run.cmake # On Windows> run [command]# On Linux/Max$ ./run.sh [command]# Note you may need to do a $ chmod +x run.sh# To run this script on your machine
Where [command] can be one of the following values:
genData - Generate pba files from data in the <pulse/source>/data/Data.xlxs file (Patients, Substances, etc.)
genStates - Generate a state file for every patient at the point where the patient completed stabilization (Simulation time 0s)to <pulse/bin>/states
SystemValidation - Will use <pulse/source>/test/config/ValidationSystems.config to create system validation tables in the <pulse/bin>/test_results directory
PatientValidation - Will use <pulse/source>/test/config/ValidationPatients.config to create patient validation tables in the <pulse/bin>/test_results directory
The names of the other config files in the <pulse/source>/test/config/ directory without the suffix
For Example : DebugRun, CDMUnitTests, ValidationSystems, VerificationScenarios, etc.
With exception of the Characterize.config, this is a legacy testing configuration that will not work
Lastly, to follow along and both execute and debug the engine, you will need to pull all of our baseline scenarios. If you chose not to pull the baselines in your build process (you do not have a <pulse/bin>/verification folder), you will need to pull them. From a command/terminal running in the <pulse/bin>, execute the following command :
# Windows> run updateBaselines# On Mac/Linux$ ./run.sh updateBaselines
This baseline collection will be create the following folder : <pulse/bin>/verification. It will contain both Scenario files, and baseline results files. We will discuss the baseline results in the test suite section.
Being a C++ library, Pulse requires a separate application to instantiate and execute the engine. We will explore various execution mechanisms in our repository in the sections below :