https://mooseframework.inl.gov
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
AdvectionLHDGAssemblyHelper Class Reference

Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernels and boundary conditions. More...

#include <AdvectionLHDGAssemblyHelper.h>

Inheritance diagram for AdvectionLHDGAssemblyHelper:
[legend]

Public Member Functions

 AdvectionLHDGAssemblyHelper (const MooseObject *moose_obj, MooseVariableDependencyInterface *mvdi, const TransientInterface *ti, SystemBase &sys, const Assembly &assembly, THREAD_ID tid, const std::set< SubdomainID > &block_ids, const std::set< BoundaryID > &boundary_ids)
 
void lmDirichletZero ()
 Constrains the unused L-HDG Dirichlet facet variable to zero. More...
 
virtual void scalarVolume () override
 
virtual void scalarFace () override
 
virtual void lmFace () override
 
virtual void scalarDirichlet (const Moose::Functor< Real > &dirichlet_value) override
 
void lmOutflow ()
 
void resizeResiduals ()
 
void lmDirichlet (const Moose::Functor< Real > &dirichlet_value)
 
void lmPrescribedFlux (const Moose::Functor< Real > &flux_value)
 
std::array< ADResidualsPacket, 2 > taggingData () const
 
std::set< std::string > additionalROVariables ()
 
const MaterialProperty< T > & getFaceMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getFaceMaterialPropertyByName (const std::string &name)
 
const ADMaterialProperty< T > & getFaceADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getFaceMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getFaceMaterialPropertyOlder (const std::string &name)
 
