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

Compute a stable time‑step size for the conduction equation. More...

#include <VertexCFD_Closure_ConductionTimeStepSize.hpp>

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

Public Types

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

Public Member Functions

 ConductionTimeStepSize (const panzer::IntegrationRule &ir)
 Constructor. More...
 
void evaluateFields (typename Traits::EvalData workset) override
 Evaluate the time‑step size on the supplied workset. More...
 
KOKKOS_INLINE_FUNCTION void operator() (const Kokkos::TeamPolicy< PHX::exec_space >::member_type &team) const
 Functor invoked by Kokkos for each team of cells. More...
 

Public Attributes

PHX::MDField< scalar_type, panzer::Cell, panzer::Point > _local_dt
 Output field: local time‑step size. More...
 

Detailed Description

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

Compute a stable time‑step size for the conduction equation.

The time‑step is based on a local diffusion CFL condition using the thermal conductivity, specific heat, solid density and element length.

The evaluator produces a scalar field local_dt defined at each cell and integration point. ------------------------------------------------------------------------—//

Member Typedef Documentation

◆ scalar_type

template<class EvalType , class Traits >
using VertexCFD::ClosureModel::ConductionTimeStepSize< EvalType, Traits >::scalar_type = typename EvalType::ScalarT

Scalar type used by the evaluation type.

Typically this is either double or a Sacado automatic‑differentiation type.

Constructor & Destructor Documentation

◆ ConductionTimeStepSize()

template<class EvalType , class Traits >
VertexCFD::ClosureModel::ConductionTimeStepSize< EvalType, Traits >::ConductionTimeStepSize ( const panzer::IntegrationRule &  ir)

Constructor.

Registers the fields that this evaluator computes and depends on.

Parameters
[in]irIntegration rule providing data layout information.

Member Function Documentation

◆ evaluateFields()

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

Evaluate the time‑step size on the supplied workset.

This method is called by the Phalanx evaluation engine. It launches a Kokkos team‑level parallel loop that invokes the functor operator().

Parameters
[in]worksetEvaluation data containing the cell range.

◆ operator()()

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

Functor invoked by Kokkos for each team of cells.

Computes the local diffusion time‑step size for each cell and integration point using the formula

\[ \Delta t = \frac{\rho c_p \, \Delta x^2}{2 k}, \]

where \(\rho\) is solid density, \(c_p\) is specific heat, \(\Delta x\) is the element length, and \(k\) is thermal conductivity.

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

Member Data Documentation

◆ _local_dt

template<class EvalType , class Traits >
PHX::MDField<scalar_type, panzer::Cell, panzer::Point> VertexCFD::ClosureModel::ConductionTimeStepSize< EvalType, Traits >::_local_dt

Output field: local time‑step size.

Dimensions: (Cell, Point)


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