kspaceFirstOrder3D-OMP
1.2
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
Class storing all parameters of the simulation. More...
#include <Parameters.h>
Public Types | |
enum | SensorMaskType { SensorMaskType::kIndex = 0, SensorMaskType::kCorners = 1 } |
Sensor mask type (linear or cuboid corners). More... | |
Public Member Functions | |
Parameters (const Parameters &)=delete | |
Copy constructor not allowed. | |
virtual | ~Parameters () |
Destructor. More... | |
Parameters & | operator= (const Parameters &)=delete |
operator= not allowed. | |
void | init (int argc, char **argv) |
Parse command line and read scalar values form the input file. More... | |
void | printSimulatoinSetup () |
Print the simulation setup (all parameters). More... | |
bool | isPrintVersionOnly () const |
Shall the code print version and exit? More... | |
void | readScalarsFromInputFile () |
Read scalar values from the input HDF5 file. More... | |
void | saveScalarsToOutputFile () |
Save scalar values into the output HDF5 file. More... | |
std::string | getGitHash () const |
Get git hash of the code. More... | |
size_t | getNumberOfThreads () const |
Get number of CPU threads to use. More... | |
size_t | getCompressionLevel () const |
Get compression level. More... | |
size_t | getProgressPrintInterval () const |
Get progress print interval. More... | |
bool | isCheckpointEnabled () const |
Is checkpoint enabled? More... | |
size_t | getCheckpointInterval () const |
Get checkpoint interval. More... | |
Hdf5File & | getInputFile () |
Get input file handle. More... | |
Hdf5File & | getOutputFile () |
Get output file handle. More... | |
Hdf5File & | getCheckpointFile () |
Get checkpoint file handle. More... | |
Hdf5FileHeader & | getFileHeader () |
Get file header handle. More... | |
std::string | getInputFileName () const |
Get input file name. More... | |
std::string | getOutputFileName () const |
Get output file name. More... | |
std::string | getCheckpointFileName () const |
Get checkpoint file name. More... | |
DimensionSizes | getFullDimensionSizes () const |
Get full dimension sizes of the simulation (real classes). More... | |
DimensionSizes | getReducedDimensionSizes () const |
Get reduced dimension sizes of the simulation (complex classes). More... | |
size_t | getNt () const |
Get total number of time steps. More... | |
size_t | getTimeIndex () const |
Get actual simulation time step. More... | |
void | setTimeIndex (const size_t timeIndex) |
Set simulation time step - should be used only when recovering from checkpoint. More... | |
void | incrementTimeIndex () |
Increment simulation time step. | |
float | getDt () const |
Get time step size. More... | |
float | getDx () const |
Get spatial displacement in x. More... | |
float | getDy () const |
Get spatial displacement in y. More... | |
float | getDz () const |
Get spatial displacement in z. More... | |
float | getCRef () const |
Get reference sound speed. More... | |
bool | getC0ScalarFlag () const |
Is sound speed in the medium homogeneous (scalar value)? More... | |
float | getC0Scalar () const |
Get scalar value of sound speed. More... | |
float | getC2Scalar () const |
Get scalar value of sound speed squared. More... | |
bool | getRho0ScalarFlag () const |
Is density in the medium homogeneous (scalar value)? More... | |
float | getRho0Scalar () const |
Get value of homogeneous medium density. More... | |
float | getRho0SgxScalar () const |
Get value of homogeneous medium density on staggered grid in x direction. More... | |
float | getDtRho0SgxScalar () const |
Get value of dt / rho0Sgx. More... | |
float | getRho0SgyScalar () const |
Get value of homogeneous medium density on staggered grid in y direction. More... | |
float | getDtRho0SgyScalar () const |
Get value of dt / rho0Sgy. More... | |
float | getRho0SgzScalar () const |
Get value of homogeneous medium density on staggered grid in z direction. More... | |
float | getDtRho0SgzScalar () const |
Get value of dt / rho0Sgz. More... | |
size_t | getNonUniformGridFlag () const |
Enable non uniform grid? - not implemented yet. More... | |
size_t | getAbsorbingFlag () const |
Is the simulation absrobing or lossless? More... | |
size_t | getNonLinearFlag () const |
Is the wave propagation nonlinear? More... | |
bool | getAlphaCoeffScalarFlag () const |
Is alpha absorption coefficient homogeneous (scalar value)? More... | |
float | getAlphaCoeffScalar () const |
Get value of alpha absorption coefficient. More... | |
float | getAlphaPower () const |
Get alpha power value for the absorption law. More... | |
float | getAbsorbEtaScalar () const |
Get absorb eta coefficient for homogeneous medium (scalar value)? More... | |
void | setAbsorbEtaScalar (const float absrobEta) |
Set absorb eta coefficient for homogeneous medium (scalar value). More... | |
float | getAbsorbTauScalar () const |
Get absorb tau coefficient for homogeneous medium. More... | |
void | setAbsorbTauScalar (const float absorbTau) |
Set absorb tau coefficient for homogeneous medium (scalar value). More... | |
bool | getBOnAScalarFlag () const |
Is nonlinear coefficient homogeneous in the medium (scalar value)? More... | |
float | getBOnAScalar () const |
Get nonlinear coefficient for homogenous medium. More... | |
size_t | getPmlXSize () const |
Get depth of the perfectly matched layer in x. More... | |
size_t | getPmlYSize () const |
Get depth of the perfectly matched layer in y. More... | |
size_t | getPmlZSize () const |
Get depth of the perfectly matched layer in z. More... | |
float | getPmlXAlpha () const |
Get Perfectly matched layer attenuation in x, not implemented. More... | |
float | getPmlYAlpha () const |
Get Perfectly matched layer attenuation in y, not implemented. More... | |
float | getPmlZAlpha () const |
Get Perfectly matched layer attenuation in z , not implemented. More... | |
size_t | getPressureSourceFlag () const |
Get pressure source flag. More... | |
size_t | getInitialPressureSourceFlag () const |
Get initial pressure source flag (p0). More... | |
size_t | getTransducerSourceFlag () const |
Get transducer source flag. More... | |
size_t | getVelocityXSourceFlag () const |
Get velocity in x source flag. More... | |
size_t | getVelocityYSourceFlag () const |
Get velocity in y source flag. More... | |
size_t | getVelocityZSourceFlag () const |
Get velocity in z source flag. More... | |
size_t | getPressureSourceIndexSize () const |
Get spatial size of the pressure source. More... | |
size_t | getTransducerSourceInputSize () const |
Get spatial size of the transducer source. More... | |
size_t | getVelocitySourceIndexSize () const |
Get spatial size of the velocity source. More... | |
size_t | getPressureSourceMode () const |
Get pressure source mode. More... | |
size_t | getPressureSourceMany () const |
Get number of time series in the pressure source. More... | |
size_t | getVelocitySourceMode () const |
Get velocity source mode. More... | |
size_t | getVelocitySourceMany () const |
Get number of time series in the velocity sources. More... | |
SensorMaskType | getSensorMaskType () const |
Get sensor mask type (linear or corners). More... | |
size_t | getSensorMaskIndexSize () const |
Get spatial size of the index sensor mask. More... | |
size_t | getSensorMaskCornersSize () const |
Get number of cuboids the sensor is composed of. More... | |
size_t | getSamplingStartTimeIndex () const |
Get start time index when sensor data collection begins. More... | |
bool | getStorePressureRawFlag () const |
Is -p or –p_raw specified at the command line? More... | |
bool | getStorePressureRmsFlag () const |
Is –p_rms set? More... | |
bool | getStorePressureMaxFlag () const |
Is –p_max set? More... | |
bool | getStorePressureMinFlag () const |
Is –p_min set? More... | |
bool | getStorePressureMaxAllFlag () const |
Is –p_max_all set? More... | |
bool | getStorePressureMinAllFlag () const |
Is –p_min_all set? More... | |
bool | getStorePressureFinalAllFlag () const |
Is –p_final set? More... | |
bool | getStoreVelocityRawFlag () const |
Is -u or –u_raw specified at the command line? More... | |
bool | getStoreVelocityNonStaggeredRawFlag () const |
Is –u_non_staggered_raw set? More... | |
bool | getStoreVelocityRmsFlag () const |
Is –u_rms set? More... | |
bool | getStoreVelocityMaxFlag () const |
Is –u_max set? More... | |
bool | getStoreVelocityMinFlag () const |
Is –u_min set? More... | |
bool | getStoreVelocityMaxAllFlag () const |
Is –u_max_all set? More... | |
bool | getStoreVelocityMinAllFlag () const |
Is –u_min set? More... | |
bool | getStoreVelocityFinalAllFlag () const |
Is –u_final set? More... | |
bool | getCopySensorMaskFlag () const |
Is –copy_mask set set? More... | |
Static Public Member Functions | |
static Parameters & | getInstance () |
Get instance of the singleton class. More... | |
Protected Member Functions | |
Parameters () | |
Constructor not allowed for public. More... | |
Private Attributes | |
CommandLineParameters | mCommandLineParameters |
Class with command line parameters. | |
Hdf5File | mInputFile |
Handle to the input HDF5 file. | |
Hdf5File | mOutputFile |
Handle to the output HDF5 file. | |
Hdf5File | mCheckpointFile |
Handle to the checkpoint HDF5 file. | |
Hdf5FileHeader | mFileHeader |
Handle to file header. | |
DimensionSizes | mFullDimensionSizes |
Full 3D dimension sizes. | |
DimensionSizes | mReducedDimensionSizes |
Reduced 3D dimension sizes. | |
size_t | mNt |
Total number of time steps. | |
size_t | mTimeIndex |
Actual time index (time step of the simulation). | |
float | mDt |
Time step size. | |
float | mDx |
Spatial displacement in x. | |
float | mDy |
Spatial displacement in y. | |
float | mDz |
Spatial displacement in z. | |
float | mCRef |
Reference sound speed. | |
bool | mC0ScalarFlag |
Is sound speed in the medium homogeneous? | |
float | mC0Scalar |
Scalar value of sound speed. | |
bool | mRho0ScalarFlag |
Is density in the medium homogeneous? | |
float | mRho0Scalar |
Homogeneous medium density. | |
float | mRho0SgxScalar |
Homogeneous medium density on staggered grid in x direction. | |
float | mRho0SgyScalar |
Homogeneous medium density on staggered grid in y direction. | |
float | mRho0SgzScalar |
Homogeneous medium density on staggered grid in z direction. | |
size_t | mNonUniformGridFlag |
Enable non uniform grid? | |
size_t | mAbsorbingFlag |
Is the simulation absrobing or lossless? | |
size_t | mNonLinearFlag |
Is the wave propagation nonlinear? | |
bool | mAlphaCoeffScalarFlag |
Is alpha absorption coefficient homogeneous? | |
float | mAlphaCoeffScalar |
Alpha absorption coefficient. | |
float | mAlphaPower |
Alpha power value for the absorption law. | |
float | mAbsorbEtaScalar |
Absorb eta coefficient for homogeneous medium. | |
float | mAbsorbTauScalar |
Absorb tau coefficient for homogeneous medium. | |
bool | mBOnAScalarFlag |
Is nonlinear coefficient homogeneous in the medium? | |
float | mBOnAScalar |
Nonlinear coefficient for homogenous medium. | |
size_t | mPmlXSize |
Depth of the perfectly matched layer in x. | |
size_t | mPmlYSize |
Depth of the perfectly matched layer in y. | |
size_t | mPmlZSize |
Depth of the perfectly matched layer in z. | |
float | mPmlXAlpha |
Perfectly matched layer attenuation in x. | |
float | mPmlYAlpha |
Perfectly matched layer attenuation in y. | |
float | mPmlZAlpha |
Perfectly matched layer attenuation in z. | |
size_t | mPressureSourceFlag |
Pressure source flag. | |
size_t | mInitialPressureSourceFlag |
Initial pressure source flag (p0). | |
size_t | mTransducerSourceFlag |
Transducer source flag. | |
size_t | mVelocityXSourceFlag |
Velocity in x source flag. | |
size_t | mVelocityYSourceFlag |
Velocity in y source flag. | |
size_t | mVelocityZSourceFlag |
Velocity in z source flag. | |
size_t | mPressureSourceIndexSize |
Spatial size of the pressure source. | |
size_t | mTransducerSourceInputSize |
Spatial size of the transducer source. | |
size_t | mVelocitySourceIndexSize |
Spatial size of the velocity source. | |
size_t | mPressureSourceMode |
Pressure source mode. | |
size_t | mPressureSourceMany |
Number of time series in the pressure source. | |
size_t | mVelocitySourceMode |
Velocity source mode. | |
size_t | mVelocitySourceMany |
Number of time series in the velocity sources. | |
SensorMaskType | mSensorMaskType |
Sensor mask type (index / corners). | |
size_t | mSensorMaskIndexSize |
How many elements there are in the linear mask. | |
size_t | mSensorMaskCornersSize |
Sensor_mask_corners_size - how many cuboids are in the mask. | |
Static Private Attributes | |
static bool | sParametersInstanceFlag = false |
Singleton flag. | |
static Parameters * | sPrametersInstance = nullptr |
Singleton instance. | |
Class storing all parameters of the simulation.
Definition at line 50 of file Parameters.h.
|
strong |
Sensor mask type (linear or cuboid corners).
Enumerator | |
---|---|
kIndex | Linear sensor mask. |
kCorners | Cuboid corners sensor mask. |
Definition at line 59 of file Parameters.h.
|
virtual |
Destructor.
Definition at line 70 of file Parameters.cpp.
|
protected |
Constructor.
Definition at line 489 of file Parameters.cpp.
|
inline |
Definition at line 340 of file Parameters.h.
|
inline |
Definition at line 314 of file Parameters.h.
|
inline |
Definition at line 350 of file Parameters.h.
|
inline |
Definition at line 330 of file Parameters.h.
|
inline |
Definition at line 325 of file Parameters.h.
|
inline |
Definition at line 335 of file Parameters.h.
|
inline |
Definition at line 366 of file Parameters.h.
|
inline |
Definition at line 361 of file Parameters.h.
|
inline |
Definition at line 254 of file Parameters.h.
|
inline |
Definition at line 249 of file Parameters.h.
|
inline |
Definition at line 259 of file Parameters.h.
|
inline |
Definition at line 163 of file Parameters.h.
|
inline |
Definition at line 184 of file Parameters.h.
|
inline |
Definition at line 145 of file Parameters.h.
|
inline |
Definition at line 127 of file Parameters.h.
|
inline |
Definition at line 586 of file Parameters.h.
|
inline |
Definition at line 244 of file Parameters.h.
|
inline |
Definition at line 222 of file Parameters.h.
|
inline |
Definition at line 281 of file Parameters.h.
|
inline |
Definition at line 291 of file Parameters.h.
|
inline |
Definition at line 301 of file Parameters.h.
|
inline |
Definition at line 227 of file Parameters.h.
|
inline |
Definition at line 232 of file Parameters.h.
|
inline |
Definition at line 237 of file Parameters.h.
|
inline |
Definition at line 168 of file Parameters.h.
|
inline |
Definition at line 191 of file Parameters.h.
string Parameters::getGitHash | ( | ) | const |
Get GitHash of the code
Definition at line 471 of file Parameters.cpp.
|
inline |
Definition at line 413 of file Parameters.h.
|
inline |
Definition at line 153 of file Parameters.h.
|
inline |
Definition at line 174 of file Parameters.h.
|
static |
Get instance of singleton class.
Definition at line 84 of file Parameters.cpp.
|
inline |
Definition at line 319 of file Parameters.h.
|
inline |
Definition at line 309 of file Parameters.h.
|
inline |
Definition at line 203 of file Parameters.h.
|
inline |
Definition at line 121 of file Parameters.h.
|
inline |
Definition at line 158 of file Parameters.h.
|
inline |
Definition at line 179 of file Parameters.h.
|
inline |
Definition at line 389 of file Parameters.h.
|
inline |
Definition at line 373 of file Parameters.h.
|
inline |
Definition at line 394 of file Parameters.h.
|
inline |
Definition at line 378 of file Parameters.h.
|
inline |
Definition at line 399 of file Parameters.h.
|
inline |
Definition at line 383 of file Parameters.h.
|
inline |
Definition at line 408 of file Parameters.h.
|
inline |
Definition at line 444 of file Parameters.h.
|
inline |
Definition at line 466 of file Parameters.h.
|
inline |
Definition at line 461 of file Parameters.h.
|
inline |
Definition at line 133 of file Parameters.h.
|
inline |
Definition at line 197 of file Parameters.h.
|
inline |
Definition at line 271 of file Parameters.h.
|
inline |
Definition at line 266 of file Parameters.h.
|
inline |
Definition at line 276 of file Parameters.h.
|
inline |
Definition at line 286 of file Parameters.h.
|
inline |
Definition at line 296 of file Parameters.h.
|
inline |
Definition at line 499 of file Parameters.h.
|
inline |
Definition at line 494 of file Parameters.h.
|
inline |
Definition at line 489 of file Parameters.h.
|
inline |
Definition at line 484 of file Parameters.h.
|
inline |
Definition at line 535 of file Parameters.h.
|
inline |
Definition at line 525 of file Parameters.h.
|
inline |
Definition at line 515 of file Parameters.h.
|
inline |
Definition at line 530 of file Parameters.h.
|
inline |
Definition at line 520 of file Parameters.h.
|
inline |
Definition at line 505 of file Parameters.h.
|
inline |
Definition at line 510 of file Parameters.h.
|
inline |
Definition at line 580 of file Parameters.h.
|
inline |
Definition at line 570 of file Parameters.h.
|
inline |
Definition at line 560 of file Parameters.h.
|
inline |
Definition at line 575 of file Parameters.h.
|
inline |
Definition at line 565 of file Parameters.h.
|
inline |
Definition at line 547 of file Parameters.h.
|
inline |
Definition at line 542 of file Parameters.h.
|
inline |
Definition at line 555 of file Parameters.h.
|
inline |
Definition at line 208 of file Parameters.h.
|
inline |
Definition at line 419 of file Parameters.h.
|
inline |
Definition at line 449 of file Parameters.h.
|
inline |
Definition at line 454 of file Parameters.h.
|
inline |
Definition at line 477 of file Parameters.h.
|
inline |
Definition at line 472 of file Parameters.h.
|
inline |
Definition at line 425 of file Parameters.h.
|
inline |
Definition at line 431 of file Parameters.h.
|
inline |
Definition at line 437 of file Parameters.h.
void Parameters::init | ( | int | argc, |
char ** | argv | ||
) |
[in] | argc | - Number of commandline parameters. |
[in] | argv | - Commandline parameters. |
std::invalid_argument | - If sampling is supposed to start out of the simulation time span. |
Parse command line and read scalar values from the input file to initialise the class and the simulation.
Definition at line 102 of file Parameters.cpp.
|
inline |
Definition at line 140 of file Parameters.h.
|
inline |
Definition at line 95 of file Parameters.h.
void Parameters::printSimulatoinSetup | ( | ) |
Print parameters of the simulation based in the actual level of verbosity.
Definition at line 137 of file Parameters.cpp.
void Parameters::readScalarsFromInputFile | ( | ) |
ios:failure | - If the file cannot be open or is of a wrong type or version. |
std::invalid_argument | - If some values are not correct or not supported. |
Read scalar values from the input HDF5 file.
Definition at line 169 of file Parameters.cpp.
void Parameters::saveScalarsToOutputFile | ( | ) |
ios:failure | - If the output file is closed. |
Save scalars into the output HDF5 file.
Definition at line 391 of file Parameters.cpp.
|
inline |
[in] | absrobEta | - New value for absorb eta |
Definition at line 345 of file Parameters.h.
|
inline |
[in] | absorbTau | - New value for absorb tau. |
Definition at line 355 of file Parameters.h.
|
inline |
[in] | timeIndex | - Actual time step. |
Definition at line 213 of file Parameters.h.