![]() |
PRISMS-PF Manual
|
A little class that computes the element volume for our triangulation. More...
#include <invm_manager.h>
Public Types | |
| using | ScalarValue = dealii::VectorizedArray< number > |
| using | VectorValue = dealii::Tensor< 1, dim, ScalarValue > |
Public Member Functions | |
| InvMManager (const DoFManager< dim, degree > &dof_manager, const ConstraintManager< dim, degree, number > &constraint_manager, bool _calculate_scalar, bool _calculate_vector) | |
| Constructor. | |
| void | reinit (const DoFManager< dim, degree > &dof_manager, const ConstraintManager< dim, degree, number > &constraint_manager) |
| void | compute_invm () |
| Recompute the invm vectors. | |
| const SolutionVector< number > & | get_invm (TensorRank rank, unsigned int relative_level) const |
| Get the invm vector for a given rank and level. | |
| const SolutionVector< number > & | get_jxw (TensorRank rank, unsigned int relative_level) const |
| Get the integrated jxw vector for a given rank and level. | |
| const SolutionVector< number > & | get_invm_sqrt (TensorRank rank, unsigned int relative_level) const |
| Get the integrated jxw vector for a given rank and level. | |
| std::vector< const SolutionVector< number > * > | get_invm (const std::vector< FieldAttributes > &field_container, const std::set< unsigned int > &field_indices, unsigned int relative_level) const |
| std::vector< const SolutionVector< number > * > | get_jxw (const std::vector< FieldAttributes > &field_container, const std::set< unsigned int > &field_indices, unsigned int relative_level) const |
| std::vector< const SolutionVector< number > * > | get_invm_sqrt (const std::vector< FieldAttributes > &field_container, const std::set< unsigned int > &field_indices, unsigned int relative_level) const |
Private Member Functions | |
| void | initialize () |
| Initialize. | |
| void | compute_scalar_invm () |
| Compute element volume for the triangulation. | |
| void | compute_vector_invm () |
| void | compute_local_scalar (const MatrixFree< dim, number > &_data, SolutionVector< number > &dst, const int &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
| void | compute_local_vector (const MatrixFree< dim, number > &_data, SolutionVector< number > &dst, const int &src, const std::pair< unsigned int, unsigned int > &cell_range) const |
| void | invert (SolutionVector< number > &dst, const SolutionVector< number > &src) const |
| void | sqrt (SolutionVector< number > &dst, const SolutionVector< number > &src) const |
Private Attributes | |
| std::vector< std::array< MatrixFree< dim, number >, 2 > > | data |
| Matrix-free object. | |
| unsigned int | num_levels |
| bool | calculate_scalar = false |
| bool | calculate_vector = false |
| std::vector< SolutionVector< number > > | jxw_scalar |
| Vector that stores element volumes. | |
| std::vector< SolutionVector< number > > | jxw_vector |
| std::vector< SolutionVector< number > > | invm_scalar |
| std::vector< SolutionVector< number > > | invm_vector |
| std::vector< SolutionVector< number > > | invm_sqrt_scalar |
| std::vector< SolutionVector< number > > | invm_sqrt_vector |
Static Private Attributes | |
| static const VectorValue | one |
A little class that computes the element volume for our triangulation.
| using InvMManager< dim, degree, number >::ScalarValue = dealii::VectorizedArray<number> |
| using InvMManager< dim, degree, number >::VectorValue = dealii::Tensor<1, dim, ScalarValue> |
|
inlineexplicit |
Constructor.
| dof_manager | The DoF manager to get the triangulation and DoF handlers from. |
| _calculate_scalar | Whether to calculate the scalar invm (element volume). |
| _calculate_vector | Whether to calculate the vector invm (for vector fields). |
|
inline |
Recompute the invm vectors.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Compute element volume for the triangulation.
|
inlineprivate |
|
inline |
|
inline |
Get the invm vector for a given rank and level.
| rank | The tensor rank of the field (scalar or vector). |
| relative_level | The relative level to get the invm for. |
|
inline |
|
inline |
Get the integrated jxw vector for a given rank and level.
| rank | The tensor rank of the field (scalar or vector). |
| relative_level | The relative level to get the jxw for. |
|
inline |
|
inline |
Get the integrated jxw vector for a given rank and level.
| rank | The tensor rank of the field (scalar or vector). |
| relative_level | The relative level to get the jxw for. |
|
inlineprivate |
Initialize.
|
inlineprivate |
|
inline |
|
inlineprivate |
|
private |
|
private |
|
private |
Matrix-free object.
|
private |
|
private |
|
private |
|
private |
|
private |
Vector that stores element volumes.
|
private |
|
private |
|
inlinestaticprivate |