VertexCFD  0.0-dev
Public Member Functions | Static Public Attributes | List of all members
VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim > Class Template Reference

Implements a Neumann (flux) boundary condition for thermal conduction. More...

#include <VertexCFD_BCStrategy_ConductionBoundaryFlux.hpp>

Inheritance diagram for VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >:
Inheritance graph
[legend]
Collaboration diagram for VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >:
Collaboration graph
[legend]

Public Member Functions

 ConductionBoundaryFlux (const panzer::BC &bc, const Teuchos::RCP< panzer::GlobalData > &global_data)
 Constructor. More...
 
void setup (const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &user_data) override
 Set up the evaluator using side physics block information. More...
 
void buildAndRegisterEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &factory, const Teuchos::ParameterList &models, const Teuchos::ParameterList &user_data) const override
 Build and register field evaluators for the conduction flux. More...
 
void buildAndRegisterScatterEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const override
 Build and register scatter evaluators for the boundary flux. More...
 
void buildAndRegisterGatherAndOrientationEvaluators (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::LinearObjFactory< panzer::Traits > &lof, const Teuchos::ParameterList &user_data) const override
 Build and register gather and orientation evaluators. More...
 
void postRegistrationSetup (typename panzer::Traits::SetupData d, PHX::FieldManager< panzer::Traits > &vm) override
 Perform post‑registration setup. More...
 
void evaluateFields (typename panzer::Traits::EvalData d) override
 Evaluate the conduction flux on the side set. More...
 
- Public Member Functions inherited from VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >
 BoundaryFluxBase (const panzer::BC &bc, const Teuchos::RCP< panzer::GlobalData > &global_data)
 
void initialize (const panzer::PhysicsBlock &side_pb, std::unordered_map< std::string, std::string > &dof_eq_map)
 
void getModelID (const Teuchos::ParameterList &bc_params, const panzer::PhysicsBlock &side_pb, std::string &model_id, Teuchos::ParameterList &side_pb_list) const
 
auto getBasisIRLayout (const panzer::PhysicsBlock &side_pb, const std::string &dof_name) const
 
void registerDOFsGradient (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const std::string &dof_name) const
 
void registerSideNormals (PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb) const
 
void registerConvectionTypeFluxOperator (std::pair< const std::string, std::string > dof_eq_pair, std::unordered_map< std::string, std::vector< std::string >> &eq_vct_map, const std::string &closure_name, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const double &multiplier) const
 
void registerPenaltyAndViscousGradientOperator (std::pair< const std::string, std::string > dof_eq_pair, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const Teuchos::ParameterList &bc_params) const
 
void registerViscousTypeFluxOperator (std::pair< const std::string, std::string > dof_eq_pair, std::unordered_map< std::string, std::vector< std::string >> &eq_vct_map, const std::string closure_name, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const double &multiplier) const
 
void registerResidual (std::pair< const std::string, std::string > dof_eq_pair, std::unordered_map< std::string, std::vector< std::string >> &eq_vct_map, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb) const
 
void registerScatterOperator (std::pair< const std::string, std::string > dof_eq_pair, PHX::FieldManager< panzer::Traits > &fm, const panzer::PhysicsBlock &side_pb, const panzer::LinearObjFactory< panzer::Traits > &lof) const
 
auto integrationRule () const
 

Static Public Attributes

static constexpr int num_space_dim = NumSpaceDim
 Number of spatial dimensions (compile‑time constant).
 
- Static Public Attributes inherited from VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >
static constexpr int num_space_dim = NumSpaceDim
 

Additional Inherited Members

- Protected Attributes inherited from VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >
std::string _model_id
 
Teuchos::ParameterList _side_pb_list
 
Teuchos::ParameterList _bc_params
 
std::unordered_map< std::string, std::string > bnd_prefix
 
std::unordered_map< std::string, Teuchos::RCP< panzer::PureBasis > > _dof_basis_pair
 

Detailed Description

template<class EvalType, int NumSpaceDim>
class VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >

Implements a Neumann (flux) boundary condition for thermal conduction.

This class derives from BoundaryFluxBase and provides the machinery to construct, register, and evaluate the conduction flux on a side set. The implementation follows the standard Panzer/Phalanx evaluator pattern.

