DofValueMixin< dim, ValueType, Derived > Struct Template Reference

Developer Documentation: MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived > Struct Template Reference
Developer Documentation
MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived > Struct Template Reference

#include <state_views_mixins.hpp>

Public Types

using Idx = ConservedVariableIndex< dim >
 

Public Member Functions

decltype(auto) density () const
 
decltype(auto) momentum (const unsigned int component) const
 
decltype(auto) momentum () const
 
decltype(auto) velocity (const unsigned int component) const
 
dealii::Tensor< 1, dim, ValueType > velocity () const
 
decltype(auto) total_energy () const
 
decltype(auto) specific_total_energy () const
 

Private Member Functions

decltype(auto) value () const
 

Detailed Description

template<int dim, ArithmeticType ValueType, typename Derived>
struct MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >

CRTP mixin providing semantic access to conserved variables.

This mixin assumes that the derived class exposes:

auto value();

returning a tensor-like container indexed according to TensorStorageIndex<dim>.

It provides:

  • Direct access to conserved quantities (density, momentum, total energy)
  • Derived quantities (velocity, 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 state.

Template Parameters
ValueTypeType of a single value in the underlying storage container obtained when using [] on value() of the derived class.

Member Typedef Documentation

◆ Idx

template<int dim, ArithmeticType ValueType, typename Derived >
using MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::Idx = ConservedVariableIndex<dim>

Member Function Documentation

◆ density()

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::density ( ) const
inline

◆ momentum() [1/2]

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::momentum ( ) const
inline

◆ momentum() [2/2]

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::momentum ( const unsigned int  component) const
inline

◆ specific_total_energy()

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::specific_total_energy ( ) const
inline

◆ total_energy()

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::total_energy ( ) const
inline

◆ value()

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::value ( ) const
inlineprivate

◆ velocity() [1/2]

template<int dim, ArithmeticType ValueType, typename Derived >
dealii::Tensor< 1, dim, ValueType > MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::velocity ( ) const
inline

◆ velocity() [2/2]

template<int dim, ArithmeticType ValueType, typename Derived >
decltype(auto) MeltPoolDG::CompressibleFlow::DofValueMixin< dim, ValueType, Derived >::velocity ( const unsigned int  component) const
inline

The documentation for this struct was generated from the following file: