|
VertexCFD
0.0-dev
|
Evaluator providing the exact analytical solution for a steady conduction problem. More...
#include <VertexCFD_Closure_ConductionExactSolution.hpp>


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). | |
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.
| 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.
| [in] | ir | Integration rule providing cell topology and data layout objects. |
| [in] | closure_params | Parameter list containing:
|
|
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}} \).
| [in] | workset | Evaluation data containing cell and point information for the current workset. |
| 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.
| [in] | team | Kokkos team member representing a group of cells. |
|
override |
Perform post‑registration setup.
Retrieves integration‑point coordinates and stores the integration rule degree for later use during field evaluation.
| [in] | sd | Setup data provided by the Traits class. |
| [in] | fm | Field manager (unused, required by interface). |
| 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.
| 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.
| 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.