DofGradientMixin< dim, ValueType, Derived > Struct Template Reference
|
Developer Documentation
|
MeltPoolDG::CompressibleFlow::DofGradientMixin< dim, ValueType, Derived > Struct Template Reference
#include <state_views_mixins.hpp>
Public Types | |
| using | Idx = ConservedVariableIndex< dim > |
Public Member Functions | |
| decltype(auto) | grad_density () const |
| decltype(auto) | grad_momentum (const unsigned int component) const |
| decltype(auto) | grad_momentum () const |
| decltype(auto) | grad_velocity (const unsigned int component, const ValueType &density, const ValueType &velocity_component) const |
| decltype(auto) | grad_velocity () const |
| decltype(auto) | grad_total_energy () const |
| decltype(auto) | grad_specific_total_energy (const ValueType &density, const ValueType &specific_total_energy) const |
Private Member Functions | |
| decltype(auto) | gradient_value () const |
| decltype(auto) | value_view () const |
| const Derived & | derived () const |
Detailed Description
template<int dim, ArithmeticType ValueType, typename Derived>
struct MeltPoolDG::CompressibleFlow::DofGradientMixin< dim, ValueType, Derived >
struct MeltPoolDG::CompressibleFlow::DofGradientMixin< dim, ValueType, Derived >
CRTP mixin providing semantic access to gradients of conserved variables.
The derived type must satisfy HasIndexableGradient and provide a gradient_value() member function whose returning an indexable tensor-like container storing the gradients of the conserved variables in the layout defined by TensorStorageIndex<dim>, i.e.,
\[ \nabla U = \left[ \nabla \rho, \nabla (\rho u_0), \dots, \nabla (\rho u_{dim-1}), \nabla (\rho E) \right]. \]
The mixin provides:
- Direct access to gradients of conserved quantities
- Gradients of primitive quantities computed on the fly via the chain rule (velocity and specific total energy)
All accessors are thin inline wrappers around the underlying storage. No additional data members are introduced and no quantities are cached. Every derived quantity is computed on demand from the conserved gradients.
- Template Parameters
-
GradientType Type of a single value in the underlying storage container obtained when using [] twice on gradient_value() of the derived class.
Member Typedef Documentation
◆ Idx
template<int dim, ArithmeticType ValueType, typename Derived >
| using MeltPoolDG::CompressibleFlow::DofGradientMixin< dim, ValueType, Derived >::Idx = ConservedVariableIndex<dim> |
Member Function Documentation
◆ derived()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inlineprivate |
◆ grad_density()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_momentum() [1/2]
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_momentum() [2/2]
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_specific_total_energy()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_total_energy()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_velocity() [1/2]
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ grad_velocity() [2/2]
template<int dim, ArithmeticType ValueType, typename Derived >
|
inline |
◆ gradient_value()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inlineprivate |
◆ value_view()
template<int dim, ArithmeticType ValueType, typename Derived >
|
inlineprivate |
The documentation for this struct was generated from the following file:
- include/meltpooldg/compressible_flow/state_views_mixins.hpp
Generated by