251 size_t sensorMaskTypeNumericValue = 0;
255 switch (sensorMaskTypeNumericValue)
453 size_t sensorMaskTypeNumericValue = 0;
473 #if (defined (__KWAVE_GIT_HASH__)) 474 return string(__KWAVE_GIT_HASH__);
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.
ErrorMessage kErrFmtBadMajorFileVersion
Command line parameters error message.
SensorMaskType mSensorMaskType
Sensor mask type (index / corners).
void writeScalarValue(const hid_t parentGroup, MatrixName &datasetName, const T value)
Write the scalar value under a specified group.
float mPmlZAlpha
Perfectly matched layer attenuation in z.
MatrixName kVelocityXSourceFlagName
ux_source_flag variable name
size_t mVelocitySourceMany
Number of time series in the velocity sources.
MatrixName kVelocitySourceManyName
u_source_many variable name
float mAbsorbTauScalar
Absorb tau coefficient for homogeneous medium.
hid_t getRootGroup() const
Get handle to the root group of the file.
float mCRef
Reference sound speed.
size_t nz
Number of elements in the z direction.
OutputMessage kOutFmtReadingConfiguration
Output message.
OutputMessage kOutFmtNumberOfThreads
Output message.
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.
MatrixName kDtName
dt variable name
void open(const std::string &fileName, unsigned int flags=H5F_ACC_RDONLY)
Open the HDF5 file.
size_t mNt
Total number of time steps.
MatrixName kAlphaPowerName
alpha_power variable name
static void log(const LogLevel queryLevel, const std::string &format, Args ... args)
Log desired activity for a given log level, version with string format.
Advanced level of verbosity.
MatrixName kPressureSourceFlagName
p_source_flag variable name
Parameters()
Constructor not allowed for public.
std::string getInputFileName() const
Get input file name.
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.
DimensionSizes getDatasetDimensionSizes(const hid_t parentGroup, MatrixName &datasetName)
Get dimension sizes of the dataset under a specified group.
MatrixName kRho0Name
rho0 variable name
Class storing all parameters of the simulation.
bool isBenchmarkEnabled() const
Is –benchmark set?
void printSimulatoinSetup()
Print the simulation setup (all parameters).
float mRho0SgzScalar
Homogeneous medium density on staggered grid in z direction.
MatrixName kNzName
Nz variable name.
MatrixName kPressureSourceManyName
p_source_many variable name
OutputMessage kOutFmtSimulationDetailsTitle
Output message.
ErrorMessage kErrFmtIllegalAlphaPowerValue
Command line parameters error message.
MatrixName kPmlXAlphaName
pml_x_alpha variable name
MatrixName kNonUniformGridFlagName
nonuniform_grid_flag variable name
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.
SensorMaskType
Sensor mask type (linear or cuboid corners).
bool mC0ScalarFlag
Is sound speed in the medium homogeneous?
size_t mTransducerSourceFlag
Transducer source flag.
size_t getNumberOfThreads() const
Get number of CPU threads to use.
MatrixName kNonLinearFlagName
nonlinear_flag variable name
OutputMessage kOutFmtSensorMaskIndex
Output message.
bool mRho0ScalarFlag
Is density in the medium homogeneous?
The header file containing the parameters of the simulation.
virtual ~Parameters()
Destructor.
MatrixName kPressureSourceModeName
p_source_mode variable name
void readScalarValue(const hid_t parentGroup, MatrixName &datasetName, T &value)
Read the scalar value under a specified group.
float mAlphaCoeffScalar
Alpha absorption coefficient.
MatrixName kNtName
Nt variable name.
MatrixName kPmlXSizeName
pml_x_size variable name
size_t mPmlXSize
Depth of the perfectly matched layer in x.
size_t getDatasetSize(const hid_t parentGroup, MatrixName &datasetName)
Get dataset element count at a specified place in the file tree.
bool getStoreVelocityNonStaggeredRawFlag() const
Is –u_non_staggered_raw set?
OutputMessage kOutFmtDomainSize
Output message.
OutputMessage kOutFmtSimulatoinLenght
Output message.
MatrixName kInitialPressureSourceFlagName
p0_source_flag variable name
Hdf5File mCheckpointFile
Handle to the checkpoint HDF5 file.
bool mBOnAScalarFlag
Is nonlinear coefficient homogeneous in the medium?
ErrorMessage kErrFmtBadMinorFileVersion
Command line parameters error message.
MatrixName kC0Name
c0 variable name
Hdf5File mInputFile
Handle to the input HDF5 file.
MatrixName kCRefName
c_ref variable name
size_t getSamplingStartTimeIndex() const
Get start time index when sensor data collection begins.
CommandLineParameters mCommandLineParameters
Class with command line parameters.
MatrixName kBonAName
BonA variable name.
size_t mVelocitySourceIndexSize
Spatial size of the velocity source.
The header file containing a class responsible for printing out info and error messages (stdout...
ErrorMessage kErrFmtIllegalSamplingStartTimeStep
Command line parameters error message.
size_t mPressureSourceIndexSize
Spatial size of the pressure source.
MatrixName kPmlZAlphaName
pml_z_alpha variable name
OutputMessage kOutFmtDomainSizeFormat
Output message.
static std::string formatMessage(const std::string &format, Args ... args)
C++-11 replacement for sprintf that works with std::string instead of char*.
MatrixName kPmlYAlphaName
pml_y_alpha variable name
float mAbsorbEtaScalar
Absorb eta coefficient for homogeneous medium.
DimensionSizes mReducedDimensionSizes
Reduced 3D dimension sizes.
size_t mVelocitySourceMode
Velocity source mode.
Structure with 4D dimension sizes (3 in space and 1 in time).
The header file storing names of all variables.
MatrixName kDyName
dy variable name
DimensionSizes mFullDimensionSizes
Full 3D dimension sizes.
MatrixName kVelocitySourceIndexName
u_source_index variable name
size_t mInitialPressureSourceFlag
Initial pressure source flag (p0).
Cuboid corners sensor mask.
Hdf5File mOutputFile
Handle to the output HDF5 file.
float mAlphaPower
Alpha power value for the absorption law.
bool getCopySensorMaskFlag() const
Is –copy_mask set set?
SensorMaskType getSensorMaskType() const
Get sensor mask type (linear or corners).
const std::string & getInputFileName() const
Get input file name.
MatrixName kDxName
dx variable name
ErrorMessage kErrFmtNonStaggeredVelocityNotSupportedFileVersion
Command line parameters error message.
MatrixName kPmlZSizeName
pml_z_size variable name
MatrixName kVelocitySourceModeName
u_source_mode variable name
MatrixName kAbsorbingFlagName
absorbing_flag variable name
size_t mAbsorbingFlag
Is the simulation absrobing or lossless?
size_t ny
Number of elements in the y direction.
MatrixName kAlphaCoeffName
alpha_coeff variable name
MatrixName kDzName
dz variable name
ErrorMessage kErrFmtBadInputFileFormat
Command line parameters error message.
MatrixName kTransducerSourceFlagName
transducer_source_flag variable name
MatrixName kSensorMaskIndexName
sensor_mask_index variable name
void printComandlineParamers()
Print setup commandline parameters.
OutputMessage kOutFmtSensorMaskCuboid
Output message.
OutputMessage kOutFmtGitHashLeft
Output message.
MatrixName kNxName
Nx variable name.
MatrixName kPmlYSizeName
pml_y_size variable name
Basic (default) level of verbosity.
float mDz
Spatial displacement in z.
MatrixName kRho0SgyName
rho0_sgy variable name
MatrixName kSensorMaskTypeName
sensor_mask_type variable name
float mRho0SgyScalar
Homogeneous medium density on staggered grid in y direction.
MatrixName kNyName
Ny variable name.
MatrixName kTransducerSourceInputName
transducer_source_input variable name
static bool sParametersInstanceFlag
Singleton flag.
MatrixName kRho0SgzName
rho0_sgz variable name
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 getBenchmarkTimeStepsCount() const
Get benchmark time step count.
MatrixName kSensorMaskCornersName
sensor_mask_corners variable name
size_t mPressureSourceFlag
Pressure source flag.
size_t nx
Number of elements in the x direction.
static Parameters * sPrametersInstance
Singleton instance.
OutputMessage kOutFmtSeparator
Output message - separator.
size_t mPressureSourceMode
Pressure source mode.
MatrixName kPressureSourceIndexName
p_source_index variable name
static Parameters & getInstance()
Get instance of the singleton class.
float mPmlXAlpha
Perfectly matched layer attenuation in x.
MatrixName kVelocityZSourceFlagName
uz_source_flag variable name
void parseCommandLine(int argc, char **argv)
Parse commandline parameters.
MatrixName kRho0SgxName
rho0_sgx variable name
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.
ErrorMessage kErrFmtBadSensorMaskType
Command line parameters error message.
size_t mTimeIndex
Actual time index (time step of the simulation).
size_t mNonUniformGridFlag
Enable non uniform grid?
MatrixName kVelocityYSourceFlagName
uy_source_flag variable name
size_t mPmlZSize
Depth of the perfectly matched layer in z.
size_t mVelocityXSourceFlag
Velocity in x source flag.
bool isOpen() const
Is the file opened?
OutputMessage kOutFmtDone
Output message - Done with two spaces.
size_t mPressureSourceMany
Number of time series in the pressure source.
float mC0Scalar
Scalar value of sound speed.
size_t mVelocityYSourceFlag
Velocity in y source flag.
Hdf5FileHeader mFileHeader
Handle to file header.