The abstract of a MeshParameters object is read-only (modify the original to get a new abstract if the dimensions change), but templated to prune the information present.
More...
#include <mesh_parameters.h>
|
| MeshParamKit (int na_in, int nb_in, int nc_in, int95_t orig_x_in, int95_t orig_y_in, int95_t orig_z_in, double scale_in, double inv_scale_in, int scale_bits_in, const double *umat_in, const double *invu_in, const double *full_umat_in, const double *full_invu_in, const double *widths_in, const int95_t *fp_invu_in, double max_span_in, BoundaryCondition bounds_in, Interpolant stencil_kind_in, UnitCellType unit_cell_in) |
| The constructor takes arguments for all member variables.
|
|
|
| MeshParamKit (const MeshParamKit &original)=default |
| The default copy and move constructors will be valid for this object. Const members negate the use of default copy and move assignment operators.
|
|
| MeshParamKit (MeshParamKit &&original)=default |
|
|
const int | na |
| Number of mesh elements along the "a" (~x) axis.
|
|
const int | nb |
| Number of mesh elements along the "b" (~y) axis.
|
|
const int | nc |
| Number of mesh elements along the "c" (~z) axis.
|
|
const int95_t | orig_x |
| Cartesian X origin of the mesh in fixed-precision format.
|
|
const int95_t | orig_y |
| Cartesian Y origin of the mesh in fixed-precision format.
|
|
const int95_t | orig_z |
| Cartesian Z origin of the mesh in fixed-precision format.
|
|
const double | scale |
|
const double | inv_scale |
|
const float | scale_f |
| Single-precision form of scale.
|
|
const float | inv_scale_f |
| Single-precision form of inv_scale.
|
|
const int | scale_bits |
| Bits after the decimal used in the fixed precision scaling.
|
|
const double | umat [9] |
| Transformation matrix taking coordinates into element space.
|
|
const double | invu [9] |
|
const double | full_umat [9] |
|
const double | full_invu [9] |
|
const double | widths [3] |
|
const int95_t | fp_invu [9] |
|
const double | max_span |
|
const BoundaryCondition | bounds |
| Boundary conditions for the mesh.
|
|
const Interpolant | stencil_kind |
|
const UnitCellType | unit_cell |
|
The abstract of a MeshParameters object is read-only (modify the original to get a new abstract if the dimensions change), but templated to prune the information present.
◆ MeshParamKit()
stormm::structure::MeshParamKit::MeshParamKit |
( |
const MeshParamKit & | original | ) |
|
|
default |
The default copy and move constructors will be valid for this object. Const members negate the use of default copy and move assignment operators.
- Parameters
-
original | The object to copy or move |
◆ fp_invu
const int95_t stormm::structure::MeshParamKit::fp_invu[9] |
Fixed-precision inverse transformation matrix for each element
◆ full_invu
const double stormm::structure::MeshParamKit::full_invu[9] |
Inverse transformation matrix for taking coordinates in the fractional space of the entire mesh back into Cartesian space
◆ full_umat
const double stormm::structure::MeshParamKit::full_umat[9] |
Transformation matrix to take coordinates into the unit cell space of the entire mesh
◆ inv_scale
const double stormm::structure::MeshParamKit::inv_scale |
Inverse scaling factor for taking fixed-precision coordinates into STORMM's internal units of Angstroms
◆ invu
const double stormm::structure::MeshParamKit::invu[9] |
Inverse transformation matrix for each element, or the vectors defining each side of the element.
◆ max_span
const double stormm::structure::MeshParamKit::max_span |
The maximum distance between any two corners of a grid element
◆ scale
const double stormm::structure::MeshParamKit::scale |
Scaling factor for taking coordinates with units of Angstroms into the fixed-precision format of the mesh
◆ stencil_kind
const Interpolant stormm::structure::MeshParamKit::stencil_kind |
The type of stencil to compute in order to set up for tricubic interpolation
◆ unit_cell
const UnitCellType stormm::structure::MeshParamKit::unit_cell |
The type of unit cell which best describes the mesh element. This will be OTHORHOMBIC or TRICLINIC, even if the mesh itself lacks periodic boundary conditions.
◆ widths
const double stormm::structure::MeshParamKit::widths[3] |
Widths of the mesh element between faces defining vectors roughly associated with the Cartesian X, Y, and Z axes (of these, the X and Y axes do not exactly line up, but the normals between faces defined by the element's "b" and "c" vectors and its "a" and "c" vectors are close).
The documentation for this struct was generated from the following files: