https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
NavierStokesLHDGKernel Class Reference

Implements the steady incompressible Navier-Stokes equations for a hybridized discretization. More...

#include <NavierStokesLHDGKernel.h>

Inheritance diagram for NavierStokesLHDGKernel:
[legend]

Public Types

enum  ResidualTagType
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 NavierStokesLHDGKernel (const InputParameters &parameters)
 
virtual void computeResidual () override
 
virtual void computeJacobian () override
 Compute this object's entire element interior Jacobian, both on- and off-diagonal.
 
virtual void computeOffDiagJacobian (unsigned int jvar) override
 Forwards to computeJacobian() the first time this is called for a given element.
 
virtual void computeResidualOnSide () override
 
virtual void computeJacobianOnSide () override
 
virtual void initialSetup () override
 
virtual void jacobianSetup () override
 
virtual std::set< std::string > additionalROVariables () override
 
virtual void computeResidualAndJacobianOnSide ()
 
virtual void computeResidualAndJacobian () override
 
virtual void computeOffDiagJacobianScalar (unsigned int jvar) override
 
virtual const MooseVariable & variable () const override
 
virtual void computeNonlocalJacobian ()
 
virtual void computeNonlocalOffDiagJacobian (unsigned int)
 
const SubProblem & subProblem () const
 
virtual void prepareShapes (unsigned int var_num)
 
virtual bool enabled () const
 
std::shared_ptr< MooseObject > getSharedPtr ()
 
std::shared_ptr< const MooseObject > getSharedPtr () const
 
bool isKokkosObject () const
 
MooseApp & getMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParameters & parameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
virtual void timestepSetup ()
 
virtual void residualSetup ()
 
virtual void subdomainSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnum & getExecuteOnEnum () const
 
const Function & getFunction (const std::string &name) const
 
const Function & getFunctionByName (const FunctionName &name) const
 
bool hasFunction (const std::string &param_name) const
 
bool hasFunctionByName (const FunctionName &name) const
 
Moose::Kokkos::Function getKokkosFunction (const std::string &name) const
 
const T & getKokkosFunction (const std::string &name) const
 
Moose::Kokkos::Function getKokkosFunctionByName (const FunctionName &name) const
 
const T & getKokkosFunctionByName (const FunctionName &name) const
 
bool hasKokkosFunction (const std::string &param_name) const
 
bool hasKokkosFunctionByName (const FunctionName &name) const
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectBase & getUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectBase & getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 
bool isDefaultPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessor (const std::string &param_name, const unsigned int index=0) const
 
bool hasPostprocessorByName (const PostprocessorName &name) const
 
std::size_t coupledPostprocessors (const std::string &param_name) const
 
const PostprocessorName & getPostprocessorName (const std::string &param_name, const unsigned int index=0) const
 
