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

Evaluator providing the exact analytical solution for a steady conduction problem. More...

#include <VertexCFD_Closure_ConductionExactSolution.hpp>

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

Public Types

using scalar_type = typename EvalType::ScalarT
 Scalar type used by the evaluation type.
 

Public Member Functions

 ConductionExactSolution (const panzer::IntegrationRule &ir, const Teuchos::ParameterList &closure_params)
 Constructor. More...
 
void postRegistrationSetup (typename Traits::SetupData sd, PHX::FieldManager< Traits > &fm) override
 Perform post‑registration setup. More...
 
void evaluateFields (typename Traits::EvalData workset) override
 Evaluate the exact solution fields on the workset. More...
 
KOKKOS_INLINE_FUNCTION void operator() (const Kokkos::TeamPolicy< PHX::exec_space >::member_type &team) const
 Kokkos functor for team‑level parallel evaluation. More...
 

Public Attributes

PHX::MDField< double, panzer::Cell, panzer::Point > _lagrange_pressure
 Exact Lagrange pressure field. More...
 
Kokkos::Array< PHX::MDField< double, panzer::Cell, panzer::Point >, num_space_dim_velocity
 Exact velocity vector field. More...
 
PHX::MDField< double, panzer::Cell, panzer::Point > _temperature
 Exact temperature field. More...
 

Static Public Attributes

static constexpr int num_space_dim = NumSpaceDim
 Number of spatial dimensions (compile‑time constant).
 

Detailed Description

template<class EvalType, class Traits, int NumSpaceDim>
class VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >

Evaluator providing the exact analytical solution for a steady conduction problem.

This evaluator registers the exact pressure (Lagrange multiplier), velocity, and temperature fields for a prescribed analytical solution. The solution depends on a constant volumetric heat source \( q \), a thermal conductivity \( k \), and a prescribed temperature on the right boundary \( T_{\text{right}} \). These parameters are read from the supplied closure_params list.

The evaluator is templated on the evaluation type EvalType, the traits class Traits, and the spatial dimension NumSpaceDim.

Constructor & Destructor Documentation

◆ ConductionExactSolution()

template<class EvalType , class Traits , int NumSpaceDim>
VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >::ConductionExactSolution ( const panzer::IntegrationRule &  ir,
const Teuchos::ParameterList &  closure_params 
)

Constructor.

Registers the evaluated fields and extracts the exact‑solution parameters from the closure parameter list.

Parameters
[in]irIntegration rule providing cell topology and data layout objects.
[in]closure_paramsParameter list containing:
  • "Volumetric Heat Source Value"
  • "Thermal Conductivity Coefficient"
  • "Right Temperature Boundary Value"

Member Function Documentation

◆ evaluateFields()

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

Evaluate the exact solution fields on the workset.

Computes the pressure, velocity, and temperature at each integration point using the analytical expressions defined by the model parameters \( q, k, T_{\text{right}} \).

Parameters
[in]worksetEvaluation data containing cell and point information for the current workset.

◆ operator()()

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

Kokkos functor for team‑level parallel evaluation.

This operator is invoked by a Kokkos TeamPolicy to evaluate the exact solution for a team of cells. The implementation mirrors evaluateFields but operates on the Kokkos team abstraction.

Parameters
[in]teamKokkos team member representing a group of cells.

◆ postRegistrationSetup()

template<class EvalType , class Traits , int NumSpaceDim>
void VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >::postRegistrationSetup ( typename Traits::SetupData  sd,
PHX::FieldManager< Traits > &  fm 
)
override

Perform post‑registration setup.

Retrieves integration‑point coordinates and stores the integration rule degree for later use during field evaluation.

Parameters
[in]sdSetup data provided by the Traits class.
[in]fmField manager (unused, required by interface).

Member Data Documentation

◆ _lagrange_pressure

template<class EvalType , class Traits , int NumSpaceDim>
PHX::MDField<double, panzer::Cell, panzer::Point> VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >::_lagrange_pressure

Exact Lagrange pressure field.

Stored as a scalar field indexed by cell and integration point.

◆ _temperature

template<class EvalType , class Traits , int NumSpaceDim>
PHX::MDField<double, panzer::Cell, panzer::Point> VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >::_temperature

Exact temperature field.

Stored as a scalar field indexed by cell and integration point.

◆ _velocity

template<class EvalType , class Traits , int NumSpaceDim>
Kokkos::Array<PHX::MDField<double, panzer::Cell, panzer::Point>, num_space_dim> VertexCFD::ClosureModel::ConductionExactSolution< EvalType, Traits, NumSpaceDim >::_velocity

Exact velocity vector field.

One component per spatial dimension, each stored as a scalar field indexed by cell and integration point.


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