86 void init(
int argc,
char** argv);
size_t mPmlYSize
Depth of the perfectly matched layer in y.
bool isPrintVersionOnly() const
Is –version set?
size_t mSensorMaskCornersSize
Sensor_mask_corners_size - how many cuboids are in the mask.
void saveScalarsToOutputFile()
Save scalar values into the output HDF5 file.
float mDx
Spatial displacement in x.
bool getStoreVelocityFinalAllFlag() const
Is –u_final set?
float getDt() const
Get time step size.
float getRho0Scalar() const
Get value of homogeneous medium density.
bool getStoreVelocityRmsFlag() const
Is –u_rms set?
SensorMaskType mSensorMaskType
Sensor mask type (index / corners).
Hdf5File & getCheckpointFile()
Get checkpoint file handle.
float getDx() const
Get spatial displacement in x.
float mPmlZAlpha
Perfectly matched layer attenuation in z.
size_t mVelocitySourceMany
Number of time series in the velocity sources.
float mAbsorbTauScalar
Absorb tau coefficient for homogeneous medium.
size_t getCompressionLevel() const
Get compression level.
size_t getPmlYSize() const
Get depth of the perfectly matched layer in y.
size_t getVelocitySourceMode() const
Get velocity source mode.
float mCRef
Reference sound speed.
bool getC0ScalarFlag() const
Is sound speed in the medium homogeneous (scalar value)?
float getAlphaPower() const
Get alpha power value for the absorption law.
size_t getNt() const
Get total number of time steps.
void readScalarsFromInputFile()
Read scalar values from the input HDF5 file.
float mRho0Scalar
Homogeneous medium density.
The class to parse and store command line parameters.
bool getRho0ScalarFlag() const
Is density in the medium homogeneous (scalar value)?
float getAbsorbEtaScalar() const
Get absorb eta coefficient for homogeneous medium (scalar value)?
size_t mNt
Total number of time steps.
Hdf5FileHeader & getFileHeader()
Get file header handle.
size_t getPressureSourceIndexSize() const
Get spatial size of the pressure source.
size_t getTransducerSourceFlag() const
Get transducer source flag.
std::string getCheckpointFileName() const
Get checkpoint file name.
The header file containing the HDF5 related classes.
bool getStoreVelocityMaxFlag() const
Is –u_max set?
float getRho0SgyScalar() const
Get value of homogeneous medium density on staggered grid in y direction.
size_t getSensorMaskIndexSize() const
Get spatial size of the index sensor mask.
bool getStoreVelocityMinAllFlag() const
Is –u_min set?
Parameters()
Constructor not allowed for public.
size_t getNonLinearFlag() const
Is the wave propagation nonlinear?
std::string getInputFileName() const
Get input file name.
float getDtRho0SgzScalar() const
Get value of dt / rho0Sgz.
size_t mSensorMaskIndexSize
How many elements there are in the linear mask.
float mRho0SgxScalar
Homogeneous medium density on staggered grid in x direction.
size_t mVelocityZSourceFlag
Velocity in z source flag.
bool getStorePressureMinAllFlag() const
Is –p_min_all set?
bool getStoreVelocityNonStaggeredRawFlag() const
Is –u_non_staggered_raw set?
Class storing all parameters of the simulation.
size_t getNumberOfThreads() const
Get number of threads.
void printSimulatoinSetup()
Print the simulation setup (all parameters).
float mRho0SgzScalar
Homogeneous medium density on staggered grid in z direction.
const std::string & getOutputFileName() const
Get output file name.
Hdf5File & getOutputFile()
Get output file handle.
size_t mTransducerSourceInputSize
Spatial size of the transducer source.
DimensionSizes getFullDimensionSizes() const
Get full dimension sizes of the simulation (real classes).
float mBOnAScalar
Nonlinear coefficient for homogenous medium.
bool getStoreVelocityMinFlag() const
Is –u_min set?
SensorMaskType
Sensor mask type (linear or cuboid corners).
bool mC0ScalarFlag
Is sound speed in the medium homogeneous?
size_t mTransducerSourceFlag
Transducer source flag.
void setAbsorbTauScalar(const float absorbTau)
Set absorb tau coefficient for homogeneous medium (scalar value).
size_t getCheckpointInterval() const
Get checkpoint interval.
float getDtRho0SgyScalar() const
Get value of dt / rho0Sgy.
bool isPrintVersionOnly() const
Shall the code print version and exit?
size_t getNumberOfThreads() const
Get number of CPU threads to use.
bool getStoreVelocityRawFlag() const
Is -u or –u_raw specified at the command line?
bool mRho0ScalarFlag
Is density in the medium homogeneous?
bool getStorePressureMinAllFlag() const
Is –p_min_all set?
size_t getPressureSourceFlag() const
Get pressure source flag.
float getC2Scalar() const
Get scalar value of sound speed squared.
virtual ~Parameters()
Destructor.
Parameters & operator=(const Parameters &)=delete
operator= not allowed.
float mAlphaCoeffScalar
Alpha absorption coefficient.
bool getStorePressureFinalAllFlag() const
Is –p_final set?
size_t mPmlXSize
Depth of the perfectly matched layer in x.
bool getStoreVelocityRawFlag() const
Is –u_raw set?
size_t getNonUniformGridFlag() const
Enable non uniform grid? - not implemented yet.
bool getStoreVelocityMinAllFlag() const
Is –u_min set?
bool getStoreVelocityNonStaggeredRawFlag() const
Is –u_non_staggered_raw set?
Hdf5File mCheckpointFile
Handle to the checkpoint HDF5 file.
bool mBOnAScalarFlag
Is nonlinear coefficient homogeneous in the medium?
Hdf5File mInputFile
Handle to the input HDF5 file.
float getPmlZAlpha() const
Get Perfectly matched layer attenuation in z , not implemented.
bool getStoreVelocityFinalAllFlag() const
Is –u_final set?
size_t getSamplingStartTimeIndex() const
Get start time index when sensor data collection begins.
size_t getSamplingStartTimeIndex() const
Get start time index when sensor data collection begins.
float getRho0SgzScalar() const
Get value of homogeneous medium density on staggered grid in z direction.
CommandLineParameters mCommandLineParameters
Class with command line parameters.
void incrementTimeIndex()
Increment simulation time step.
size_t mVelocitySourceIndexSize
Spatial size of the velocity source.
size_t getVelocityXSourceFlag() const
Get velocity in x source flag.
size_t mPressureSourceIndexSize
Spatial size of the pressure source.
Class wrapping the HDF5 routines.
float getDz() const
Get spatial displacement in z.
bool getStoreVelocityRmsFlag() const
Is –u_rms set?
bool getStoreVelocityMaxFlag() const
Is –u_max set?
void setTimeIndex(const size_t timeIndex)
Set simulation time step - should be used only when recovering from checkpoint.
float getDtRho0SgxScalar() const
Get value of dt / rho0Sgx.
bool getBOnAScalarFlag() const
Is nonlinear coefficient homogeneous in the medium (scalar value)?
float mAbsorbEtaScalar
Absorb eta coefficient for homogeneous medium.
DimensionSizes mReducedDimensionSizes
Reduced 3D dimension sizes.
size_t mVelocitySourceMode
Velocity source mode.
float getBOnAScalar() const
Get nonlinear coefficient for homogenous medium.
Structure with 4D dimension sizes (3 in space and 1 in time).
float getRho0SgxScalar() const
Get value of homogeneous medium density on staggered grid in x direction.
bool getStoreVelocityMaxAllFlag() const
Is –u_max_all set?
float getCRef() const
Get reference sound speed.
float getDy() const
Get spatial displacement in y.
size_t getInitialPressureSourceFlag() const
Get initial pressure source flag (p0).
DimensionSizes mFullDimensionSizes
Full 3D dimension sizes.
size_t mInitialPressureSourceFlag
Initial pressure source flag (p0).
bool isCheckpointEnabled() const
Is checkpoint enabled?
Cuboid corners sensor mask.
Hdf5File mOutputFile
Handle to the output HDF5 file.
float mAlphaPower
Alpha power value for the absorption law.
bool getStorePressureMaxAllFlag() const
Is –p_max_all set?
bool getCopySensorMaskFlag() const
Is –copy_mask set set?
The header file containing the structure with 3D dimension sizes.
SensorMaskType getSensorMaskType() const
Get sensor mask type (linear or corners).
const std::string & getInputFileName() const
Get input file name.
size_t getTransducerSourceInputSize() const
Get spatial size of the transducer source.
void setAbsorbEtaScalar(const float absrobEta)
Set absorb eta coefficient for homogeneous medium (scalar value).
bool getStorePressureMinFlag() const
Is –p_min set?
const std::string & getCheckpointFileName() const
Get Checkpoint file name.
size_t mAbsorbingFlag
Is the simulation absrobing or lossless?
float getC0Scalar() const
Get scalar value of sound speed.
size_t getTimeIndex() const
Get actual simulation time step.
bool getStorePressureFinalAllFlag() const
Is –p_final set?
size_t getCompressionLevel() const
Get compression level.
size_t getProgressPrintInterval() const
Get progress print interval.
size_t getVelocitySourceIndexSize() const
Get spatial size of the velocity source.
Hdf5File & getInputFile()
Get input file handle.
bool getStorePressureRawFlag() const
Is -p or –p_raw specified at the command line?
bool getAlphaCoeffScalarFlag() const
Is alpha absorption coefficient homogeneous (scalar value)?
float mDz
Spatial displacement in z.
float getPmlYAlpha() const
Get Perfectly matched layer attenuation in y, not implemented.
float mRho0SgyScalar
Homogeneous medium density on staggered grid in y direction.
std::string getOutputFileName() const
Get output file name.
size_t getVelocityYSourceFlag() const
Get velocity in y source flag.
static bool sParametersInstanceFlag
Singleton flag.
float mDy
Spatial displacement in y.
void init(int argc, char **argv)
Parse command line and read scalar values form the input file.
size_t mPressureSourceFlag
Pressure source flag.
float getAlphaCoeffScalar() const
Get value of alpha absorption coefficient.
size_t getPressureSourceMany() const
Get number of time series in the pressure source.
size_t getPressureSourceMode() const
Get pressure source mode.
bool getStoreVelocityMaxAllFlag() const
Is –u_max_all set?
bool getStorePressureMaxFlag() const
Is –p_max set?
size_t getVelocityZSourceFlag() const
Get velocity in z source flag.
size_t getCheckpointInterval() const
Get checkpoint interval.
bool getStorePressureMaxAllFlag() const
Is –p_max_all set?
static Parameters * sPrametersInstance
Singleton instance.
size_t mPressureSourceMode
Pressure source mode.
bool getStorePressureMaxFlag() const
Is –p_max set?
size_t getVelocitySourceMany() const
Get number of time series in the velocity sources.
static Parameters & getInstance()
Get instance of the singleton class.
The header file containing the command line parameters.
size_t getAbsorbingFlag() const
Is the simulation absrobing or lossless?
bool getStorePressureMinFlag() const
Is –p_min set?
float mPmlXAlpha
Perfectly matched layer attenuation in x.
float getAbsorbTauScalar() const
Get absorb tau coefficient for homogeneous medium.
size_t mNonLinearFlag
Is the wave propagation nonlinear?
float mPmlYAlpha
Perfectly matched layer attenuation in y.
bool mAlphaCoeffScalarFlag
Is alpha absorption coefficient homogeneous?
std::string getGitHash() const
Get git hash of the code.
size_t mTimeIndex
Actual time index (time step of the simulation).
size_t mNonUniformGridFlag
Enable non uniform grid?
size_t mPmlZSize
Depth of the perfectly matched layer in z.
bool isCheckpointEnabled() const
Is checkpoint enabled?
size_t mVelocityXSourceFlag
Velocity in x source flag.
size_t getSensorMaskCornersSize() const
Get number of cuboids the sensor is composed of.
float getPmlXAlpha() const
Get Perfectly matched layer attenuation in x, not implemented.
bool getStoreVelocityMinFlag() const
Is –u_min set?
bool getCopySensorMaskFlag() const
Is –copy_mask set set?
size_t getProgressPrintInterval() const
Get progress print interval.
size_t mPressureSourceMany
Number of time series in the pressure source.
bool getStorePressureRmsFlag() const
Is –p_rms set?
size_t getPmlXSize() const
Get depth of the perfectly matched layer in x.
bool getStorePressureRmsFlag() const
Is –p_rms set?
size_t getPmlZSize() const
Get depth of the perfectly matched layer in z.
DimensionSizes getReducedDimensionSizes() const
Get reduced dimension sizes of the simulation (complex classes).
float mC0Scalar
Scalar value of sound speed.
bool getStorePressureRawFlag() const
Is –p_raw set?
size_t mVelocityYSourceFlag
Velocity in y source flag.
Hdf5FileHeader mFileHeader
Handle to file header.