const VectorPostprocessorValue & getVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValue & getVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValue & getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValue & getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
bool hasVectorPostprocessor (const std::string &param_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool hasVectorPostprocessorByName (const VectorPostprocessorName &name) const
 
const VectorPostprocessorName & getVectorPostprocessorName (const std::string &param_name) const
 
void setRandomResetFrequency (ExecFlagType exec_flag)
 
unsigned long getRandomLong () const
 
Real getRandomReal () const
 
unsigned int getSeed (std::size_t id)
 
unsigned int getMasterSeed () const
 
bool isNodal () const
 
ExecFlagType getResetOnTime () const
 
void setRandomDataPointer (RandomData *random_data)
 
virtual void meshChanged ()
 
void useVectorTag (const TagName &tag_name, VectorTagsKey)
 
void useVectorTag (TagID tag_id, VectorTagsKey)
 
void useMatrixTag (const TagName &tag_name, MatrixTagsKey)
 
void useMatrixTag (TagID tag_id, MatrixTagsKey)
 
bool isVectorTagged ()
 
bool isMatrixTagged ()
 
bool hasVectorTags () const
 
const std::set< TagID > & getVectorTags (VectorTagsKey) const
 
const std::set< TagID > & getMatrixTags (MatrixTagsKey) const
 
const std::vector< SubdomainName > & blocks () const
 
unsigned int numBlocks () const
 
virtual const std::set< SubdomainID > & blockIDs () const
 
unsigned int blocksMaxDimension () const
 
bool hasBlocks (const SubdomainName &name) const
 
bool hasBlocks (const std::vector< SubdomainName > &names) const
 
bool hasBlocks (const std::set< SubdomainName > &names) const
 
bool hasBlocks (SubdomainID id) const
 
bool hasBlocks (const std::vector< SubdomainID > &ids) const
 
bool hasBlocks (const std::set< SubdomainID > &ids) const
 
bool isBlockSubset (const std::set< SubdomainID > &ids) const
 
bool isBlockSubset (const std::vector< SubdomainID > &ids) const
 
bool hasBlockMaterialProperty (const std::string &prop_name)
 
const std::set< SubdomainID > & meshBlockIDs () const
 
virtual bool blockRestricted () const
 
virtual void checkVariable (const MooseVariableBase &variable) const
 
virtual const VariableValue & coupledValueByName (const std::string &var_name)
 
virtual const ArrayVariableValue & coupledArrayValueByName (const std::string &var_name)
 
const std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > & getCoupledVars () const
 
const std::vector< MooseVariableFieldBase * > & getCoupledMooseVars () const
 
const std::vector< MooseVariable * > & getCoupledStandardMooseVars () const
 
const std::vector< VectorMooseVariable * > & getCoupledVectorMooseVars () const
 
const std::vector< ArrayMooseVariable * > & getCoupledArrayMooseVars () const
 
void addFEVariableCoupleableVectorTag (TagID tag)
 
void addFEVariableCoupleableMatrixTag (TagID tag)
 
std::set< TagID > & getFEVariableCoupleableVectorTags ()
 
const std::set< TagID > & getFEVariableCoupleableVectorTags () const
 
std::set< TagID > & getFEVariableCoupleableMatrixTags ()
 
const std::set< TagID > & getFEVariableCoupleableMatrixTags () const
 
auto & getWritableCoupledVariables () const
 
bool hasWritableCoupledVariables () const
 
const ADVariableValue * getADDefaultValue (const std::string &var_name) const
 
const ADVectorVariableValue * getADDefaultVectorValue (const std::string &var_name) const
 
const ADVariableGradient & getADDefaultGradient () const
 
const ADVectorVariableGradient & getADDefaultVectorGradient () const
 
const ADVariableSecond & getADDefaultSecond () const
 
const ADVectorVariableCurl & getADDefaultCurl () const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VariableGradient kokkosCoupledVectorTagGradientByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableGradient kokkosCoupledVectorTagGradientsByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagNodalValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagNodalValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagDofValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagDofValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VariableGradient kokkosCoupledVectorTagGradient (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableGradient kokkosCoupledVectorTagGradients (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagNodalValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagNodalValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagDofValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagDofValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorTagVectorGradientByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorTagVectorGradientsByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorNodalValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorNodalValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorDofValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorDofValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorTagVectorGradient (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorTagVectorGradients (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorNodalValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorNodalValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorDofValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorTagVectorDofValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledValues (const std::string &var_name) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradients (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValues (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValues (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradientsOld (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableGradient kokkosCoupledGradientsOlder (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledDofValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledDots (const std::string &var_name) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledNodalDots (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValues (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradients (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValues (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValues (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradientsOld (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValuesOld (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableGradient kokkosCoupledVectorGradientsOlder (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDofValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorDots (const std::string &var_name) const
 
Moose::Kokkos::VectorVariableValue kokkosCoupledVectorNodalDots (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledVectorTagGradientByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledVectorTagGradientsByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagNodalValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagNodalValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagDofValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagDofValuesByName (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledVectorTagGradient (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledVectorTagGradients (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagNodalValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagNodalValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagDofValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledVectorTagDofValues (const std::string &var_name, const std::string &tag_param_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValues (const std::string &var_name) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradients (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValues (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValues (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValuesOld (const std::string &var_name) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradientsOld (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValuesOld (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValuesOld (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableGradient kokkosADCoupledGradientsOlder (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDofValuesOlder (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledDots (const std::string &var_name) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::ADVariableValue kokkosADCoupledNodalDots (const std::string &var_name) const
 
Moose::Kokkos::Scalar< const Real > kokkosCoupledDotDu (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosZeroValue () const
 
Moose::Kokkos::VariableGradient kokkosZeroGradient () const
 
Moose::Kokkos::VariableValue kokkosZeroNodalValue () const
 
const std::vector< MooseVariableScalar * > & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () const
 
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies () const
 
std::set< MooseVariableFieldBase * > checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_omit={})
 
virtual std::set< MooseVariableFieldBase * > checkVariables (const libMesh::Node &node, const std::set< MooseVariableFieldBase * > &vars_to_check)
 
std::set< MooseVariableFieldBase * > checkVariables (const libMesh::Elem &element, const std::set< MooseVariableFieldBase * > &vars_to_check)
 
void addMooseVariableDependency (MooseVariableFieldBase *var)
 
void addMooseVariableDependency (const std::vector< MooseVariableFieldBase * > &vars)
 
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< SubdomainID > getMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryID > getMaterialPropertyBoundaryIDs (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)
 
virtual unsigned int getElementIDIndex (const std::string &id_parameter_name, unsigned int comp=0) const
 
virtual unsigned int getElementIDIndexByName (const std::string &id_name) const
 
virtual const dof_id_type & getElementID (const std::string &id_parameter_name, unsigned int comp=0) const
 
dof_id_type getElementID (const Elem *elem, unsigned int elem_id_index) const
 
virtual const dof_id_type & getElementIDNeighbor (const std::string &id_parameter_name, unsigned int comp=0) const
 
virtual const dof_id_type & getElementIDByName (const std::string &id_name) const
 
virtual const dof_id_type & getElementIDNeighborByName (const std::string &id_name) const
 
bool hasElementID (const std::string &id_name) const
 
dof_id_type maxElementID (unsigned int elem_id_index) const
 
dof_id_type minElementID (unsigned int elem_id_index) const
 
bool areElemIDsIdentical (const std::string &id_name1, const std::string &id_name2) const
 
std::unordered_map< dof_id_type, std::set< dof_id_type > > getElemIDMapping (const std::string &id_name1, const std::string &id_name2) const
 
std::set< dof_id_type > getAllElemIDs (unsigned int elem_id_index) const
 
std::set< dof_id_type > getElemIDsOnBlocks (unsigned int elem_id_index, const std::set< SubdomainID > &blks) const
 
MooseVariableBase * mooseVariableBase () const
 
MooseVariableField< Real > & mooseVariableField ()
 
MooseVariableFE< Real > * mooseVariable () const
 
MooseVariableFV< Real > * mooseVariableFV () const
 
MooseLinearVariableFV< Real > * mooseLinearVariableFV () const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObject (const std::string &param_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
bool hasUserObjectByName (const UserObjectName &object_name) const
 
const PostprocessorValue & getPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValue & getPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValue & getPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValue & getPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValue & getPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValue & getPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValue & getPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValue & getPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValue & getPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValue & getPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValue & getPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValue & getPostprocessorValueOlderByName (const PostprocessorName &name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributed (const std::string &param_name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
bool isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const
 
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)
 
MaterialBase & getMaterial (const std::string &name)
 
MaterialBase & getMaterial (const std::string &name)
 
MaterialBase & getMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBase & getMaterialByName (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)
 
PenetrationLocator & getPenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
PenetrationLocator & getQuadraturePenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
NearestNodeLocator & getNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 
NearestNodeLocator & getQuadratureNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 
bool requiresGeometricSearch () const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
void checkCoupling ()
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 

Static Public Member Functions

static InputParameters validParams ()
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 
static constexpr PropertyValue::id_type default_property_id
 
static constexpr PropertyValue::id_type zero_property_id
 

Protected Member Functions

virtual Real computeQpResidual () override
 
virtual Real computeQpJacobian ()
 
virtual Real computeQpOffDiagJacobian (unsigned int)
 
virtual Real computeQpOffDiagJacobianScalar (unsigned int)
 
virtual RealEigenVector computeQpOffDiagJacobianArray (const ArrayMooseVariable &jvar)
 
virtual void precalculateResidual ()
 
virtual void precalculateJacobian ()
 
virtual void precalculateOffDiagJacobian (unsigned int)
 
const MooseVariableFieldBase & getVariable (unsigned int jvar_num) const
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
virtual void addUserObjectDependencyHelper (const UserObjectBase &) const
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTag (Assembly &assembly, unsigned int ivar, ResidualTagType tag_type)
 
void prepareVectorTagNeighbor (Assembly &assembly, unsigned int ivar)
 
void prepareVectorTagLower (Assembly &assembly, unsigned int ivar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTag (Assembly &assembly, unsigned int ivar, unsigned int jvar, DenseMatrix< Number > &k) const
 
void prepareMatrixTagNonlocal (Assembly &assembly, unsigned int ivar, unsigned int jvar)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type)
 
void prepareMatrixTagNeighbor (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, DenseMatrix< Number > &k) const
 
void prepareMatrixTagLower (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::ConstraintJacobianType type)
 
void accumulateTaggedLocalResidual ()
 
void assignTaggedLocalResidual ()
 
void accumulateTaggedLocalMatrix ()
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, const DenseMatrix< Number > &k)
 
void accumulateTaggedLocalMatrix (Assembly &assembly, unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type, const DenseMatrix< Number > &k)
 
void accumulateTaggedNonlocalMatrix ()
 
void assignTaggedLocalMatrix ()
 
void addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, const std::vector< Real > &scaling_factors)
 
void addResiduals (Assembly &assembly, const DenseVector< T > &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResiduals (Assembly &assembly, const ADResidualsPacket &packet)
 
void addResidualsAndJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobian (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, const std::vector< Real > &scaling_factors)
 
void addJacobian (Assembly &assembly, const ADResidualsPacket &packet)
 
void addJacobian (Assembly &assembly, const DenseMatrix< Real > &local_k, const std::vector< dof_id_type > &row_indices, const std::vector< dof_id_type > &column_indices, Real scaling_factor)
 
void addResidualsWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addResidualsAndJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianWithoutConstraints (Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
 
void addJacobianElement (Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor)
 
void setResidual (SystemBase &sys, const T &residual, MooseVariableFE< T > &var)
 
void setResidual (SystemBase &sys, Real residual, dof_id_type dof_index)
 
void setResidual (SystemBase &sys, SetResidualFunctor set_residual_functor)
 
virtual bool hasBlockMaterialPropertyHelper (const std::string &prop_name)
 
void initializeBlockRestrictable (const MooseObject *moose_object)
 
void initializeKokkosBlockRestrictable ()
 
Moose::CoordinateSystemType getBlockCoordSystem ()
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockElements () const
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockNodes () const
 
KOKKOS_FUNCTION dof_id_type numKokkosBlockSides () const
 
KOKKOS_FUNCTION ContiguousElementID kokkosBlockElementID (Moose::Kokkos::ThreadID tid) const
 
KOKKOS_FUNCTION ContiguousElementID kokkosBlockNodeID (Moose::Kokkos::ThreadID tid) const
 
KOKKOS_FUNCTION auto kokkosBlockElementSideID (Moose::Kokkos::ThreadID tid) const
 
virtual void coupledCallback (const std::string &, bool) const
 
virtual bool isCoupled (const std::string &var_name, unsigned int i=0) const
 
virtual bool isCoupledConstant (const std::string &var_name) const
 
unsigned int coupledComponents (const std::string &var_name) const
 
VariableName coupledName (const std::string &var_name, unsigned int comp=0) const
 
std::vector< VariableName > coupledNames (const std::string &var_name) const
 
virtual unsigned int coupled (const std::string &var_name, unsigned int comp=0) const
 
std::vector< unsigned int > coupledIndices (const std::string &var_name) const
 
virtual const VariableValue & coupledValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledValues (const std::string &var_name) const
 
std::vector< const VectorVariableValue * > coupledVectorValues (const std::string &var_name) const
 
const GenericVariableValue< is_ad > & coupledGenericValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericValue (const std::string &var_name, unsigned int comp) const
 
const GenericVectorVariableValue< is_ad > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVectorVariableValue< false > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp) const
 
const GenericVectorVariableValue< true > & coupledGenericVectorValue (const std::string &var_name, unsigned int comp) const
 
std::vector< const GenericVariableValue< is_ad > * > coupledGenericValues (const std::string &var_name) const
 
std::vector< const GenericVariableValue< false > * > coupledGenericValues (const std::string &var_name) const
 
std::vector< const GenericVariableValue< true > * > coupledGenericValues (const std::string &var_name) const
 
const GenericVariableValue< is_ad > & coupledGenericDofValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDofValue (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< is_ad > & coupledGenericDot (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< is_ad > & coupledGenericDotDot (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericDotDot (const std::string &var_name, unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericDotDot (const std::string &var_name, unsigned int comp) const
 
virtual const VariableValue & coupledValueLower (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValue & adCoupledValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue * > adCoupledValues (const std::string &var_name) const
 
const ADVariableValue & adCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValue & adCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVectorVariableValue * > adCoupledVectorValues (const std::string &var_name) const
 
virtual const VariableValue & coupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValue & coupledVectorTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue * > coupledVectorTagValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue * > coupledVectorTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableValue & coupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableValue & coupledVectorTagArrayValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableValue * > coupledVectorTagArrayValues (const std::string &var_names, TagID tag) const
 
std::vector< const ArrayVariableValue * > coupledVectorTagArrayValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableGradient & coupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableGradient & coupledVectorTagGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableGradient * > coupledVectorTagGradients (const std::string &var_names, TagID tag) const
 
std::vector< const VariableGradient * > coupledVectorTagGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const ArrayVariableGradient & coupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableGradient & coupledVectorTagArrayGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const ArrayVariableGradient * > coupledVectorTagArrayGradients (const std::string &var_names, TagID tag) const
 
std::vector< const ArrayVariableGradient * > coupledVectorTagArrayGradients (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValue & coupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const
 
virtual const VariableValue & coupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const ArrayVariableValue & coupledVectorTagArrayDofValue (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledVectorTagDofValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue * > coupledVectorTagDofValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VariableValue & coupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValue & coupledMatrixTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
std::vector< const VariableValue * > coupledMatrixTagValues (const std::string &var_names, TagID tag) const
 
std::vector< const VariableValue * > coupledMatrixTagValues (const std::string &var_names, const std::string &tag_name) const
 
virtual const VectorVariableValue & coupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ArrayVariableValue * > coupledArrayValues (const std::string &var_name) const
 
MooseWritableVariable & writableVariable (const std::string &var_name, unsigned int comp=0)
 
virtual VariableValue & writableCoupledValue (const std::string &var_name, unsigned int comp=0)
 
void checkWritableVar (MooseWritableVariable *var)
 
virtual const VariableValue & coupledValueOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledValuesOld (const std::string &var_name) const
 
std::vector< const VectorVariableValue * > coupledVectorValuesOld (const std::string &var_name) const
 
virtual const VariableValue & coupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledValuesOlder (const std::string &var_name) const
 
virtual const VariableValue & coupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradient & coupledGradient (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient * > coupledGradients (const std::string &var_name) const
 
const ADVariableGradient & adCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableGradient & adCoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableGradient * > adCoupledGradients (const std::string &var_name) const
 
const GenericVariableGradient< is_ad > & coupledGenericGradient (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableGradient< false > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
const GenericVariableGradient< true > & coupledGenericGradient (const std::string &var_name, unsigned int comp) const
 
std::vector< const GenericVariableGradient< is_ad > * > coupledGenericGradients (const std::string &var_name) const
 
std::vector< const GenericVariableGradient< false > * > coupledGenericGradients (const std::string &var_name) const
 
std::vector< const GenericVariableGradient< true > * > coupledGenericGradients (const std::string &var_name) const
 
const ADVectorVariableGradient & adCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableSecond & adCoupledSecond (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableSecond & adCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradient & coupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient * > coupledGradientsOld (const std::string &var_name) const
 
virtual const VariableGradient & coupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradient & coupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradient & coupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradient & coupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradient & coupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradient & coupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradient & coupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradient & coupledArrayGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradient & coupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradient & coupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradient & coupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurl & coupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurl & coupledCurlOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurl & coupledCurlOlder (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableCurl & adCoupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergence & coupledDiv (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergence & coupledDivOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergence & coupledDivOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecond & coupledSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecond & coupledSecondOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecond & coupledSecondOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecond & coupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledDots (const std::string &var_name) const
 
virtual const VariableValue & coupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValue & adCoupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue * > adCoupledDots (const std::string &var_name) const
 
const ADVariableValue & adCoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValue & adCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValue & coupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValue & coupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const Moose::ADType< T >::type & adCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValue & coupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValues (const std::string &var_name) const
 
virtual const VariableValue & coupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValuesOld (const std::string &var_name) const
 
virtual const VariableValue & coupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValuesOlder (const std::string &var_name) const
 
virtual const ArrayVariableValue & coupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const
 
virtual const ADVariableValue & adCoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValue & adZeroValue () const
 
const ADVariableGradient & adZeroGradient () const
 
const ADVariableSecond & adZeroSecond () const
 
const GenericVariableValue< is_ad > & genericZeroValue ()
 
const GenericVariableValue< false > & genericZeroValue ()
 
const GenericVariableValue< true > & genericZeroValue ()
 
const GenericVariableGradient< is_ad > & genericZeroGradient ()
 
const GenericVariableGradient< false > & genericZeroGradient ()
 
const GenericVariableGradient< true > & genericZeroGradient ()
 
const GenericVariableSecond< is_ad > & genericZeroSecond ()
 
const GenericVariableSecond< false > & genericZeroSecond ()
 
const GenericVariableSecond< true > & genericZeroSecond ()
 
bool checkVar (const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const
 
virtual bool usesFaceCoupledValues () const
 
const MooseVariableFieldBase * getFEVar (const std::string &var_name, unsigned int comp) const
 
const MooseVariableFieldBase * getFieldVar (const std::string &var_name, unsigned int comp) const
 
MooseVariableFieldBase * getFieldVar (const std::string &var_name, unsigned int comp)
 
std::vector< const MooseVariableFieldBase * > getFieldVars (const std::string &var_name) const
 
const T * getVarHelper (const std::string &var_name, unsigned int comp) const
 
T * getVarHelper (const std::string &var_name, unsigned int comp)
 
std::vector< const T * > getVarsHelper (const std::string &var_name) const
 
MooseVariable * getVar (const std::string &var_name, unsigned int comp)
 
const MooseVariable * getVar (const std::string &var_name, unsigned int comp) const
 
VectorMooseVariable * getVectorVar (const std::string &var_name, unsigned int comp)
 
const VectorMooseVariable * getVectorVar (const std::string &var_name, unsigned int comp) const
 
ArrayMooseVariable * getArrayVar (const std::string &var_name, unsigned int comp)
 
const ArrayMooseVariable * getArrayVar (const std::string &var_name, unsigned int comp) const
 
void validateExecutionerType (const std::string &name, const std::string &fn_name) const
 
std::vector< T > coupledVectorHelper (const std::string &var_name, const Func &func) const
 
bool isCoupledScalar (const std::string &var_name, unsigned int i=0) const
 
unsigned int coupledScalarComponents (const std::string &var_name) const
 
unsigned int coupledScalar (const std::string &var_name, unsigned int comp=0) const
 
libMesh::Order coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValue & adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< is_ad > & coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const GenericVariableValue< false > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const GenericVariableValue< true > & coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const
 
const VariableValue & coupledVectorTagScalarValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
const VariableValue & coupledMatrixTagScalarValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValue & adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValue & coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagScalarValueByName (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledVectorTagScalarValue (const std::string &var_name, const std::string &tag_param_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::VariableValue kokkosCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
Moose::Kokkos::Scalar< const Real > kokkosCoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalar * getScalarVar (const std::string &var_name, unsigned int comp) 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 ()
 
virtual const OutputTools< Real >::VariableValue & value ()
 
virtual const OutputTools< Real >::VariableValue & valueOld ()
 
virtual const OutputTools< Real >::VariableValue & valueOlder ()
 
virtual const OutputTools< Real >::VariableValue & dot ()
 
virtual const OutputTools< Real >::VariableValue & dotDot ()
 
virtual const OutputTools< Real >::VariableValue & dotOld ()
 
virtual const OutputTools< Real >::VariableValue & dotDotOld ()
 
virtual const VariableValue & dotDu ()
 
virtual const VariableValue & dotDotDu ()
 
virtual const OutputTools< Real >::VariableGradient & gradient ()
 
virtual const OutputTools< Real >::VariableGradient & gradientOld ()
 
virtual const OutputTools< Real >::VariableGradient & gradientOlder ()
 
virtual const OutputTools< Real >::VariableSecond & second ()
 
virtual const OutputTools< Real >::VariableSecond & secondOld ()
 
virtual const OutputTools< Real >::VariableSecond & secondOlder ()
 
virtual const OutputTools< Real >::VariableTestSecond & secondTest ()
 
virtual const OutputTools< Real >::VariableTestSecond & secondTestFace ()
 
virtual const OutputTools< Real >::VariablePhiSecond & secondPhi ()
 
virtual const OutputTools< Real >::VariablePhiSecond & secondPhiFace ()
 
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)
 
RealVectorValue rhoVelCrossVelResidual (const MooseArray< Number > &u_sol, const MooseArray< Number > &v_sol, const unsigned int qp, const unsigned int vel_component)
 
RealVectorValue rhoVelCrossVelJacobian (const MooseArray< Number > &u_sol, const MooseArray< Number > &v_sol, const unsigned int qp, const unsigned int vel_component, const unsigned int vel_j_component, const MooseArray< std::vector< Real > > &phi, const unsigned int j)
 
void scalarVolumeResidual (const MooseArray< Gradient > &vel_gradient, const unsigned int vel_component, const Moose::Functor< Real > &body_force, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &scalar_re)
 Compute the volumetric contributions to a velocity residual for a provided velocity gradient and stress.
 
void scalarVolumeResidual (const MooseArray< Gradient > &vector_field, const Moose::Functor< Real > &source, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &scalar_re)
 
void scalarVolumeJacobian (const unsigned int vel_component, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_u_vel_jac, DenseMatrix< Number > &scalar_v_vel_jac, DenseMatrix< Number > &scalar_p_jac)
 Compute the volumetric contributions to a velocity Jacobian.
 
void scalarVolumeJacobian (const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &scalar_vector_jac)
 
void pressureVolumeResidual (const Moose::Functor< Real > &pressure_mms_forcing_function, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &pressure_re, DenseVector< Number > &global_lm_re)
 Compute the volumetric contributions to the pressure residual, e.g.
 
void pressureVolumeJacobian (const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &p_u_vel_jac, DenseMatrix< Number > &p_v_vel_jac, DenseMatrix< Number > &p_global_lm_jac, DenseMatrix< Number > &global_lm_p_jac)
 Compute the volumetric contributions to the pressure Jacobian, e.g.
 
void pressureFaceResidual (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &pressure_re)
 
void pressureFaceJacobian (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &p_lm_u_vel_jac, DenseMatrix< Number > &p_lm_v_vel_jac)
 
void scalarFaceResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)
 
void scalarFaceResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)
 
void scalarFaceJacobian (const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_lm_jac, DenseMatrix< Number > &scalar_p_jac, DenseMatrix< Number > &scalar_lm_u_vel_jac, DenseMatrix< Number > &scalar_lm_v_vel_jac)
 
void scalarFaceJacobian (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_lm_jac)
 
void lmFaceResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseVector< Number > &lm_re)
 
void lmFaceResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &lm_re)
 
void lmFaceJacobian (const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac, DenseMatrix< Number > &lm_p_jac, DenseMatrix< Number > &lm_lm_u_vel_jac, DenseMatrix< Number > &lm_lm_v_vel_jac)
 
void lmFaceJacobian (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac)
 
void pressureDirichletResidual (const std::array< const Moose::Functor< Real > *, 3 > &dirichlet_vel, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &pressure_re)
 
void scalarDirichletResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const unsigned int vel_component, const std::array< const Moose::Functor< Real > *, 3 > &dirichlet_vel, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &scalar_re)
 
void scalarDirichletResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const Moose::Functor< Real > &dirichlet_value, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &scalar_re)
 
void scalarDirichletJacobian (const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_pressure_jac)
 
void scalarDirichletJacobian (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac)
 
std::string deduceFunctorName (const std::string &name) const
 
void vectorVolumeResidual (const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseVector< Number > &vector_re)
 
void vectorVolumeJacobian (const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &vector_vector_jac, DenseMatrix< Number > &vector_scalar_jac)
 
void vectorFaceResidual (const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &vector_re)
 
void vectorFaceJacobian (const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &vector_lm_jac)
 
void vectorDirichletResidual (const Moose::Functor< Real > &dirichlet_value, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &vector_re)
 
void createIdentityResidual (const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const MooseArray< std::vector< Real > > &phi, const MooseArray< Number > &sol, DenseVector< Number > &re)
 
void createIdentityJacobian (const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const MooseArray< std::vector< Real > > &phi, DenseMatrix< Number > &ke)
 
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< Real > & _body_force_x
 
const Moose::Functor< Real > & _body_force_y
 
const Moose::Functor< Real > & _body_force_z
 
std::vector< const Moose::Functor< Real > * > _body_forces
 
const Moose::Functor< Real > & _pressure_mms_forcing_function
 
const QBase *const & _qrule_face
 The face quadrature rule.
 
const MooseArray< Point > & _q_point_face
 The physical locations of the quadrature points on the face.
 
const MooseArray< Real > & _JxW_face
 transformed Jacobian weights on the current element face
 
const MooseArray< Point > & _normals
 face normals
 
const unsigned int & _current_side
 The current side when doing face evaluations.
 
const Elem *const & _current_side_elem
 
MooseVariable & _var
 
const VariableTestValue & _test
 
const VariableTestGradient & _grad_test
 
const VariablePhiValue & _phi
 
const VariablePhiGradient & _grad_phi
 
const VariableValue & _u
 
const VariableGradient & _grad_u
 
const Elem *const & _current_elem
 
const Real & _current_elem_volume
 
unsigned int _qp
 
const MooseArray< Point > & _q_point
 
const QBase *const & _qrule
 
const MooseArray< Real > & _JxW
 
const MooseArray< Real > & _coord
 
unsigned int _i
 
unsigned int _j
 
bool _has_save_in
 
std::vector< MooseVariableFEBase * > _save_in
 
std::vector< AuxVariableName > _save_in_strings
 
bool _has_diag_save_in
 
std::vector< MooseVariableFEBase * > _diag_save_in
 
std::vector< AuxVariableName > _diag_save_in_strings
 
std::vector< unsigned int > _displacements
 
const bool _use_displaced_mesh
 
SubProblem & _subproblem
 
FEProblemBase & _fe_problem
 
SystemBase & _sys
 
THREAD_ID _tid
 
Assembly & _assembly
 
MooseMesh & _mesh
 
const bool & _enabled
 
MooseApp & _app
 
Factory & _factory
 
ActionFactory & _action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters & _pars
 
const ExecFlagEnum & _execute_enum
 
const ExecFlagType & _current_execute_flag
 
const InputParameters & _ti_params
 
FEProblemBase & _ti_feproblem
 
bool _is_implicit
 
Real & _t
 
const Real & _t_old
 
int & _t_step
 
Real & _dt
 
Real & _dt_old
 
bool _is_transient
 
MooseApp & _restartable_app
 
const std::string _restartable_system_name
 
const THREAD_ID _restartable_tid
 
const bool _restartable_read_only
 
FEProblemBase & _mci_feproblem
 
DenseVector< Number > _local_re
 
DenseMatrix< Number > _local_ke
 
DenseMatrix< Number > _nonlocal_ke
 
const MaterialData * _blk_material_data
 
const InputParameters & _c_parameters
 
const std::string & _c_name
 
const std::string & _c_type
 
FEProblemBase & _c_fe_problem
 
const SystemBase *const _c_sys
 
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _coupled_vars
 
std::vector< MooseVariableFieldBase * > _coupled_moose_vars
 
std::vector< MooseVariable * > _coupled_standard_moose_vars
 
std::vector< VectorMooseVariable * > _coupled_vector_moose_vars
 
std::vector< ArrayMooseVariable * > _coupled_array_moose_vars
 
std::vector< MooseVariableField< Real > * > _coupled_fv_moose_vars
 
const std::unordered_map< std::string, std::string > & _new_to_deprecated_coupled_vars
 
bool _c_nodal
 
bool _c_is_implicit
 
const bool _c_allow_element_to_nodal_coupling
 
THREAD_ID _c_tid
 
std::unordered_map< std::string, std::vector< std::unique_ptr< VariableValue > > > _default_value
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADReal > > > _ad_default_value
 
std::unordered_map< std::string, std::unique_ptr< VectorVariableValue > > _default_vector_value
 
std::unordered_map< std::string, std::unique_ptr< ArrayVariableValue > > _default_array_value
 
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > _ad_default_vector_value
 
VariableValue _default_value_zero
 
VariableGradient _default_gradient
 
MooseArray< ADRealVectorValue > _ad_default_gradient
 
MooseArray< ADRealTensorValue > _ad_default_vector_gradient
 
VariableSecond _default_second
 
MooseArray< ADRealTensorValue > _ad_default_second
 
MooseArray< ADRealVectorValue > _ad_default_curl
 
const VariableValue & _zero
 
const VariablePhiValue & _phi_zero
 
const MooseArray< ADReal > & _ad_zero
 
const VariableGradient & _grad_zero
 
const MooseArray< ADRealVectorValue > & _ad_grad_zero
 
const VariablePhiGradient & _grad_phi_zero
 
const VariableSecond & _second_zero
 
const MooseArray< ADRealTensorValue > & _ad_second_zero
 
const VariablePhiSecond & _second_phi_zero
 
const VectorVariableValue & _vector_zero
 
const VectorVariableCurl & _vector_curl_zero
 
VectorVariableValue _default_vector_value_zero
 
VectorVariableGradient _default_vector_gradient
 
VectorVariableCurl _default_vector_curl
 
VectorVariableDivergence _default_div
 
ArrayVariableValue _default_array_value_zero
 
ArrayVariableGradient _default_array_gradient
 
bool _coupleable_neighbor
 
FEProblemBase & _sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real & _real_zero
 
const VariableValue & _scalar_zero
 
const Point & _point_zero
 
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
 
GeometricSearchData & _geometric_search_data
 
bool _requires_geometric_search
 
bool _nodal
 
MooseVariableFE< Real > * _variable
 
MooseVariableFV< Real > * _fv_variable
 
MooseLinearVariableFV< Real > * _linear_fv_variable
 
MooseVariableField< Real > * _field_variable
 
Assembly * _mvi_assembly
 
const Parallel::Communicator & _communicator
 
const MooseVariableFE< Real > & _v_var
 
const MooseVariableFE< Real > *const _w_var
 
const MooseVariableFE< RealVectorValue > & _grad_v_var
 
const MooseVariableFE< RealVectorValue > *const _grad_w_var
 
const MooseVariableFE< Real > & _v_face_var
 
const MooseVariableFE< Real > *const _w_face_var
 
const MooseVariableFE< Real > & _pressure_var
 
const MooseVariableScalar *const _enclosure_lm_var
 
const std::vector< dof_id_type > & _qv_dof_indices
 Containers for dof indices.
 
const std::vector< dof_id_type > & _v_dof_indices
 
const std::vector< dof_id_type > & _lm_v_dof_indices
 
const std::vector< dof_id_type > *const _qw_dof_indices
 
const std::vector< dof_id_type > *const _w_dof_indices
 
const std::vector< dof_id_type > *const _lm_w_dof_indices
 
const std::vector< dof_id_type > & _p_dof_indices
 
const std::vector< dof_id_type > *const _global_lm_dof_indices
 
const MooseArray< Gradient > & _qv_sol
 local solutions at quadrature points
 
const MooseArray< Number > & _v_sol
 
const MooseArray< Number > & _lm_v_sol
 
const MooseArray< Gradient > *const _qw_sol
 
const MooseArray< Number > *const _w_sol
 
const MooseArray< Number > *const _lm_w_sol
 
const MooseArray< Number > & _p_sol
 
const MooseArray< Number > *const _global_lm_dof_value
 
const Real _rho
 The density.
 
DenseVector< Number > _grad_u_vel_re
 
DenseVector< Number > _grad_v_vel_re
 
DenseVector< Number > _u_vel_re
 
DenseVector< Number > _v_vel_re
 
DenseVector< Number > _lm_u_vel_re
 
DenseVector< Number > _lm_v_vel_re
 
DenseVector< Number > _p_re
 
DenseVector< Number > _global_lm_re
 
DenseMatrix< Number > _grad_u_grad_u_jac
 
DenseMatrix< Number > _grad_u_u_jac
 
DenseMatrix< Number > _grad_v_grad_v_jac
 
DenseMatrix< Number > _grad_v_v_jac
 
DenseMatrix< Number > _u_grad_u_jac
 
DenseMatrix< Number > _v_grad_v_jac
 
DenseMatrix< Number > _u_u_jac
 
DenseMatrix< Number > _u_v_jac
 
DenseMatrix< Number > _v_u_jac
 
DenseMatrix< Number > _v_v_jac
 
DenseMatrix< Number > _u_p_jac
 
DenseMatrix< Number > _v_p_jac
 
DenseMatrix< Number > _p_u_jac
 
DenseMatrix< Number > _p_v_jac
 
DenseMatrix< Number > _p_global_lm_jac
 
DenseMatrix< Number > _global_lm_p_jac
 
DenseMatrix< Number > _grad_u_lm_u_jac
 
DenseMatrix< Number > _grad_v_lm_v_jac
 
DenseMatrix< Number > _u_lm_u_jac
 
DenseMatrix< Number > _v_lm_v_jac
 
DenseMatrix< Number > _u_lm_v_jac
 
DenseMatrix< Number > _v_lm_u_jac
 
DenseMatrix< Number > _lm_u_grad_u_jac
 
DenseMatrix< Number > _lm_v_grad_v_jac
 
DenseMatrix< Number > _lm_u_u_jac
 
DenseMatrix< Number > _lm_v_v_jac
 
DenseMatrix< Number > _lm_u_lm_u_jac
 
DenseMatrix< Number > _lm_v_lm_v_jac
 
DenseMatrix< Number > _lm_u_p_jac
 
DenseMatrix< Number > _lm_v_p_jac
 
DenseMatrix< Number > _lm_u_lm_v_jac
 
DenseMatrix< Number > _lm_v_lm_u_jac
 
DenseMatrix< Number > _p_lm_u_jac
 
DenseMatrix< Number > _p_lm_v_jac
 
const MooseVariableFE< Real > & _u_var
 
const MooseVariableFE< RealVectorValue > & _grad_u_var
 
const MooseVariableFE< Real > & _u_face_var
 
const std::vector< dof_id_type > & _qu_dof_indices
 
const std::vector< dof_id_type > & _u_dof_indices
 
const std::vector< dof_id_type > & _lm_u_dof_indices
 
const MooseArray< libMesh::Gradient > & _qu_sol
 
const MooseArray< Number > & _u_sol
 
const MooseArray< Number > & _lm_u_sol
 
const MooseArray< std::vector< RealVectorValue > > & _vector_phi
 
const MooseArray< std::vector< Real > > & _scalar_phi
 
const MooseArray< std::vector< RealVectorValue > > & _grad_scalar_phi
 
const MooseArray< std::vector< Real > > & _div_vector_phi
 
const MooseArray< std::vector< RealVectorValue > > & _vector_phi_face
 
const MooseArray< std::vector< Real > > & _scalar_phi_face
 
const MooseArray< std::vector< Real > > & _lm_phi_face
 
const MaterialProperty< Real > & _diff
 
const TransientInterface & _ti
 
const Real _tau
 
const Elem * _cached_elem
 
DenseVector< Number > _vector_re
 
DenseVector< Number > _scalar_re
 
DenseVector< Number > _lm_re
 
DenseMatrix< Number > _vector_vector_jac
 
DenseMatrix< Number > _vector_scalar_jac
 
DenseMatrix< Number > _scalar_vector_jac
 
DenseMatrix< Number > _scalar_scalar_jac
 
DenseMatrix< Number > _scalar_lm_jac
 
DenseMatrix< Number > _lm_scalar_jac
 
DenseMatrix< Number > _lm_lm_jac
 
DenseMatrix< Number > _vector_lm_jac
 
DenseMatrix< Number > _lm_vector_jac
 

Static Protected Attributes

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

Private Types

enum  FuncAge
 
enum  VarType
 

Private Member Functions

const Moose::FunctionBase * getKokkosFunctionByNameHelper (const FunctionName &name) const
 
const UserObjectBase & getUserObjectFromFEProblem (const UserObjectName &object_name, const THREAD_ID tid=0) const
 
const T & castUserObject (const UserObjectBase &uo_base, const std::string &param_name="") const
 
void mooseObjectError (const std::string &param_name, std::stringstream &oss) const
 
const std::string & userObjectType (const UserObjectBase &uo) const
 
const std::string & userObjectName (const UserObjectBase &uo) const
 
const PostprocessorName & getPostprocessorNameInternal (const std::string &param_name, const unsigned int index, const bool allow_default_value=true) const
 
bool isDefaultPostprocessorValueByName (const PostprocessorName &name) const
 
PostprocessorValue getDefaultPostprocessorValueByName (const PostprocessorName &name) const
 
void checkParam (const std::string &param_name, const unsigned int index=std::numeric_limits< unsigned int >::max()) const
 
bool postprocessorsAdded () const
 
const VectorPostprocessorValue & getVectorPostprocessorByNameHelper (const VectorPostprocessorName &name, const std::string &vector_name, bool broadcast, std::size_t t_index) const
 
const VectorPostprocessorContext< VectorPostprocessorValue > & getVectorPostprocessorContextByNameHelper (const VectorPostprocessorName &name, const std::string &vector_name) const
 
bool vectorPostprocessorsAdded () const
 
RestartableDataValue & registerRestartableDataOnApp (std::unique_ptr< RestartableDataValue > data, THREAD_ID tid) const
 
void registerRestartableNameWithFilterOnApp (const std::string &name, Moose::RESTARTABLE_FILTER filter)
 
RestartableData< T > & declareRestartableDataHelper (const std::string &data_name, void *context, Args &&... args) const
 
void prepareVectorTagInternal (Assembly &assembly, unsigned int ivar, const std::set< TagID > &vector_tags, const std::set< TagID > &absolute_value_vector_tags)
 
void checkForNans () const
 
const OutputTools< T >::VariableValue & vectorTagValueHelper (const std::string &var_names, TagID tag, unsigned int index=0) const
 
const OutputTools< T >::VariableValue & vectorTagValueHelper (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const OutputTools< T >::VariableValue & vectorTagDofValueHelper (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const OutputTools< T >::VariableValue & vectorTagDofValueHelper (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const
 
void requestStates (const std::string &var_name, const TagName &tag_name, const unsigned int comp)
 
void checkFuncType (const std::string var_name, VarType t, FuncAge age) const
 
const VariableValue * getDefaultValue (const std::string &var_name, unsigned int comp) const
 
const VectorVariableValue * getDefaultVectorValue (const std::string &var_name) const
 
const ArrayVariableValue * getDefaultArrayValue (const std::string &var_name) const
 
const T & getDefaultNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const RealVectorValue & getDefaultNodalValue (const std::string &var_name, unsigned int) const
 
const RealEigenVector & getDefaultNodalValue (const std::string &var_name, unsigned int) const
 
const Moose::Functor< T > & getDefaultFunctor (const std::string &var_name) const
 
Moose::Kokkos::Variable kokkosCoupledVectorTagVariable (const std::string &var_name, const std::string &tag_name, unsigned int comp) const
 
Moose::Kokkos::Variable kokkosCoupledVectorTagVariables (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::Variable kokkosCoupledVectorTagVectorVariable (const std::string &var_name, const std::string &tag_name, unsigned int comp) const
 
Moose::Kokkos::Variable kokkosCoupledVectorTagVectorVariables (const std::string &var_name, const std::string &tag_name) const
 
Moose::Kokkos::Variable kokkosZeroVariable () const
 
Moose::Kokkos::Variable kokkosCoupledVectorTagScalarVariable (const std::string &var_name, const std::string &tag_name, unsigned int comp) const
 
std::set< MooseVariableFieldBase * > checkVariablesHelper (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check)
 
Moose::MaterialDataType getMaterialDataType (const std::set< BoundaryID > &boundary_ids) const
 
unsigned int getMaxQps () const
 
void addConsumedPropertyName (const MooseObjectName &obj_name, const std::string &prop_name)
 
const PostprocessorValue & getPostprocessorValueInternal (const std::string &param_name, unsigned int index, std::size_t t_index) const
 
const PostprocessorValue & getPostprocessorValueInternal (const std::string &param_name, unsigned int index, std::size_t t_index) const
 
const PostprocessorValue & getPostprocessorValueByNameInternal (const PostprocessorName &name, std::size_t t_index) const
 
const PostprocessorValue & getPostprocessorValueByNameInternal (const PostprocessorName &name, std::size_t t_index) const
 
void possiblyCheckHasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
void possiblyCheckHasVectorPostprocessor (const std::string &param_name, const std::string &vector_name) const
 
void possiblyCheckHasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
void possiblyCheckHasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const Moose::Functor< T > * defaultFunctor (const std::string &name)
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
virtual bool isADObject () const override
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

const ParallelParamObject & _parent
 
const MooseBase & _si_moose_base
 
const FEProblemBase * _si_problem
 
ExecFlagEnum _empty_execute_enum
 
const MooseObject & _fni_object
 
const InputParameters & _fni_params
 
FEProblemBase & _fni_feproblem
 
const THREAD_ID _fni_tid
 
const MooseObject & _uoi_moose_object
 
const FEProblemBase & _uoi_feproblem
 
const THREAD_ID _uoi_tid
 
const std::string _ti_name
 
const MooseObject & _ppi_moose_object
 
const InputParameters & _ppi_params
 
const FEProblemBase & _ppi_feproblem
 
std::map< PostprocessorName, std::unique_ptr< PostprocessorValue > > _default_values
 
const bool _broadcast_by_default
 
const MooseObject & _vpi_moose_object
 
const FEProblemBase & _vpi_feproblem
 
const THREAD_ID _vpi_tid
 
RandomData * _random_data
 
MooseRandom * _generator
 
FEProblemBase & _ri_problem
 
const std::string _ri_name
 
unsigned int _master_seed
 
bool _is_nodal
 
ExecFlagType _reset_on
 
const Node *const & _curr_node
 
const Elem *const & _curr_element
 
const RestartableDataMapName _metaname
 
std::string _restartable_name
 
std::set< TagID > _vector_tags
 
std::set< TagID > _abs_vector_tags
 
std::set< TagID > _matrix_tags
 
std::set< TagID > _non_ref_vector_tags
 
std::set< TagID > _non_ref_abs_vector_tags
 
std::set< TagID > _ref_vector_tags
 
std::set< TagID > _ref_abs_vector_tags
 
const MooseObject & _moose_object
 
const InputParameters & _tag_params
 
std::vector< DenseVector< Number > * > _re_blocks
 
std::vector< DenseVector< Number > * > _absre_blocks
 
std::vector< DenseMatrix< Number > * > _ke_blocks
 
std::vector< Real > _absolute_residuals
 
std::set< SubdomainID > _blk_ids
 
std::vector< SubdomainID > _vec_ids
 
std::vector< SubdomainName > _blocks
 
const bool _blk_dual_restrictable
 
FEProblemBase * _blk_feproblem
 
const MooseMesh * _blk_mesh
 
const std::set< BoundaryID > _empty_boundary_ids
 
const std::set< BoundaryID > & _boundary_ids
 
THREAD_ID _blk_tid
 
const std::string & _blk_name
 
unsigned int _blk_dim
 
Moose::Kokkos::Array< ContiguousElementID > _kokkos_element_ids
 
Moose::Kokkos::Array< ContiguousNodeID > _kokkos_node_ids
 
Moose::Kokkos::Array< Moose::Kokkos::Pair< ContiguousElementID, unsigned int > > _kokkos_element_side_ids
 
unsigned int _coupleable_max_qps
 
std::unordered_map< std::string, std::vector< unsigned int > > _optional_var_index
 
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _c_coupled_scalar_vars
 
std::set< TagID > _fe_coupleable_vector_tags
 
std::set< TagID > _fe_coupleable_matrix_tags
 
const bool _is_fv
 
const MooseObject *const _obj
 
const std::set< std::string > _older_state_tags
 
std::vector< std::set< MooseWritableVariable * > > _writable_coupled_variables
 
const Real _kokkos_default_value_zero
 
const InputParameters & _sc_parameters
 
const std::string & _sc_name
 
const bool _sc_is_implicit
 
std::unordered_map< std::string, std::vector< MooseVariableScalar * > > _coupled_scalar_vars
 
std::unordered_map< std::string, std::unique_ptr< ADVariableValue > > _dual_default_value
 
std::vector< MooseVariableScalar * > _coupled_moose_scalar_vars
 
std::unordered_map< std::string, std::vector< MooseVariableFieldBase * > > _sc_coupled_vars
 
std::set< TagID > _sc_coupleable_vector_tags
 
std::set< TagID > _sc_coupleable_matrix_tags
 
std::set< MooseVariableFieldBase * > _moose_variable_dependencies
 
std::vector< libMesh::dof_id_type > _dof_indices
 
const MooseObject & _mi_moose_object
 
const bool _mi_boundary_restricted
 
const std::set< SubdomainID > & _mi_block_ids
 
const std::set< BoundaryID > & _mi_boundary_ids
 
std::vector< std::unique_ptr< OptionalMaterialPropertyProxyBase< MaterialPropertyInterface > > > _optional_property_proxies
 
const InputParameters & _obj_parameters
 
std::shared_ptr< MooseMesh > & _id_mesh
 
const std::string & _ei_name
 
const MooseObject & _moose_obj
 
const FEProblemBase & _dhah_fe_problem
 
const SystemBase & _dhah_sys
 
const InputParameters & _fi_params
 
const std::string _fi_name
 
SubProblem *const _fi_subproblem
 
const THREAD_ID _fi_tid
 
std::vector< std::unique_ptr< Moose::Functor< Real > > > _default_real_functors
 
std::vector< std::unique_ptr< Moose::Functor< ADReal > > > _default_ad_real_functors
 

Detailed Description

Implements the steady incompressible Navier-Stokes equations for a hybridized discretization.

Definition at line 20 of file NavierStokesLHDGKernel.h.

Constructor & Destructor Documentation

◆ NavierStokesLHDGKernel()

NavierStokesLHDGKernel::NavierStokesLHDGKernel ( const InputParameters &  parameters)

Definition at line 38 of file NavierStokesLHDGKernel.C.

40 NavierStokesLHDGAssemblyHelper(this, this, this, this, _fe_problem, _sys, _mesh, _tid),
41 // body forces
42 _body_force_x(getFunctor<Real>("body_force_x")),
43 _body_force_y(getFunctor<Real>("body_force_y")),
44 _body_force_z(getFunctor<Real>("body_force_z")),
45 _pressure_mms_forcing_function(getFunctor<Real>("pressure_mms_forcing_function")),
51{
52 if (_mesh.dimension() > 2)
53 mooseError("This class only supports 2D simulations at this time");
54
55 _body_forces.push_back(&_body_force_x);
56 _body_forces.push_back(&_body_force_y);
57 _body_forces.push_back(&_body_force_z);
58}
const MooseArray< Point > & normals() const
const unsigned int & side() const
const MooseArray< Point > & qPointsFace() const
const libMesh::QBase *const & qRuleFace() const
const MooseArray< Real > & JxWFace() const
const InputParameters & parameters() const
void mooseError(Args &&... args) const
virtual unsigned int dimension() const
Implements all the methods for assembling a hybridized local discontinuous Galerkin (LDG-H),...
const QBase *const & _qrule_face
The face quadrature rule.
std::vector< const Moose::Functor< Real > * > _body_forces
const MooseArray< Point > & _normals
face normals
const MooseArray< Point > & _q_point_face
The physical locations of the quadrature points on the face.
const Moose::Functor< Real > & _pressure_mms_forcing_function
const unsigned int & _current_side
The current side when doing face evaluations.
const MooseArray< Real > & _JxW_face
transformed Jacobian weights on the current element face
const Moose::Functor< Real > & _body_force_y
const Moose::Functor< Real > & _body_force_x
const Moose::Functor< Real > & _body_force_z
THREAD_ID _tid
MooseMesh & _mesh
Assembly & _assembly
SystemBase & _sys
FEProblemBase & _fe_problem

Member Function Documentation

◆ additionalROVariables()

std::set< std::string > NavierStokesLHDGKernel::additionalROVariables ( )
overridevirtual

Reimplemented from HDGKernel.

Definition at line 342 of file NavierStokesLHDGKernel.C.

343{
344 std::set<std::string> covered_vars = {_grad_u_var.name(),
346 _v_var.name(),
351 covered_vars.insert(_enclosure_lm_var->name());
352 return covered_vars;
353}
const MooseVariableFE< Real > & _u_face_var
const MooseVariableFE< RealVectorValue > & _grad_u_var
const std::string & name() const
const MooseVariableFE< Real > & _v_face_var
const MooseVariableFE< Real > & _pressure_var
const MooseVariableFE< RealVectorValue > & _grad_v_var
const MooseVariableScalar *const _enclosure_lm_var

◆ computeJacobian()

void NavierStokesLHDGKernel::computeJacobian ( )
overridevirtual

Compute this object's entire element interior Jacobian, both on- and off-diagonal.

Implements HDGKernel.

Definition at line 95 of file NavierStokesLHDGKernel.C.

96{
114 _p_dof_indices.size());
115
116 // qu and u
119
120 // qv and v
123
124 // p
126
146 {
157 }
158}
const std::vector< dof_id_type > & _qu_dof_indices
const MooseVariableFE< Real > & _u_var
void vectorVolumeJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &vector_vector_jac, DenseMatrix< Number > &vector_scalar_jac)
const std::vector< dof_id_type > & _u_dof_indices
const MooseArray< Real > & _JxW
const QBase *const & _qrule
void scalingFactor(const std::vector< Real > &factor)
const std::vector< dof_id_type > & _qv_dof_indices
Containers for dof indices.
void pressureVolumeJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &p_u_vel_jac, DenseMatrix< Number > &p_v_vel_jac, DenseMatrix< Number > &p_global_lm_jac, DenseMatrix< Number > &global_lm_p_jac)
Compute the volumetric contributions to the pressure Jacobian, e.g.
const std::vector< dof_id_type > & _p_dof_indices
const std::vector< dof_id_type > *const _global_lm_dof_indices
void scalarVolumeJacobian(const unsigned int vel_component, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_u_vel_jac, DenseMatrix< Number > &scalar_v_vel_jac, DenseMatrix< Number > &scalar_p_jac)
Compute the volumetric contributions to a velocity Jacobian.
const std::vector< dof_id_type > & _v_dof_indices
void addJacobian(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
void resize(const unsigned int new_m, const unsigned int new_n)

Referenced by computeOffDiagJacobian().

◆ computeJacobianOnSide()

void NavierStokesLHDGKernel::computeJacobianOnSide ( )
overridevirtual

Implements HDGKernel.

Definition at line 198 of file NavierStokesLHDGKernel.C.

199{
200 const Elem * const neigh = _current_elem->neighbor_ptr(_current_side);
201
226
227 // qu, u, lm_u
230 _JxW_face,
232 _normals,
234 _u_u_jac,
236 _u_p_jac,
240 _JxW_face,
242 _normals,
243 neigh,
250
251 // qv, v, lm_v
254 _JxW_face,
256 _normals,
258 _v_v_jac,
260 _v_p_jac,
264 _JxW_face,
266 _normals,
267 neigh,
274
275 // p
277
316}
void vectorFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &vector_lm_jac)
const std::vector< dof_id_type > & _lm_u_dof_indices
const Elem *const & _current_elem
void pressureFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &p_lm_u_vel_jac, DenseMatrix< Number > &p_lm_v_vel_jac)
const std::vector< dof_id_type > & _lm_v_dof_indices
void scalarFaceJacobian(const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_lm_jac, DenseMatrix< Number > &scalar_p_jac, DenseMatrix< Number > &scalar_lm_u_vel_jac, DenseMatrix< Number > &scalar_lm_v_vel_jac)
void lmFaceJacobian(const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac, DenseMatrix< Number > &lm_p_jac, DenseMatrix< Number > &lm_lm_u_vel_jac, DenseMatrix< Number > &lm_lm_v_vel_jac)

◆ computeOffDiagJacobian()

void NavierStokesLHDGKernel::computeOffDiagJacobian ( unsigned int  jvar)
overridevirtual

Forwards to computeJacobian() the first time this is called for a given element.

Implements HDGKernel.

Definition at line 332 of file NavierStokesLHDGKernel.C.

333{
335 {
338 }
339}
virtual void computeJacobian() override
Compute this object's entire element interior Jacobian, both on- and off-diagonal.

◆ computeResidual()

void NavierStokesLHDGKernel::computeResidual ( )
overridevirtual

Implements HDGKernel.

Definition at line 61 of file NavierStokesLHDGKernel.C.

62{
69
70 // qu and u
74
75 // qv and v
79
80 // p
83
92}
void vectorVolumeResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseVector< Number > &vector_re)
const MooseArray< Number > & _u_sol
const MooseArray< libMesh::Gradient > & _qu_sol
const MooseArray< Point > & _q_point
void pressureVolumeResidual(const Moose::Functor< Real > &pressure_mms_forcing_function, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &pressure_re, DenseVector< Number > &global_lm_re)
Compute the volumetric contributions to the pressure residual, e.g.
const MooseArray< Gradient > & _qv_sol
local solutions at quadrature points
void scalarVolumeResidual(const MooseArray< Gradient > &vel_gradient, const unsigned int vel_component, const Moose::Functor< Real > &body_force, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &scalar_re)
Compute the volumetric contributions to a velocity residual for a provided velocity gradient and stre...
void addResiduals(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
void resize(const unsigned int n)

◆ computeResidualOnSide()

void NavierStokesLHDGKernel::computeResidualOnSide ( )
overridevirtual

Implements HDGKernel.

Definition at line 161 of file NavierStokesLHDGKernel.C.

162{
163 const Elem * const neigh = _current_elem->neighbor_ptr(_current_side);
164
172
173 // qu, u, lm_u
178
179 // qv, v, lm_v
184
185 // p
187
195}
void vectorFaceResidual(const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &vector_re)
const MooseArray< Number > & _lm_u_sol
void scalarFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)
void pressureFaceResidual(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &pressure_re)
void lmFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const unsigned int vel_component, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const neigh, DenseVector< Number > &lm_re)

◆ initialSetup()

void NavierStokesLHDGKernel::initialSetup ( )
overridevirtual

Reimplemented from HDGKernel.

Definition at line 319 of file NavierStokesLHDGKernel.C.

320{
321 // This check must occur after FEProblemBase::init()
323}

◆ jacobianSetup()

void NavierStokesLHDGKernel::jacobianSetup ( )
overridevirtual

Reimplemented from HDGKernel.

Definition at line 326 of file NavierStokesLHDGKernel.C.

327{
328 _cached_elem = nullptr;
329}

◆ lmFaceJacobian()

void NavierStokesLHDGAssemblyHelper::lmFaceJacobian ( const unsigned int  vel_component,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
const Elem *const  neigh,
DenseMatrix< Number > &  lm_vec_jac,
DenseMatrix< Number > &  lm_scalar_jac,
DenseMatrix< Number > &  lm_lm_jac,
DenseMatrix< Number > &  lm_p_jac,
DenseMatrix< Number > &  lm_lm_u_vel_jac,
DenseMatrix< Number > &  lm_lm_v_vel_jac 
)
protectedinherited

Definition at line 476 of file NavierStokesLHDGAssemblyHelper.C.

487{
489 JxW_face, qrule_face, normals, lm_vec_jac, lm_scalar_jac, lm_lm_jac);
490
491 for (const auto i : make_range(lm_p_jac.m()))
492 for (const auto qp : make_range(qrule_face.n_points()))
493 {
494 for (const auto j : make_range(lm_p_jac.n()))
495 {
496 Gradient p_phi;
497 p_phi(vel_component) = _scalar_phi_face[j][qp];
498 lm_p_jac(i, j) += JxW_face[qp] * _lm_phi_face[i][qp] * (p_phi * normals[qp]);
499 }
500
501 for (const auto j : make_range(lm_lm_u_vel_jac.n()))
502 if (neigh)
503 {
504 // derivatives wrt 0th component of velocity
505 {
506 const auto rho_vel_cross_vel =
507 rhoVelCrossVelJacobian(_lm_u_sol, _lm_v_sol, qp, vel_component, 0, _lm_phi_face, j);
508 lm_lm_u_vel_jac(i, j) +=
509 JxW_face[qp] * _lm_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
510 }
511 // derivatives wrt 1th component of velocity
512 {
513 const auto rho_vel_cross_vel =
514 rhoVelCrossVelJacobian(_lm_u_sol, _lm_v_sol, qp, vel_component, 1, _lm_phi_face, j);
515 lm_lm_v_vel_jac(i, j) +=
516 JxW_face[qp] * _lm_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
517 }
518 }
519 }
520}
for(PetscInt i=0;i< nvars;++i)
void lmFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &lm_vec_jac, DenseMatrix< Number > &lm_scalar_jac, DenseMatrix< Number > &lm_lm_jac)
const MooseArray< std::vector< Real > > & _lm_phi_face
const MooseArray< std::vector< Real > > & _scalar_phi_face
RealVectorValue rhoVelCrossVelJacobian(const MooseArray< Number > &u_sol, const MooseArray< Number > &v_sol, const unsigned int qp, const unsigned int vel_component, const unsigned int vel_j_component, const MooseArray< std::vector< Real > > &phi, const unsigned int j)
NumberVectorValue Gradient
if(subdm)
IntRange< T > make_range(T beg, T end)

Referenced by NavierStokesLHDGOutflowBC::computeJacobian(), and computeJacobianOnSide().

◆ lmFaceResidual()

void NavierStokesLHDGAssemblyHelper::lmFaceResidual ( const MooseArray< Gradient > &  vector_sol,
const MooseArray< Number > &  scalar_sol,
const MooseArray< Number > &  lm_sol,
const unsigned int  vel_component,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
const Elem *const  neigh,
DenseVector< Number > &  lm_re 
)
protectedinherited

Definition at line 442 of file NavierStokesLHDGAssemblyHelper.C.

451{
453 vector_sol, scalar_sol, lm_sol, JxW_face, qrule_face, normals, lm_re);
454
455 for (const auto qp : make_range(qrule_face.n_points()))
456 {
457 Gradient qp_p;
458 qp_p(vel_component) = _p_sol[qp];
459 const auto rho_vel_cross_vel = rhoVelCrossVelResidual(_lm_u_sol, _lm_v_sol, qp, vel_component);
460
461 for (const auto i : make_range(lm_re.size()))
462 {
463 // pressure
464 lm_re(i) += JxW_face[qp] * _lm_phi_face[i][qp] * (qp_p * normals[qp]);
465
466 // If we are an internal face we add the convective term. On the outflow boundary we do not
467 // zero out the convection term, e.g. we are going to set q + p + tau * (u - u_hat) to zero
468 if (neigh)
469 // lm from convection term
470 lm_re(i) += JxW_face[qp] * _lm_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
471 }
472 }
473}
void lmFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &lm_re)
RealVectorValue rhoVelCrossVelResidual(const MooseArray< Number > &u_sol, const MooseArray< Number > &v_sol, const unsigned int qp, const unsigned int vel_component)

Referenced by NavierStokesLHDGOutflowBC::computeResidual(), and computeResidualOnSide().

◆ pressureDirichletResidual()

void NavierStokesLHDGAssemblyHelper::pressureDirichletResidual ( const std::array< const Moose::Functor< Real > *, 3 > &  dirichlet_vel,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
const Elem *const  current_elem,
const unsigned int  current_side,
const MooseArray< Point > &  q_point_face,
DenseVector< Number > &  pressure_re 
)
protectedinherited

Definition at line 523 of file NavierStokesLHDGAssemblyHelper.C.

532{
533 for (const auto qp : make_range(qrule_face.n_points()))
534 {
535 const Moose::ElemSideQpArg elem_side_qp_arg{
536 current_elem, current_side, qp, &qrule_face, q_point_face[qp]};
537 const auto time_arg = _ti.determineState();
538 const RealVectorValue dirichlet_velocity((*dirichlet_vel[0])(elem_side_qp_arg, time_arg),
539 (*dirichlet_vel[1])(elem_side_qp_arg, time_arg),
540 (*dirichlet_vel[2])(elem_side_qp_arg, time_arg));
541 const auto vdotn = dirichlet_velocity * normals[qp];
542 for (const auto i : make_range(pressure_re.size()))
543 pressure_re(i) += JxW_face[qp] * vdotn * _scalar_phi_face[i][qp];
544 }
545}
const TransientInterface & _ti
Moose::StateArg determineState() const
VectorValue< Real > RealVectorValue

Referenced by NavierStokesLHDGVelocityDirichletBC::computeResidual().

◆ pressureFaceJacobian()

void NavierStokesLHDGAssemblyHelper::pressureFaceJacobian ( const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
DenseMatrix< Number > &  p_lm_u_vel_jac,
DenseMatrix< Number > &  p_lm_v_vel_jac 
)
protectedinherited

Definition at line 335 of file NavierStokesLHDGAssemblyHelper.C.

340{
341 mooseAssert((p_lm_u_vel_jac.m() == p_lm_v_vel_jac.m()) &&
342 (p_lm_u_vel_jac.n() == p_lm_v_vel_jac.n()),
343 "We already checked that lm finite element types are the same, so these matrices "
344 "should be the same size");
345 for (const auto i : make_range(p_lm_u_vel_jac.m()))
346 for (const auto j : make_range(p_lm_u_vel_jac.n()))
347 for (const auto qp : make_range(qrule_face.n_points()))
348 {
349 {
350 const Gradient phi(_lm_phi_face[j][qp], 0);
351 p_lm_u_vel_jac(i, j) += JxW_face[qp] * phi * normals[qp] * _scalar_phi_face[i][qp];
352 }
353 {
354 const Gradient phi(0, _lm_phi_face[j][qp]);
355 p_lm_v_vel_jac(i, j) += JxW_face[qp] * phi * normals[qp] * _scalar_phi_face[i][qp];
356 }
357 }
358}
unsigned int n() const
unsigned int m() const

Referenced by NavierStokesLHDGOutflowBC::computeJacobian(), and computeJacobianOnSide().

◆ pressureFaceResidual()

void NavierStokesLHDGAssemblyHelper::pressureFaceResidual ( const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
DenseVector< Number > &  pressure_re 
)
protectedinherited

Definition at line 320 of file NavierStokesLHDGAssemblyHelper.C.

324{
325 for (const auto qp : make_range(qrule_face.n_points()))
326 {
327 const Gradient vel(_lm_u_sol[qp], _lm_v_sol[qp]);
328 const auto vdotn = vel * normals[qp];
329 for (const auto i : make_range(pressure_re.size()))
330 pressure_re(i) += JxW_face[qp] * vdotn * _scalar_phi_face[i][qp];
331 }
332}

Referenced by NavierStokesLHDGOutflowBC::computeResidual(), and computeResidualOnSide().

◆ pressureVolumeJacobian()

void NavierStokesLHDGAssemblyHelper::pressureVolumeJacobian ( const MooseArray< Real > &  JxW,
const libMesh::QBase &  qrule,
DenseMatrix< Number > &  p_u_vel_jac,
DenseMatrix< Number > &  p_v_vel_jac,
DenseMatrix< Number > &  p_global_lm_jac,
DenseMatrix< Number > &  global_lm_p_jac 
)
protectedinherited

Compute the volumetric contributions to the pressure Jacobian, e.g.

the conservation of mass equation

Parameters
i_offsetThe local degree of freedom offset for the pressure
u_j_offsetThe local degree of freedom offset for the x-component of velocity
v_j_offsetThe local degree of freedom offset for the y-component of velocity
p_j_offsetThe local degree of freedom offset for the pressure
global_lm_i_offsetThe local degree of freedom offset for the global Lagrange multiplier that removes the pressure nullspace

Definition at line 256 of file NavierStokesLHDGAssemblyHelper.C.

262{
263 for (const auto qp : make_range(qrule.n_points()))
264 {
265 for (const auto i : make_range(p_u_vel_jac.m()))
266 {
267 for (const auto j : make_range(p_u_vel_jac.n()))
268 {
269 {
270 const Gradient phi(_scalar_phi[j][qp], 0);
271 p_u_vel_jac(i, j) -= JxW[qp] * (_grad_scalar_phi[i][qp] * phi);
272 }
273 {
274 const Gradient phi(0, _scalar_phi[j][qp]);
275 p_v_vel_jac(i, j) -= JxW[qp] * (_grad_scalar_phi[i][qp] * phi);
276 }
277 }
279 p_global_lm_jac(i, 0) -= JxW[qp] * _scalar_phi[i][qp];
280 }
281
283 {
284 for (const auto j : make_range(global_lm_p_jac.n()))
285 global_lm_p_jac(0, j) -= JxW[qp] * _scalar_phi[j][qp];
286 }
287 }
288}
const MooseArray< std::vector< Real > > & _scalar_phi
const MooseArray< std::vector< RealVectorValue > > & _grad_scalar_phi

Referenced by computeJacobian().

◆ pressureVolumeResidual()

void NavierStokesLHDGAssemblyHelper::pressureVolumeResidual ( const Moose::Functor< Real > &  pressure_mms_forcing_function,
const MooseArray< Real > &  JxW,
const libMesh::QBase &  qrule,
const Elem *const  current_elem,
const MooseArray< Point > &  q_point,
DenseVector< Number > &  pressure_re,
DenseVector< Number > &  global_lm_re 
)
protectedinherited

Compute the volumetric contributions to the pressure residual, e.g.

the conservation of mass equation

Parameters
i_offsetThe local degree of freedom offset for the pressure
global_lm_i_offsetThe local degree of freedom offset for the global Lagrange multiplier that removes the pressure nullspace

Definition at line 218 of file NavierStokesLHDGAssemblyHelper.C.

226{
227 for (const auto qp : make_range(qrule.n_points()))
228 {
229 // Prepare forcing function
230 const auto f = pressure_mms_forcing_function(
231 Moose::ElemQpArg{current_elem, qp, &qrule, q_point[qp]}, _ti.determineState());
232
233 const Gradient vel(_u_sol[qp], _v_sol[qp]);
234 for (const auto i : make_range(pressure_re.size()))
235 {
236 pressure_re(i) -= JxW[qp] * (_grad_scalar_phi[i][qp] * vel);
237
238 // Pressure equation forcing function RHS
239 pressure_re(i) -= JxW[qp] * _scalar_phi[i][qp] * f;
240
242 {
243 mooseAssert(
245 "There should only be one degree of freedom for removing the pressure nullspace");
246 pressure_re(i) -= JxW[qp] * _scalar_phi[i][qp] * (*_global_lm_dof_value)[0];
247 }
248 }
249
251 global_lm_re(0) -= JxW[qp] * _p_sol[qp];
252 }
253}
Real f(Real x)
Test function for Brents method.
unsigned int size() const
const MooseArray< Number > *const _global_lm_dof_value

Referenced by computeResidual().

◆ rhoVelCrossVelJacobian()

RealVectorValue NavierStokesLHDGAssemblyHelper::rhoVelCrossVelJacobian ( const MooseArray< Number > &  u_sol,
const MooseArray< Number > &  v_sol,
const unsigned int  qp,
const unsigned int  vel_component,
const unsigned int  vel_j_component,
const MooseArray< std::vector< Real > > &  phi,
const unsigned int  j 
)
protectedinherited
Parameters
u_solThe x-velocity solution, can correspond to either the volumetric or face velocity
v_solThe y-velocity solution, can correspond to either the volumetric or face velocity

Definition at line 301 of file NavierStokesLHDGAssemblyHelper.C.

308{
309 const RealVectorValue U(u_sol[qp], v_sol[qp]);
310 RealVectorValue vector_phi;
311 vector_phi(vel_j_component) = phi[j][qp];
312 auto ret = vector_phi * U(vel_component);
313 if (vel_component == vel_j_component)
314 ret += U * phi[j][qp];
315 ret *= _rho;
316 return ret;
317}

Referenced by NavierStokesLHDGAssemblyHelper::lmFaceJacobian(), NavierStokesLHDGAssemblyHelper::scalarFaceJacobian(), and NavierStokesLHDGAssemblyHelper::scalarVolumeJacobian().

◆ rhoVelCrossVelResidual()

RealVectorValue NavierStokesLHDGAssemblyHelper::rhoVelCrossVelResidual ( const MooseArray< Number > &  u_sol,
const MooseArray< Number > &  v_sol,
const unsigned int  qp,
const unsigned int  vel_component 
)
protectedinherited
Parameters
u_solThe x-velocity solution, can correspond to either the volumetric or face velocity
v_solThe y-velocity solution, can correspond to either the volumetric or face velocity

Definition at line 291 of file NavierStokesLHDGAssemblyHelper.C.

295{
296 const RealVectorValue U(u_sol[qp], v_sol[qp]);
297 return _rho * U * U(vel_component);
298}

Referenced by NavierStokesLHDGAssemblyHelper::lmFaceResidual(), NavierStokesLHDGAssemblyHelper::scalarFaceResidual(), and NavierStokesLHDGAssemblyHelper::scalarVolumeResidual().

◆ scalarDirichletJacobian()

void NavierStokesLHDGAssemblyHelper::scalarDirichletJacobian ( const unsigned int  vel_component,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
DenseMatrix< Number > &  scalar_vector_jac,
DenseMatrix< Number > &  scalar_scalar_jac,
DenseMatrix< Number > &  scalar_pressure_jac 
)
protectedinherited

Definition at line 598 of file NavierStokesLHDGAssemblyHelper.C.

605{
607 JxW_face, qrule_face, normals, scalar_vector_jac, scalar_scalar_jac);
608
609 for (const auto i : make_range(scalar_pressure_jac.m()))
610 for (const auto j : make_range(scalar_pressure_jac.n()))
611 for (const auto qp : make_range(qrule_face.n_points()))
612 {
613 Gradient p_phi;
614 p_phi(vel_component) = _scalar_phi_face[j][qp];
615 // pressure
616 scalar_pressure_jac(i, j) += JxW_face[qp] * _scalar_phi_face[i][qp] * (p_phi * normals[qp]);
617 }
618}
void scalarDirichletJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac)

Referenced by NavierStokesLHDGVelocityDirichletBC::computeJacobian().

◆ scalarDirichletResidual()

void NavierStokesLHDGAssemblyHelper::scalarDirichletResidual ( const MooseArray< Gradient > &  vector_sol,
const MooseArray< Number > &  scalar_sol,
const unsigned int  vel_component,
const std::array< const Moose::Functor< Real > *, 3 > &  dirichlet_vel,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
const Elem *const  current_elem,
const unsigned int  current_side,
const MooseArray< Point > &  q_point_face,
DenseVector< Number > &  scalar_re 
)
protectedinherited

Definition at line 548 of file NavierStokesLHDGAssemblyHelper.C.

560{
562 scalar_sol,
563 *dirichlet_vel[vel_component],
564 JxW_face,
565 qrule_face,
566 normals,
567 current_elem,
568 current_side,
569 q_point_face,
570 scalar_re);
571
572 for (const auto qp : make_range(qrule_face.n_points()))
573 {
574 Gradient qp_p;
575 qp_p(vel_component) = _p_sol[qp];
576
577 const Moose::ElemSideQpArg elem_side_qp_arg{
578 current_elem, current_side, qp, &qrule_face, q_point_face[qp]};
579 const auto time_arg = _ti.determineState();
580 const RealVectorValue dirichlet_velocity((*dirichlet_vel[0])(elem_side_qp_arg, time_arg),
581 (*dirichlet_vel[1])(elem_side_qp_arg, time_arg),
582 (*dirichlet_vel[2])(elem_side_qp_arg, time_arg));
583 const auto scalar_value = dirichlet_velocity(vel_component);
584
585 for (const auto i : make_range(scalar_re.size()))
586 {
587 // pressure
588 scalar_re(i) += JxW_face[qp] * _scalar_phi_face[i][qp] * (qp_p * normals[qp]);
589
590 // dirichlet lm from advection term
591 scalar_re(i) += JxW_face[qp] * _scalar_phi_face[i][qp] *
592 (_rho * dirichlet_velocity * normals[qp]) * scalar_value;
593 }
594 }
595}
void scalarDirichletResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const Moose::Functor< Real > &dirichlet_value, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, const Elem *const current_elem, const unsigned int current_side, const MooseArray< Point > &q_point_face, DenseVector< Number > &scalar_re)

Referenced by NavierStokesLHDGVelocityDirichletBC::computeResidual().

◆ scalarFaceJacobian()

void NavierStokesLHDGAssemblyHelper::scalarFaceJacobian ( const unsigned int  vel_component,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
DenseMatrix< Number > &  scalar_vector_jac,
DenseMatrix< Number > &  scalar_scalar_jac,
DenseMatrix< Number > &  scalar_lm_jac,
DenseMatrix< Number > &  scalar_p_jac,
DenseMatrix< Number > &  scalar_lm_u_vel_jac,
DenseMatrix< Number > &  scalar_lm_v_vel_jac 
)
protectedinherited

Definition at line 391 of file NavierStokesLHDGAssemblyHelper.C.

402{
404 JxW_face, qrule_face, normals, scalar_vector_jac, scalar_scalar_jac, scalar_lm_jac);
405
406 for (const auto i : make_range(scalar_lm_u_vel_jac.m()))
407 for (const auto qp : make_range(qrule_face.n_points()))
408 {
409 for (const auto j : make_range(scalar_p_jac.n()))
410 {
411 Gradient p_phi;
412 p_phi(vel_component) = _scalar_phi_face[j][qp];
413 // pressure
414 scalar_p_jac(i, j) += JxW_face[qp] * _scalar_phi_face[i][qp] * (p_phi * normals[qp]);
415 }
416
417 for (const auto j : make_range(scalar_lm_u_vel_jac.n()))
418 {
419 //
420 // from convection term
421 //
422
423 // derivatives wrt 0th component of velocity
424 {
425 const auto rho_vel_cross_vel =
426 rhoVelCrossVelJacobian(_lm_u_sol, _lm_v_sol, qp, vel_component, 0, _lm_phi_face, j);
427 scalar_lm_u_vel_jac(i, j) +=
428 JxW_face[qp] * _scalar_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
429 }
430 // derivatives wrt 1th component of velocity
431 {
432 const auto rho_vel_cross_vel =
433 rhoVelCrossVelJacobian(_lm_u_sol, _lm_v_sol, qp, vel_component, 1, _lm_phi_face, j);
434 scalar_lm_v_vel_jac(i, j) +=
435 JxW_face[qp] * _scalar_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
436 }
437 }
438 }
439}
void scalarFaceJacobian(const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseMatrix< Number > &scalar_vector_jac, DenseMatrix< Number > &scalar_scalar_jac, DenseMatrix< Number > &scalar_lm_jac)

Referenced by NavierStokesLHDGOutflowBC::computeJacobian(), and computeJacobianOnSide().

◆ scalarFaceResidual()

void NavierStokesLHDGAssemblyHelper::scalarFaceResidual ( const MooseArray< Gradient > &  vector_sol,
const MooseArray< Number > &  scalar_sol,
const MooseArray< Number > &  lm_sol,
const unsigned int  vel_component,
const MooseArray< Real > &  JxW_face,
const libMesh::QBase &  qrule_face,
const MooseArray< Point > &  normals,
DenseVector< Number > &  scalar_re 
)
protectedinherited

Definition at line 361 of file NavierStokesLHDGAssemblyHelper.C.

369{
371 vector_sol, scalar_sol, lm_sol, JxW_face, qrule_face, normals, scalar_re);
372
373 for (const auto qp : make_range(qrule_face.n_points()))
374 {
375 Gradient qp_p;
376 qp_p(vel_component) = _p_sol[qp];
377 const auto rho_vel_cross_vel = rhoVelCrossVelResidual(_lm_u_sol, _lm_v_sol, qp, vel_component);
378
379 for (const auto i : make_range(scalar_re.size()))
380 {
381 // pressure
382 scalar_re(i) += JxW_face[qp] * _scalar_phi_face[i][qp] * (qp_p * normals[qp]);
383
384 // lm from convection term
385 scalar_re(i) += JxW_face[qp] * _scalar_phi_face[i][qp] * rho_vel_cross_vel * normals[qp];
386 }
387 }
388}
void scalarFaceResidual(const MooseArray< Gradient > &vector_sol, const MooseArray< Number > &scalar_sol, const MooseArray< Number > &lm_sol, const MooseArray< Real > &JxW_face, const libMesh::QBase &qrule_face, const MooseArray< Point > &normals, DenseVector< Number > &scalar_re)

Referenced by NavierStokesLHDGOutflowBC::computeResidual(), and computeResidualOnSide().

◆ scalarVolumeJacobian()

void NavierStokesLHDGAssemblyHelper::scalarVolumeJacobian ( const unsigned int  vel_component,
const MooseArray< Real > &  JxW,
const libMesh::QBase &  qrule,
DenseMatrix< Number > &  scalar_vector_jac,
DenseMatrix< Number > &  scalar_u_vel_jac,
DenseMatrix< Number > &  scalar_v_vel_jac,
DenseMatrix< Number > &  scalar_p_jac 
)
protectedinherited

Compute the volumetric contributions to a velocity Jacobian.

Parameters
i_offsetThe local degree of freedom offset for the velocity component
vel_gradient_j_offsetThe local degree of freedom offset for the associated velocity gradient
p_j_offsetThe local degree of freedom offset for the pressure
vel_componentThe velocity component
u_j_offsetThe local degree of freedom offset for the x-component velocity
v_j_offsetThe local degree of freedom offset for the y-component velocity

Definition at line 176 of file NavierStokesLHDGAssemblyHelper.C.

183{
184 DiffusionLHDGAssemblyHelper::scalarVolumeJacobian(JxW, qrule, scalar_vector_jac);
185
186 for (const auto i : make_range(scalar_vector_jac.m()))
187 for (const auto qp : make_range(qrule.n_points()))
188 {
189 // Scalar equation dependence on pressure dofs
190 for (const auto j : make_range(scalar_p_jac.n()))
191 {
192 Gradient p_phi;
193 p_phi(vel_component) = _scalar_phi[j][qp];
194 scalar_p_jac(i, j) -= JxW[qp] * (_grad_scalar_phi[i][qp] * p_phi);
195 }
196
197 // Scalar equation dependence on scalar dofs
198 mooseAssert(scalar_u_vel_jac.n() == scalar_v_vel_jac.n(), "These must be the same size");
199 for (const auto j : make_range(scalar_u_vel_jac.n()))
200 {
201 // derivatives wrt 0th component of velocity
202 {
203 const auto rho_vel_cross_vel =
204 rhoVelCrossVelJacobian(_u_sol, _v_sol, qp, vel_component, 0, _scalar_phi, j);
205 scalar_u_vel_jac(i, j) -= JxW[qp] * (_grad_scalar_phi[i][qp] * rho_vel_cross_vel);
206 }
207 // derivatives wrt 1th component of velocity
208 {
209 const auto rho_vel_cross_vel =
210 rhoVelCrossVelJacobian(_u_sol, _v_sol, qp, vel_component, 1, _scalar_phi, j);
211 scalar_v_vel_jac(i, j) -= JxW[qp] * (_grad_scalar_phi[i][qp] * rho_vel_cross_vel);
212 }
213 }
214 }
215}
void scalarVolumeJacobian(const MooseArray< Real > &JxW, const libMesh::QBase &qrule, DenseMatrix< Number > &scalar_vector_jac)

Referenced by computeJacobian().

◆ scalarVolumeResidual()

void NavierStokesLHDGAssemblyHelper::scalarVolumeResidual ( const MooseArray< Gradient > &  vel_gradient,
const unsigned int  vel_component,
const Moose::Functor< Real > &  body_force,
const MooseArray< Real > &  JxW,
const libMesh::QBase &  qrule,
const Elem *const  current_elem,
const MooseArray< Point > &  q_point,
DenseVector< Number > &  scalar_re 
)
protectedinherited

Compute the volumetric contributions to a velocity residual for a provided velocity gradient and stress.

Parameters
i_offsetThe local degree of freedom offset for the velocity component
vel_gradientThe velocity gradient component
vel_componentThe velocity component

Definition at line 146 of file NavierStokesLHDGAssemblyHelper.C.

154{
156 vel_gradient, body_force, JxW, qrule, current_elem, q_point, scalar_re);
157
158 for (const auto qp : make_range(qrule.n_points()))
159 {
160 const auto rho_vel_cross_vel = rhoVelCrossVelResidual(_u_sol, _v_sol, qp, vel_component);
161 Gradient qp_p;
162 qp_p(vel_component) = _p_sol[qp];
163
164 for (const auto i : index_range(scalar_re))
165 {
166 // Scalar equation dependence on pressure dofs
167 scalar_re(i) -= JxW[qp] * (_grad_scalar_phi[i][qp] * qp_p);
168
169 // Scalar equation dependence on scalar dofs
170 scalar_re(i) -= JxW[qp] * (_grad_scalar_phi[i][qp] * rho_vel_cross_vel);
171 }
172 }
173}
void scalarVolumeResidual(const MooseArray< Gradient > &vector_field, const Moose::Functor< Real > &source, const MooseArray< Real > &JxW, const libMesh::QBase &qrule, const Elem *const current_elem, const MooseArray< Point > &q_point, DenseVector< Number > &scalar_re)
auto index_range(const T &sizable)

Referenced by computeResidual().

◆ validParams()

InputParameters NavierStokesLHDGKernel::validParams ( )
static

Definition at line 18 of file NavierStokesLHDGKernel.C.

19{
20 auto params = HDGKernel::validParams();
22 params.addParam<MooseFunctorName>(
23 "body_force_x", 0, "Body force for the momentum equation in the x-direction");
24 params.addParam<MooseFunctorName>(
25 "body_force_y", 0, "Body force for the momentum equation in the y-direction");
26 params.addParam<MooseFunctorName>(
27 "body_force_z", 0, "Body force for the momentum equation in the z-direction");
28 params.addParam<MooseFunctorName>(
29 "pressure_mms_forcing_function",
30 0,
31 "A forcing function for the pressure (mass) equation for conducting MMS studies");
32 params.addClassDescription("Implements the steady incompressible Navier-Stokes equations for a "
33 "hybridized discretization");
34 params.renameParam("variable", "u", "The x-component of velocity");
35 return params;
36}
static InputParameters validParams()

Member Data Documentation

◆ _body_force_x

const Moose::Functor<Real>& NavierStokesLHDGKernel::_body_force_x
protected

Definition at line 44 of file NavierStokesLHDGKernel.h.

Referenced by computeResidual(), and NavierStokesLHDGKernel().

◆ _body_force_y

const Moose::Functor<Real>& NavierStokesLHDGKernel::_body_force_y
protected

Definition at line 45 of file NavierStokesLHDGKernel.h.

Referenced by computeResidual(), and NavierStokesLHDGKernel().

◆ _body_force_z

const Moose::Functor<Real>& NavierStokesLHDGKernel::_body_force_z
protected

Definition at line 46 of file NavierStokesLHDGKernel.h.

Referenced by NavierStokesLHDGKernel().

◆ _body_forces

std::vector<const Moose::Functor<Real> *> NavierStokesLHDGKernel::_body_forces
protected

Definition at line 47 of file NavierStokesLHDGKernel.h.

Referenced by NavierStokesLHDGKernel().

◆ _current_side

const unsigned int& NavierStokesLHDGKernel::_current_side
protected

The current side when doing face evaluations.

Definition at line 63 of file NavierStokesLHDGKernel.h.

Referenced by computeJacobianOnSide(), and computeResidualOnSide().

◆ _enclosure_lm_var

const MooseVariableScalar* const NavierStokesLHDGAssemblyHelper::_enclosure_lm_var
protectedinherited

◆ _global_lm_dof_indices

const std::vector<dof_id_type>* const NavierStokesLHDGAssemblyHelper::_global_lm_dof_indices
protectedinherited

Definition at line 226 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian(), and computeResidual().

◆ _global_lm_dof_value

const MooseArray<Number>* const NavierStokesLHDGAssemblyHelper::_global_lm_dof_value
protectedinherited

◆ _global_lm_p_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_global_lm_p_jac
protectedinherited

Definition at line 245 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _global_lm_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_global_lm_re
protectedinherited

Definition at line 242 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeResidual().

◆ _grad_u_grad_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_u_grad_u_jac
protectedinherited

Definition at line 243 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _grad_u_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_u_lm_u_jac
protectedinherited

◆ _grad_u_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_u_u_jac
protectedinherited

Definition at line 243 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _grad_u_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_grad_u_vel_re
protectedinherited

◆ _grad_v_grad_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_v_grad_v_jac
protectedinherited

Definition at line 243 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _grad_v_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_v_lm_v_jac
protectedinherited

◆ _grad_v_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_grad_v_v_jac
protectedinherited

Definition at line 243 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _grad_v_var

const MooseVariableFE<RealVectorValue>& NavierStokesLHDGAssemblyHelper::_grad_v_var
protectedinherited

◆ _grad_v_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_grad_v_vel_re
protectedinherited

◆ _grad_w_var

const MooseVariableFE<RealVectorValue>* const NavierStokesLHDGAssemblyHelper::_grad_w_var
protectedinherited

◆ _JxW_face

const MooseArray<Real>& NavierStokesLHDGKernel::_JxW_face
protected

transformed Jacobian weights on the current element face

Definition at line 57 of file NavierStokesLHDGKernel.h.

Referenced by computeJacobianOnSide(), and computeResidualOnSide().

◆ _lm_u_grad_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_u_grad_u_jac
protectedinherited

◆ _lm_u_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_u_lm_u_jac
protectedinherited

◆ _lm_u_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_u_lm_v_jac
protectedinherited

◆ _lm_u_p_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_u_p_jac
protectedinherited

◆ _lm_u_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_u_u_jac
protectedinherited

◆ _lm_u_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_lm_u_vel_re
protectedinherited

◆ _lm_v_dof_indices

const std::vector<dof_id_type>& NavierStokesLHDGAssemblyHelper::_lm_v_dof_indices
protectedinherited

◆ _lm_v_grad_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_v_grad_v_jac
protectedinherited

◆ _lm_v_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_v_lm_u_jac
protectedinherited

◆ _lm_v_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_v_lm_v_jac
protectedinherited

◆ _lm_v_p_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_v_p_jac
protectedinherited

◆ _lm_v_sol

const MooseArray<Number>& NavierStokesLHDGAssemblyHelper::_lm_v_sol
protectedinherited

◆ _lm_v_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_lm_v_v_jac
protectedinherited

◆ _lm_v_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_lm_v_vel_re
protectedinherited

◆ _lm_w_dof_indices

const std::vector<dof_id_type>* const NavierStokesLHDGAssemblyHelper::_lm_w_dof_indices
protectedinherited

Definition at line 224 of file NavierStokesLHDGAssemblyHelper.h.

◆ _lm_w_sol

const MooseArray<Number>* const NavierStokesLHDGAssemblyHelper::_lm_w_sol
protectedinherited

Definition at line 234 of file NavierStokesLHDGAssemblyHelper.h.

◆ _normals

const MooseArray<Point>& NavierStokesLHDGKernel::_normals
protected

face normals

Definition at line 60 of file NavierStokesLHDGKernel.h.

Referenced by computeJacobianOnSide(), and computeResidualOnSide().

◆ _p_dof_indices

const std::vector<dof_id_type>& NavierStokesLHDGAssemblyHelper::_p_dof_indices
protectedinherited

◆ _p_global_lm_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_p_global_lm_jac
protectedinherited

Definition at line 245 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _p_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_p_lm_u_jac
protectedinherited

◆ _p_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_p_lm_v_jac
protectedinherited

◆ _p_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_p_re
protectedinherited

◆ _p_sol

const MooseArray<Number>& NavierStokesLHDGAssemblyHelper::_p_sol
protectedinherited

◆ _p_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_p_u_jac
protectedinherited

Definition at line 245 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _p_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_p_v_jac
protectedinherited

Definition at line 245 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _pressure_mms_forcing_function

const Moose::Functor<Real>& NavierStokesLHDGKernel::_pressure_mms_forcing_function
protected

Definition at line 48 of file NavierStokesLHDGKernel.h.

Referenced by computeResidual().

◆ _pressure_var

const MooseVariableFE<Real>& NavierStokesLHDGAssemblyHelper::_pressure_var
protectedinherited

◆ _q_point_face

const MooseArray<Point>& NavierStokesLHDGKernel::_q_point_face
protected

The physical locations of the quadrature points on the face.

Definition at line 54 of file NavierStokesLHDGKernel.h.

◆ _qrule_face

const QBase* const& NavierStokesLHDGKernel::_qrule_face
protected

The face quadrature rule.

Definition at line 51 of file NavierStokesLHDGKernel.h.

Referenced by computeJacobianOnSide(), and computeResidualOnSide().

◆ _qv_dof_indices

const std::vector<dof_id_type>& NavierStokesLHDGAssemblyHelper::_qv_dof_indices
protectedinherited

◆ _qv_sol

const MooseArray<Gradient>& NavierStokesLHDGAssemblyHelper::_qv_sol
protectedinherited

◆ _qw_dof_indices

const std::vector<dof_id_type>* const NavierStokesLHDGAssemblyHelper::_qw_dof_indices
protectedinherited

Definition at line 222 of file NavierStokesLHDGAssemblyHelper.h.

◆ _qw_sol

const MooseArray<Gradient>* const NavierStokesLHDGAssemblyHelper::_qw_sol
protectedinherited

Definition at line 232 of file NavierStokesLHDGAssemblyHelper.h.

◆ _rho

const Real NavierStokesLHDGAssemblyHelper::_rho
protectedinherited

◆ _u_grad_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_grad_u_jac
protectedinherited

◆ _u_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_lm_u_jac
protectedinherited

◆ _u_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_lm_v_jac
protectedinherited

◆ _u_p_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_p_jac
protectedinherited

◆ _u_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_u_jac
protectedinherited

◆ _u_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_u_v_jac
protectedinherited

Definition at line 244 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _u_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_u_vel_re
protectedinherited

◆ _v_dof_indices

const std::vector<dof_id_type>& NavierStokesLHDGAssemblyHelper::_v_dof_indices
protectedinherited

◆ _v_face_var

const MooseVariableFE<Real>& NavierStokesLHDGAssemblyHelper::_v_face_var
protectedinherited

◆ _v_grad_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_grad_v_jac
protectedinherited

◆ _v_lm_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_lm_u_jac
protectedinherited

◆ _v_lm_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_lm_v_jac
protectedinherited

◆ _v_p_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_p_jac
protectedinherited

◆ _v_sol

const MooseArray<Number>& NavierStokesLHDGAssemblyHelper::_v_sol
protectedinherited

◆ _v_u_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_u_jac
protectedinherited

Definition at line 244 of file NavierStokesLHDGAssemblyHelper.h.

Referenced by computeJacobian().

◆ _v_v_jac

DenseMatrix<Number> NavierStokesLHDGAssemblyHelper::_v_v_jac
protectedinherited

◆ _v_var

const MooseVariableFE<Real>& NavierStokesLHDGAssemblyHelper::_v_var
protectedinherited

◆ _v_vel_re

DenseVector<Number> NavierStokesLHDGAssemblyHelper::_v_vel_re
protectedinherited

◆ _w_dof_indices

const std::vector<dof_id_type>* const NavierStokesLHDGAssemblyHelper::_w_dof_indices
protectedinherited

Definition at line 223 of file NavierStokesLHDGAssemblyHelper.h.

◆ _w_face_var

const MooseVariableFE<Real>* const NavierStokesLHDGAssemblyHelper::_w_face_var
protectedinherited

◆ _w_sol

const MooseArray<Number>* const NavierStokesLHDGAssemblyHelper::_w_sol
protectedinherited

Definition at line 233 of file NavierStokesLHDGAssemblyHelper.h.

◆ _w_var

const MooseVariableFE<Real>* const NavierStokesLHDGAssemblyHelper::_w_var
protectedinherited

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