![]() |
kspaceFirstOrder3D-OMP
1.1
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
The velocity matrix. More...
#include <UXYZ_SGXYZMatrix.h>


Public Member Functions | |
| Tuxyz_sgxyzMatrix (struct TDimensionSizes DimensionSizes) | |
| Constructor. More... | |
| void | Compute_dt_rho_sg_mul_ifft_div_2 (const TRealMatrix &dt_rho_0_sgx, TFFTWComplexMatrix &FFT) |
| Compute dt ./ rho0_sgx .* ifft (FFT). More... | |
| void | Compute_dt_rho_sg_mul_ifft_div_2 (const float dt_rho_0_sgx, TFFTWComplexMatrix &FFT) |
| Compute dt ./ rho0_sgx .* ifft (FFT), if rho0_sgx is scalar, uniform grid. More... | |
| void | Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_x (const float dt_rho_0_sgx, const TRealMatrix &dxudxn_sgx, TFFTWComplexMatrix &FFT) |
| Compute dt ./ rho0_sgx .* ifft (FFT), if rho0_sgx is scalar, non uniform grid, x component. More... | |
| void | Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_y (const float dt_rho_0_sgy, const TRealMatrix &dyudyn_sgy, TFFTWComplexMatrix &FFT) |
| Compute dt./rho0_sgx .* ifft (FFT), if rho0_sgx is scalar, non uniform grid, y component. More... | |
| void | Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_z (const float dt_rho_0_sgz, const TRealMatrix &dzudzn_sgz, TFFTWComplexMatrix &FFT) |
| Compute dt./rho0_sgx .* ifft (FFT), if rho0_sgx is scalar, non uniform grid, z component. More... | |
| void | Compute_ux_sgx_normalize (const TRealMatrix &FFT_p, const TRealMatrix &dt_rho0, const TRealMatrix &pml) |
| Compute a new value of ux_sgx, default case. More... | |
| void | Compute_ux_sgx_normalize_scalar_uniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &pml) |
| Compute a new value of ux_sgx, scalar, uniform case. More... | |
| void | Compute_ux_sgx_normalize_scalar_nonuniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &dxudxn_sgx, const TRealMatrix &pml) |
| Compute a new value of ux_sgx, scalar, non-uniform case. More... | |
| void | Compute_uy_sgy_normalize (const TRealMatrix &FFT_p, const TRealMatrix &dt_rho0, const TRealMatrix &pml) |
| Compute a new value of uy_sgy, default case. More... | |
| void | Compute_uy_sgy_normalize_scalar_uniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &pml) |
| Compute a new value of uy_sgy, scalar, uniform case. More... | |
| void | Compute_uy_sgy_normalize_scalar_nonuniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &dyudyn_sgy, const TRealMatrix &pml) |
| Compute a new value of uy_sgy, scalar, non-uniform case. More... | |
| void | Compute_uz_sgz_normalize (const TRealMatrix &FFT_p, const TRealMatrix &dt_rho0, const TRealMatrix &pml) |
| Compute a new value for uz_sgz, default case. More... | |
| void | Compute_uz_sgz_normalize_scalar_uniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &pml) |
| Compute a new value for uz_sgz, scalar, uniform case. More... | |
| void | Compute_uz_sgz_normalize_scalar_nonuniform (const TRealMatrix &FFT_p, const float dt_rho0, const TRealMatrix &dzudzn_sgz, const TRealMatrix &pml) |
| Compute a new value for uz_sgz, scalar, non-uniform case. More... | |
| void | AddTransducerSource (const TIndexMatrix &u_source_index, TIndexMatrix &delay_mask, const TRealMatrix &transducer_signal) |
| Add transducer data source to X component. More... | |
| void | Add_u_source (const TRealMatrix &u_source_input, const TIndexMatrix &u_source_index, const size_t t_index, const size_t u_source_mode, const size_t u_source_many) |
| Add in velocity source terms. More... | |
| virtual | ~Tuxyz_sgxyzMatrix () |
| Destructor. | |
Public Member Functions inherited from TRealMatrix | |
| TRealMatrix (const TDimensionSizes &DimensionSizes) | |
| Constructor. More... | |
| virtual | ~TRealMatrix () |
| Destructor. | |
| virtual void | ReadDataFromHDF5File (THDF5_File &HDF5_File, const char *MatrixName) |
| Read data from the HDF5 file - only from the root group. More... | |
| virtual void | WriteDataToHDF5File (THDF5_File &HDF5_File, const char *MatrixName, const size_t CompressionLevel) |
| Write data into the HDF5 file. More... | |
| float & | operator[] (const size_t &index) |
| operator []. More... | |
| const float & | operator[] (const size_t &index) const |
| operator [], constant version. More... | |
| float & | GetElementFrom3D (const size_t X, const size_t Y, const size_t Z) |
| Get element from 3D matrix. More... | |
Public Member Functions inherited from TBaseFloatMatrix | |
| TBaseFloatMatrix () | |
| Default constructor. | |
| virtual TDimensionSizes | GetDimensionSizes () const |
| Get dimension sizes of the matrix. | |
| virtual size_t | GetTotalElementCount () const |
| Get element count of the matrix. | |
| virtual size_t | GetTotalAllocatedElementCount () const |
| Get total allocated element count (might differ from total element count used for the simulation because of padding). | |
| virtual | ~TBaseFloatMatrix () |
| Destructor. | |
| virtual void | CopyData (const TBaseFloatMatrix &src) |
| Copy data from other matrix with the same size. More... | |
| virtual void | ZeroMatrix () |
| Zero all elements of the matrix (NUMA first touch). More... | |
| virtual void | ScalarDividedBy (const float scalar) |
| Divide scalar/ matrix_element[i]. More... | |
| virtual float * | GetRawData () |
| Get raw data out of the class (for direct kernel access). | |
| virtual const float * | GetRawData () const |
| Get raw data out of the class (for direct kernel access). | |
Public Member Functions inherited from TBaseMatrix | |
| TBaseMatrix () | |
| Default constructor. | |
| virtual | ~TBaseMatrix () |
| Destructor. | |
Protected Member Functions | |
| Tuxyz_sgxyzMatrix (const Tuxyz_sgxyzMatrix &src) | |
| Tuxyz_sgxyzMatrix & | operator= (const Tuxyz_sgxyzMatrix &src) |
| operator = not allowed for public. | |
Protected Member Functions inherited from TRealMatrix | |
| TRealMatrix () | |
| Default constructor is not allowed for public. | |
| TRealMatrix (const TRealMatrix &src) | |
| Copy constructor not allowed for public. | |
| TRealMatrix & | operator= (const TRealMatrix &src) |
| Operator = is not allowed for public. | |
| virtual void | InitDimensions (const TDimensionSizes &DimensionSizes) |
| Init dimension. More... | |
Protected Member Functions inherited from TBaseFloatMatrix | |
| virtual void | AllocateMemory () |
| Memory allocation. More... | |
| virtual void | FreeMemory () |
| Memory deallocation. More... | |
| TBaseFloatMatrix (const TBaseFloatMatrix &src) | |
| Copy constructor is not directly allowed. | |
| TBaseFloatMatrix & | operator= (const TBaseFloatMatrix &src) |
| operator = is not directly allowed. | |
Additional Inherited Members | |
Protected Attributes inherited from TBaseFloatMatrix | |
| size_t | pTotalElementCount |
| Total number of elements. | |
| size_t | pTotalAllocatedElementCount |
| Total number of allocated elements (in terms of floats). | |
| struct TDimensionSizes | pDimensionSizes |
| Dimension sizes. | |
| size_t | pDataRowSize |
| Size of a 1D row in X dimension. | |
| size_t | p2DDataSliceSize |
| Size of a 2D slab (X,Y). | |
| float * | pMatrixData |
| Raw matrix data. | |
The velocity matrix. This class implements a couple of kernels that modify the particle velocity.
Definition at line 48 of file UXYZ_SGXYZMatrix.h.
|
inline |
Constructor allocating memory.
| [in] | DimensionSizes |
Definition at line 57 of file UXYZ_SGXYZMatrix.h.
|
protected |
Copy constructor not allowed for public.
| src |
| void Tuxyz_sgxyzMatrix::Add_u_source | ( | const TRealMatrix & | u_source_input, |
| const TIndexMatrix & | u_source_index, | ||
| const size_t | t_index, | ||
| const size_t | u_source_mode, | ||
| const size_t | u_source_many | ||
| ) |
Add in velocity source terms.
| [in] | u_source_input | - Source input to add |
| [in] | u_source_index | - Index matrix |
| [in] | t_index | - Actual time step |
| [in] | u_source_mode | - Mode 0 = dirichlet boundary, 1 = add in |
| [in] | u_source_many | - 0 = One series, 1 = multiple series |
Definition at line 639 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::AddTransducerSource | ( | const TIndexMatrix & | u_source_index, |
| TIndexMatrix & | delay_mask, | ||
| const TRealMatrix & | transducer_signal | ||
| ) |
Add transducer data to X dimension
| [in] | u_source_index | - Index matrix |
| [in,out] | delay_mask | - Index matrix - all elements incremented by one |
| [in] | transducer_signal | - Transducer signal |
Definition at line 613 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::Compute_dt_rho_sg_mul_ifft_div_2 | ( | const TRealMatrix & | dt_rho0_sg, |
| TFFTWComplexMatrix & | FFT | ||
| ) |
Compute dt ./ rho0_sgx .* the content of the matrix.
| [in] | dt_rho0_sg | - matrix with the component of dt .* rho0_sg{x,y,z} |
| [in] | FFT | - FFT matrix (data will be overwritten) |
Definition at line 56 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::Compute_dt_rho_sg_mul_ifft_div_2 | ( | const float | dt_rho_0_sgx, |
| TFFTWComplexMatrix & | FFT | ||
| ) |
Compute dt./rho0_sgx .* ifft (FFT) if rho0_sgx is scalar, uniform case
| [in] | dt_rho_0_sgx | - scalar value |
| [in] | FFT | - FFT matrix (data will be overwritten) |
Definition at line 79 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_x | ( | const float | dt_rho_0_sgx, |
| const TRealMatrix & | dxudxn_sgx, | ||
| TFFTWComplexMatrix & | FFT | ||
| ) |
Compute dt./rho0_sgx .* ifft (FFT) if rho0_sgx is scalar, nonuniform non uniform grid, x component.
| [in] | dt_rho_0_sgx | - scalar value |
| [in] | dxudxn_sgx | - non-uniform mapping |
| [in] | FFT | - FFT matrix (data will be overwritten) |
Definition at line 104 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_y | ( | const float | dt_rho_0_sgy, |
| const TRealMatrix & | dyudyn_sgy, | ||
| TFFTWComplexMatrix & | FFT | ||
| ) |
Compute dt./rho0_sgy .* ifft (FFT).
| [in] | dt_rho_0_sgy | - scalar value |
| [in] | dyudyn_sgy | - non-uniform mapping |
| [in] | FFT | - FFT matrix (data will be overwritten) |
Definition at line 138 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::Compute_dt_rho_sg_mul_ifft_div_2_scalar_nonuniform_z | ( | const float | dt_rho_0_sgz, |
| const TRealMatrix & | dzudzn_sgz, | ||
| TFFTWComplexMatrix & | FFT | ||
| ) |
Compute dt./rho0_sgz .* ifft (FFT). if rho0_sgx is scalar, non uniform grid, z component.
| [in] | dt_rho_0_sgz | - scalar value |
| [in] | dzudzn_sgz | - non-uniform mapping |
| [in] | FFT | - FFT matrix (data will be overwritten) |
Definition at line 172 of file UXYZ_SGXYZMatrix.cpp.