Template Parameters
EvalTypeEvaluation type (e.g., Residual, Jacobian) used by Panzer.
NumSpaceDimSpatial dimension of the problem (e.g., 2 or 3).

Constructor & Destructor Documentation

◆ ConductionBoundaryFlux()

template<class EvalType , int NumSpaceDim>
VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::ConductionBoundaryFlux ( const panzer::BC &  bc,
const Teuchos::RCP< panzer::GlobalData > &  global_data 
)

Constructor.

Parameters
[in]bcBoundary condition descriptor from Panzer.
[in]global_dataShared global data required by Panzer evaluators.

The constructor stores the BC information and registers the required fields with the base class.

Member Function Documentation

◆ buildAndRegisterEvaluators()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::buildAndRegisterEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock &  side_pb,
const panzer::ClosureModelFactory_TemplateManager< panzer::Traits > &  factory,
const Teuchos::ParameterList &  models,
const Teuchos::ParameterList &  user_data 
) const
overridevirtual

Build and register field evaluators for the conduction flux.

Parameters
[in,out]fmField manager to which evaluators are added.
[in]side_pbPhysics block describing the side set.
[in]factoryClosure model factory for constructing model evaluators.
[in]modelsParameter list containing model specifications.
[in]user_dataAdditional user data required for evaluator construction.

The method creates evaluators for the flux, temperature gradient, and material conductivity, then registers them with fm.

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.

◆ buildAndRegisterGatherAndOrientationEvaluators()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::buildAndRegisterGatherAndOrientationEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock &  side_pb,
const panzer::LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList &  user_data 
) const
overridevirtual

Build and register gather and orientation evaluators.

Parameters
[in,out]fmField manager to which gather/orientation evaluators are added.
[in]side_pbPhysics block describing the side set.
[in]lofLinear object factory (required for orientation).
[in]user_dataAdditional user data.

These evaluators retrieve the solution values on the side set and apply the correct orientation for vector/tensor fields.

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.

◆ buildAndRegisterScatterEvaluators()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::buildAndRegisterScatterEvaluators ( PHX::FieldManager< panzer::Traits > &  fm,
const panzer::PhysicsBlock &  side_pb,
const panzer::LinearObjFactory< panzer::Traits > &  lof,
const Teuchos::ParameterList &  user_data 
) const
overridevirtual

Build and register scatter evaluators for the boundary flux.

Parameters
[in,out]fmField manager to which scatter evaluators are added.
[in]side_pbPhysics block describing the side set.
[in]lofLinear object factory for constructing scatter operations.
[in]user_dataAdditional user data required for scatter evaluator construction.

Scatter evaluators write the computed flux contributions into the global linear system.

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.

◆ evaluateFields()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::evaluateFields ( typename panzer::Traits::EvalData  d)
overridevirtual

Evaluate the conduction flux on the side set.

Parameters
[in]dEvaluation data containing the workset and solution fields.

The method computes the flux based on temperature gradients and material conductivity and stores the result in the evaluated field.

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.

◆ postRegistrationSetup()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::postRegistrationSetup ( typename panzer::Traits::SetupData  d,
PHX::FieldManager< panzer::Traits > &  vm 
)
overridevirtual

Perform post‑registration setup.

Parameters
[in]dSetup data provided by Panzer (unused in this class).
[in]vmField manager (unused in this class).

This hook is required by the Phalanx evaluator interface but does not perform any actions for the conduction flux.

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.

◆ setup()

template<class EvalType , int NumSpaceDim>
void VertexCFD::BoundaryCondition::ConductionBoundaryFlux< EvalType, NumSpaceDim >::setup ( const panzer::PhysicsBlock &  side_pb,
const Teuchos::ParameterList &  user_data 
)
overridevirtual

Set up the evaluator using side physics block information.

Parameters
[in]side_pbPhysics block describing the side set.
[in]user_dataUser‑provided parameter list (e.g., material data).

This method extracts required data from the physics block and stores any internal mappings needed for later evaluator construction.

Parameters
user_datauser_data*

Implements VertexCFD::BoundaryCondition::BoundaryFluxBase< EvalType, NumSpaceDim >.


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