A class representing a workspace for displacement mapping operations, including various vectors and matrices used in the mapping process. primarily this is just a separate class so we can more easily make this code thread-safe in the future. At construction of an instance of this class loads of Heap allocation is done (or really whatever mfem does internally for allocation for vector which dependents on the selected device) and then that allocation can be reused.
More...
#include <data.hpp>
|
| int | m_dimension |
| | The number of spatial dimensions for the workspace (e.g., 2D or 3D).
|
| |
A class representing a workspace for displacement mapping operations, including various vectors and matrices used in the mapping process. primarily this is just a separate class so we can more easily make this code thread-safe in the future. At construction of an instance of this class loads of Heap allocation is done (or really whatever mfem does internally for allocation for vector which dependents on the selected device) and then that allocation can be reused.
◆ DMWorkspace()
| serif::mapping::DMWorkspace::DMWorkspace |
( |
int | dimension = 3 | ) |
|
|
explicit |
Constructs a DMWorkspace object with the specified dimension.
- Parameters
-
| dimension | The dimension of the workspace (default is 3). |
- Exceptions
-
| std::invalid_argument | if the specified dimension is not positive and finite. |
◆ get_dimension()
| int serif::mapping::DMWorkspace::get_dimension |
( |
| ) |
const |
|
nodiscardnoexcept |
Returns the dimension of the workspace.
- Returns
- The dimension of the workspace.
◆ set_dimension()
| void serif::mapping::DMWorkspace::set_dimension |
( |
int | dimension | ) |
|
Sets the dimension of the workspace.
- Parameters
-
| dimension | The new dimension of the workspace. |
- Exceptions
-
| std::invalid_argument | if the specified dimension is not positive and finite. |
- Postcondition
- All internal vectors are sized to dimension
-
All internal matrices are sized to dimension x dimension
-
The compactification coordinate is set to 0.0
◆ m_compactification_dshape
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_compactification_dshape |
Pre-allocated matrix for compactification shape function derivatives at a quadrature point.
◆ m_compactification_point
Pre-allocated data for compactification point.
◆ m_compactification_shape
| mfem::Vector serif::mapping::DMWorkspace::m_compactification_shape |
Pre-allocated vector for compactification shape function values at a quadrature point.
◆ m_dimension
| int serif::mapping::DMWorkspace::m_dimension |
|
private |
The number of spatial dimensions for the workspace (e.g., 2D or 3D).
◆ m_exterior_result
Pre-allocated result for exterior mapping at a quadrature point.
◆ m_exterior_variation
Pre-allocated variation for exterior mapping at a quadrature point.
◆ m_field_jacobian
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_field_jacobian |
Pre-allocated matrix for field Jacobian at a quadrature point.
◆ m_field_value
| mfem::Vector serif::mapping::DMWorkspace::m_field_value |
Pre-allocated vector for field values at a quadrature point.
◆ m_full_element_jacobian
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_full_element_jacobian |
Pre-allocated matrix for full element Jacobian at a quadrature point.
◆ m_mapped_normal
| mfem::Vector serif::mapping::DMWorkspace::m_mapped_normal |
Pre-allocated vector for mapped normal at a quadrature point.
◆ m_matrix_temp_1
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_matrix_temp_1 |
Pre-allocated temporary matrix for intermediate calculations.
◆ m_matrix_temp_2
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_matrix_temp_2 |
Pre-allocated temporary matrix for intermediate calculations.
◆ m_mesh_dshape
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_mesh_dshape |
Pre-allocated matrix for mesh shape function derivatives at a quadrature point.
◆ m_reference_dshape
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_reference_dshape |
Pre-allocated matrix for reference shape function derivatives at a quadrature point.
◆ m_reference_field_jacobian
| mfem::DenseMatrix serif::mapping::DMWorkspace::m_reference_field_jacobian |
Pre-allocated matrix for the reference field Jacobian at a quadrature point.
◆ m_reference_normal
| mfem::Vector serif::mapping::DMWorkspace::m_reference_normal |
Pre-allocated vector for reference normal at a quadrature point.
◆ m_shape
| mfem::Vector serif::mapping::DMWorkspace::m_shape |
Pre-allocated vector for shape function values at a quadrature point.
◆ m_vector_temp
| mfem::Vector serif::mapping::DMWorkspace::m_vector_temp |
Pre-allocated temporary vector for intermediate calculations.
The documentation for this class was generated from the following files:
- src/include/serif/backend/mfem/mapping/data.hpp
- src/lib/serif/backend/mfem/mapping/data.cpp