| void Tuxyz_sgxyzMatrix::Compute_ux_sgx_normalize | ( | const TRealMatrix & | FFT_p, |
| const TRealMatrix & | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute a new value for ux_sgx. Default case (heterogenous).
| [in] | FFT_p | - fft of pressure |
| [in] | dt_rho0 | - dt_rho0_sgx |
| [in] | pml | - pml_x |
Definition at line 209 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_ux_sgx_normalize_scalar_nonuniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | dxudxn_sgx, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute a new value of ux_sgx. This is the case for rho0 being a scalar and a non-uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | dxudxn_sgx | - scalar |
| [in] | pml | - matrix |
Definition at line 295 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_ux_sgx_normalize_scalar_uniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute a new value of ux_sgx. This is the case for rho0 being a scalar and a uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | pml | - matrix |
Definition at line 251 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uy_sgy_normalize | ( | const TRealMatrix & | FFT_p, |
| const TRealMatrix & | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute new value of uy_sgy. Default case (heterogenous).
| [in] | FFT_p | - fft of pressure |
| [in] | dt_rho0 | - dt_rh0_sgy |
| [in] | pml | - pml_y |
Definition at line 340 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uy_sgy_normalize_scalar_nonuniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | dyudyn_sgy, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute new value of uy_sgy, This is the case for rho0 being a scalar and a non-uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | dyudyn_sgy | - scalar |
| [in] | pml | - matrix |
Definition at line 429 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uy_sgy_normalize_scalar_uniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute new value of uy_sgy. This is the case for rho0 being a scalar and a uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | pml | - matrix |
Definition at line 384 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uz_sgz_normalize | ( | const TRealMatrix & | FFT_p, |
| const TRealMatrix & | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute new value of uz_sgz. Default case (heterogenous).
| [in] | FFT_p | - fft of pressure |
| [in] | dt_rho0 | - dt_rh0_sgz |
| [in] | pml | - pml_z |
Definition at line 476 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uz_sgz_normalize_scalar_nonuniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | dzudzn_sgz, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute a new value for uz_sgz. This is the case for rho0 being a scalar and a non-uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | dzudzn_sgz | - scalar |
| [in] | pml | - matrix |
Definition at line 566 of file UXYZ_SGXYZMatrix.cpp.

| void Tuxyz_sgxyzMatrix::Compute_uz_sgz_normalize_scalar_uniform | ( | const TRealMatrix & | FFT_p, |
| const float | dt_rho0, | ||
| const TRealMatrix & | pml | ||
| ) |
Compute a new value for uz_sgz. This is the case for rho0 being a scalar and a uniform grid.
| [in] | FFT_p | - matrix |
| [in] | dt_rho0 | - scalar |
| [in] | pml | - matrix |
Definition at line 520 of file UXYZ_SGXYZMatrix.cpp.