const auto & getGenericFaceMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialProperty (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > & getADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const MaterialProperty< T > & getMaterialPropertyOlder (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyByName (const std::string &prop_name_in)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOldByName (const std::string &prop_name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOlderByName (const std::string &prop_name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialProperty (const std::string &name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOld (const std::string &name)
 
Moose::Kokkos::MaterialProperty< T, dimension > getKokkosMaterialPropertyOlder (const std::string &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
std::pair< Moose::Kokkos::MaterialProperty< T, dimension >, std::set< SubdomainID > > getKokkosBlockMaterialProperty (const MaterialPropertyName &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > buildRequiredMaterials (bool allow_stateful=true)
 
void statefulPropertiesAllowed (bool)
 
virtual bool getMaterialPropertyCalled () const
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const
 
virtual void resolveOptionalProperties ()
 
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 
const GenericMaterialProperty< T, is_ad > & getGenericNeighborMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericNeighborMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getNeighborMaterialProperty (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getNeighborMaterialProperty (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getNeighborADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > & getNeighborADMaterialProperty (const std::string &name)
 
const MaterialProperty< T > & getNeighborMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getNeighborMaterialPropertyOld (const std::string &name)
 
const MaterialProperty< T > & getNeighborMaterialPropertyOlder (const std::string &name)
 
const MaterialProperty< T > & getNeighborMaterialPropertyOlder (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericNeighborMaterialPropertyByName (const std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericNeighborMaterialPropertyByName (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getNeighborMaterialPropertyByName (const std::string &name, const unsigned int state=0)
 
const MaterialProperty< T > & getNeighborMaterialPropertyByName (const std::string &name, const unsigned int state=0)
 
const ADMaterialProperty< T > & getNeighborADMaterialPropertyByName (const std::string &name)
 
const ADMaterialProperty< T > & getNeighborADMaterialPropertyByName (const std::string &name)
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const GenericOptionalMaterialProperty< T, is_ad > & getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalMaterialProperty< T > & getOptionalMaterialProperty (const std::string &name, const unsigned int state=0)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalADMaterialProperty< T > & getOptionalADMaterialProperty (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOld (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
const OptionalMaterialProperty< T > & getOptionalMaterialPropertyOlder (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 

Static Public Member Functions

static InputParameters validParams ()
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Static Public Attributes

static constexpr PropertyValue::id_type default_property_id
 
static constexpr PropertyValue::id_type zero_property_id
 

Protected Member Functions

virtual ADRealVectorValue faceVelocity (unsigned int qp) const override
 
ADReal computeFlux (unsigned int qp, const ADReal &face_value) const
 
virtual void checkMaterialProperty (const std::string &name, const unsigned int state)
 
virtual void getKokkosMaterialPropertyHook (const std::string &, const unsigned int)
 
void markMatPropRequested (const std::string &)
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
void checkExecutionStage ()
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > * defaultGenericMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const MaterialProperty< T > * defaultMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
const ADMaterialProperty< T > * defaultADMaterialProperty (const std::string &name)
 
std::string deduceFunctorName (const std::string &name) const
 
const Moose::Functor< T > & getFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
bool isFunctor (const std::string &name) const
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 
void checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name)
 

Protected Attributes

const Moose::Functor< ADRealVectorValue > & _velocity_trace
 Velocity trace used in numerical face fluxes. More...
 
const ADMaterialProperty< RealVectorValue > & _velocity
 
const Real _coeff
 
const TransientInterface_ti
 
const MooseVariableFE< Real > & _u_var
 
const MooseVariableFE< Real > & _u_face_var
 
const std::vector< dof_id_type > & _u_dof_indices
 
const std::vector< dof_id_type > & _lm_u_dof_indices
 
const MooseArray< ADReal > & _u_sol
 
const MooseArray< ADReal > & _lm_u_sol
 
const MooseArray< std::vector< Real > > & _scalar_phi
 
const MooseArray< std::vector< RealVectorValue > > & _grad_scalar_phi
 
const MooseArray< std::vector< Real > > & _scalar_phi_face
 
const MooseArray< std::vector< Real > > & _lm_phi_face
 
const Real_elem_volume
 
const Real_side_area
 
const Elem *const & _current_elem
 
const unsigned int_current_side
 
const Elem *const & _current_side_elem
 
const MooseArray< Real > & _JxW
 
const libMesh::QBase *const & _qrule
 
const MooseArray< Point > & _q_point
 
const MooseArray< Real > & _JxW_face
 
const libMesh::QBase *const & _qrule_face
 
const MooseArray< Point > & _q_point_face
 
const MooseArray< Point > & _normals
 
DenseVector< ADReal_scalar_re
 
DenseVector< ADReal_lm_re
 
MaterialData_face_material_data
 
MaterialData_neighbor_material_data
 
const InputParameters_mi_params
 
const std::string _mi_name
 
const MooseObjectName _mi_moose_object_name
 
FEProblemBase_mi_feproblem
 
SubProblem_mi_subproblem
 
const THREAD_ID _mi_tid
 
const bool _is_kokkos_object
 
const Moose::MaterialDataType _material_data_type
 
MaterialData_material_data
 
bool _stateful_allowed
 
bool _get_material_property_called
 
std::vector< std::unique_ptr< PropertyValue > > _default_properties
 
std::unordered_set< unsigned int_material_property_dependencies
 
const MaterialPropertyName _get_suffix
 
const bool _use_interpolated_state
 

Static Protected Attributes

static const std::string _interpolated_old
 
static const std::string _interpolated_older
 

Detailed Description

Supplies the L-HDG velocity-trace evaluation to the shared advection assembly used by both HDG kernels and boundary conditions.

Definition at line 19 of file AdvectionLHDGAssemblyHelper.h.

Constructor & Destructor Documentation

◆ AdvectionLHDGAssemblyHelper()

AdvectionLHDGAssemblyHelper::AdvectionLHDGAssemblyHelper ( const MooseObject moose_obj,
MooseVariableDependencyInterface mvdi,
const TransientInterface ti,
SystemBase sys,
const Assembly assembly,
THREAD_ID  tid,
const std::set< SubdomainID > &  block_ids,
const std::set< BoundaryID > &  boundary_ids 
)

Definition at line 22 of file AdvectionLHDGAssemblyHelper.C.

31  : AdvectionHDGAssemblyHelper(moose_obj, mvdi, ti, sys, assembly, tid, block_ids, boundary_ids),
32  ADFunctorInterface(moose_obj),
33  _velocity_trace(getFunctor<ADRealVectorValue>("face_velocity"))
34 {
35 }
AdvectionHDGAssemblyHelper(const MooseObject *moose_obj, MooseVariableDependencyInterface *mvdi, const TransientInterface *ti, SystemBase &sys, const Assembly &assembly, THREAD_ID tid, const std::set< SubdomainID > &block_ids, const std::set< BoundaryID > &boundary_ids)
const Moose::Functor< ADRealVectorValue > & _velocity_trace
Velocity trace used in numerical face fluxes.
ADFunctorInterface(const MooseObject *moose_object)

Member Function Documentation

◆ faceVelocity()

ADRealVectorValue AdvectionLHDGAssemblyHelper::faceVelocity ( unsigned int  qp) const
overrideprotectedvirtual

Implements AdvectionHDGAssemblyHelper.

Definition at line 38 of file AdvectionLHDGAssemblyHelper.C.

39 {
40  return _velocity_trace(
43 }
Moose::StateArg determineState() const
const Moose::Functor< ADRealVectorValue > & _velocity_trace
Velocity trace used in numerical face fluxes.
const MooseArray< Point > & _q_point_face
const Elem *const & _current_elem
const unsigned int & _current_side
const TransientInterface & _ti
const libMesh::QBase *const & _qrule_face

◆ lmDirichletZero()

void AdvectionLHDGAssemblyHelper::lmDirichletZero ( )

Constrains the unused L-HDG Dirichlet facet variable to zero.

Definition at line 46 of file AdvectionLHDGAssemblyHelper.C.

47 {
48  for (const auto qp : make_range(_qrule_face->n_points()))
49  for (const auto i : index_range(_lm_re))
50  // Match the zero-trace convention used by the L-HDG diffusion Dirichlet boundary condition.
51  _lm_re(i) -= _JxW_face[qp] * _lm_u_sol[qp] * _lm_phi_face[i][qp];
52 }
const MooseArray< std::vector< Real > > & _lm_phi_face
const MooseArray< Real > & _JxW_face
const MooseArray< ADReal > & _lm_u_sol
unsigned int n_points() const
IntRange< T > make_range(T beg, T end)
const libMesh::QBase *const & _qrule_face
auto index_range(const T &sizable)
DenseVector< ADReal > _lm_re

◆ validParams()

InputParameters AdvectionLHDGAssemblyHelper::validParams ( )
static

Definition at line 14 of file AdvectionLHDGAssemblyHelper.C.

Referenced by AdvectionLHDGDirichletBC::validParams(), AdvectionLHDGKernel::validParams(), and AdvectionLHDGOutflowBC::validParams().

15 {
17  params.addRequiredParam<MooseFunctorName>("face_velocity",
18  "Velocity trace used for numerical face fluxes");
19  return params;
20 }
static InputParameters validParams()

Member Data Documentation

◆ _velocity_trace

const Moose::Functor<ADRealVectorValue>& AdvectionLHDGAssemblyHelper::_velocity_trace
protected

Velocity trace used in numerical face fluxes.

Definition at line 40 of file AdvectionLHDGAssemblyHelper.h.

Referenced by faceVelocity().


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