VertexCFD  0.0-dev
Public Types | Public Member Functions | Public Attributes | List of all members
VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits > Class Template Reference

Evaluator that computes the conductive heat flux \(\mathbf{q} = -k \nabla T\) for a given temperature gradient and thermal conductivity. More...

#include <VertexCFD_Closure_ConductionFlux.hpp>

Inheritance diagram for VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >:
Inheritance graph
[legend]
Collaboration diagram for VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >:
Collaboration graph
[legend]

Public Types

using scalar_type = typename EvalType::ScalarT
 

Public Member Functions

 ConductionFlux (const panzer::IntegrationRule &ir, const std::string &flux_prefix="", const std::string &gradient_prefix="")
 Constructor. More...
 
void evaluateFields (typename Traits::EvalData workset) override
 Evaluate the conductive flux for each cell/point. More...
 
KOKKOS_INLINE_FUNCTION void operator() (const Kokkos::TeamPolicy< PHX::exec_space >::member_type &team) const
 Kokkos functor invoked for a team of threads. More...
 

Public Attributes

PHX::MDField< scalar_type, panzer::Cell, panzer::Point, panzer::Dim > _conduction_flux
 Field that stores the computed conductive flux. More...
 

Detailed Description

template<class EvalType, class Traits>
class VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >

Evaluator that computes the conductive heat flux \(\mathbf{q} = -k \nabla T\) for a given temperature gradient and thermal conductivity.

The evaluator is templated on the evaluation type (e.g., Residual, Jacobian) and the Traits class required by the Panzer/Phalanx framework.

Template Parameters
EvalTypeEvaluation type providing the scalar type.
TraitsTraits class defining the evaluation data layout.

Constructor & Destructor Documentation

◆ ConductionFlux()

template<class EvalType , class Traits >
VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >::ConductionFlux ( const panzer::IntegrationRule &  ir,
const std::string &  flux_prefix = "",
const std::string &  gradient_prefix = "" 
)

Constructor.

Registers the fields required for the evaluation of the conductive flux. The flux field name is formed by concatenating flux_prefix with the string "CONDUCTION_FLUX_energy". The temperature gradient field name is formed analogously using gradient_prefix.

Parameters
[in]irIntegration rule providing data layouts.
[in]flux_prefixOptional prefix for the flux field name.
[in]gradient_prefixOptional prefix for the temperature gradient field name.

Member Function Documentation

◆ evaluateFields()

template<class EvalType , class Traits >
void VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >::evaluateFields ( typename Traits::EvalData  workset)
override

Evaluate the conductive flux for each cell/point.

This method is called by the Phalanx evaluation engine. It loops over the workset and computes \(\mathbf{q}_i = -k\,\nabla T_i\) for each integration point \(i\).

Parameters
[in]worksetEvaluation data containing the current workset.

◆ operator()()

template<class EvalType , class Traits >
KOKKOS_INLINE_FUNCTION void VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >::operator() ( const Kokkos::TeamPolicy< PHX::exec_space >::member_type &  team) const

Kokkos functor invoked for a team of threads.

The functor computes the flux for a subset of cells assigned to the given team. It is intended for use with a Kokkos::TeamPolicy.

Parameters
[in]teamTeam member provided by Kokkos.

Member Data Documentation

◆ _conduction_flux

template<class EvalType , class Traits >
PHX::MDField<scalar_type, panzer::Cell, panzer::Point, panzer::Dim> VertexCFD::ClosureModel::ConductionFlux< EvalType, Traits >::_conduction_flux

Field that stores the computed conductive flux.

The field has layout (Cell, Point, Dim) and is evaluated by this evaluator.


The documentation for this class was generated from the following files: