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
ADInertialForceShell Class Reference

#include <ADInertialForceShell.h>

Inheritance diagram for ADInertialForceShell:
[legend]

Public Types

enum  ResidualTagType
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 ADInertialForceShell (const InputParameters &parameters)
 
void jacobianSetup () override
 
const MooseVariableFE< T > & variable () const override
 
virtual void computeNonlocalJacobian ()
 
virtual void computeNonlocalOffDiagJacobian (unsigned int)
 
const SubProblemsubProblem () const
 
virtual void prepareShapes (unsigned int var_num)
 
virtual std::set< std::string > additionalROVariables ()
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
bool isKokkosObject () const
 
MooseAppgetMooseApp () 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 InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (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 initialSetup ()
 
virtual void timestepSetup ()
 
virtual void residualSetup ()
 
virtual void subdomainSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
const FunctiongetFunction (const std::string &name) const
 
const FunctiongetFunctionByName (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 TgetKokkosFunction (const std::string &name) const
 
Moose::Kokkos::Function getKokkosFunctionByName (const FunctionName &name) const
 
const TgetKokkosFunctionByName (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 TgetUserObject (const std::string &param_name, bool is_dependency=true) const
 
const TgetUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectBasegetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectBasegetUserObjectBaseByName (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 VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name, bool needs_broadcast) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const VectorPostprocessorValuegetVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValue (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOld (const std::string &param_name, const std::string &vector_name) const
 
const ScatterVectorPostprocessorValuegetScatterVectorPostprocessorValueOldByName (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 MooseVariableFieldBase &variable) const
 
virtual const VariableValuecoupledValueByName (const std::string &var_name)
 
virtual const ArrayVariableValuecoupledArrayValueByName (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 ADVariableValuegetADDefaultValue (const std::string &var_name) const
 
const ADVectorVariableValuegetADDefaultVectorValue (const std::string &var_name) const
 
const ADVariableGradientgetADDefaultGradient () const
 
const ADVectorVariableGradientgetADDefaultVectorGradient () const
 
const ADVariableSecondgetADDefaultSecond () const
 
const ADVectorVariableCurlgetADDefaultCurl () 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< SubdomainIDgetMaterialPropertyBlocks (const std::string &name)
 
std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &name)
 
std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &name)
 
std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &name)
 
void checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete)
 
std::unordered_map< SubdomainID, std::vector< MaterialBase * > > buildRequiredMaterials (bool allow_stateful=true)
 
void statefulPropertiesAllowed (bool)
 
virtual bool getMaterialPropertyCalled () const
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const
 
virtual void resolveOptionalProperties ()
 
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 
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
 
MooseVariableBasemooseVariableBase () const
 
MooseVariableField< T > & mooseVariableField ()
 
MooseVariableFE< T > * mooseVariable () const
 
MooseVariableFV< T > * mooseVariableFV () const
 
MooseLinearVariableFV< T > * mooseLinearVariableFV () const
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 
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 PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValue (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &param_name, const unsigned int index=0) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
virtual const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name) const
 
const PostprocessorValuegetPostprocessorValueOlderByName (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)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialProperty (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialProperty (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasADMaterialPropertyByName (const std::string &name)
 
bool hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialProperty (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (const std::string &name)
 
bool hasKokkosMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialProperty (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
bool hasGenericMaterialPropertyByName (const std::string &name)
 
PenetrationLocatorgetPenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
PenetrationLocatorgetQuadraturePenetrationLocator (const BoundaryName &primary, const BoundaryName &secondary, Order order)
 
NearestNodeLocatorgetNearestNodeLocator (const BoundaryName &primary, const BoundaryName &secondary)
 
NearestNodeLocatorgetQuadratureNearestNodeLocator (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
 

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 ADReal computeQpResidual () override
 
virtual void computeResidual () override
 
virtual void computeResidualsForJacobian () override
 
virtual void computeShellInertialForces (const MooseArray< ADReal > &_ad_coord, const MooseArray< ADReal > &_ad_JxW)
 
std::string deduceFunctorName (const std::string &name) const
 
void computeJacobian () override
 
void computeResidualAndJacobian () override
 
void computeOffDiagJacobian (unsigned int) override
 
void computeOffDiagJacobianScalar (unsigned int jvar) override
 
virtual const std::vector< dof_id_type > & dofIndices () const
 
virtual Real computeQpJacobian ()
 
virtual Real computeQpOffDiagJacobian (unsigned int)
 
virtual void precalculateResidual ()
 
virtual void precalculateJacobian ()
 
virtual void precalculateOffDiagJacobian (unsigned int)
 
const MooseVariableFieldBasegetVariable (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
 
TdeclareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< TdeclareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const TgetRestartableData (const std::string &data_name) const
 
TdeclareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
TdeclareRecoverableData (const std::string &data_name, Args &&... args)
 
TdeclareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
TdeclareRestartableDataWithObjectNameWithContext (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 intcoupledIndices (const std::string &var_name) const
 
virtual const VariableValuecoupledValue (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 VariableValuecoupledValueLower (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue * > adCoupledValues (const std::string &var_name) const
 
const ADVariableValueadCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValueadCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVectorVariableValue * > adCoupledVectorValues (const std::string &var_name) const
 
virtual const VariableValuecoupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledVectorTagValue (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 ArrayVariableValuecoupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableValuecoupledVectorTagArrayValue (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 VariableGradientcoupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableGradientcoupledVectorTagGradient (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 ArrayVariableGradientcoupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const ArrayVariableGradientcoupledVectorTagArrayGradient (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 VariableValuecoupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const ArrayVariableValuecoupledVectorTagArrayDofValue (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 VariableValuecoupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const
 
virtual const VariableValuecoupledMatrixTagValue (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 VectorVariableValuecoupledVectorValue (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValue (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ArrayVariableValue * > coupledArrayValues (const std::string &var_name) const
 
MooseWritableVariablewritableVariable (const std::string &var_name, unsigned int comp=0)
 
virtual VariableValuewritableCoupledValue (const std::string &var_name, unsigned int comp=0)
 
void checkWritableVar (MooseWritableVariable *var)
 
virtual const VariableValuecoupledValueOld (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 VariableValuecoupledValueOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledValuesOlder (const std::string &var_name) const
 
virtual const VariableValuecoupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient * > coupledGradients (const std::string &var_name) const
 
const ADVariableGradientadCoupledGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableGradientadCoupledGradientDot (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 ADVectorVariableGradientadCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableSecondadCoupledSecond (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableSecondadCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableGradient * > coupledGradientsOld (const std::string &var_name) const
 
virtual const VariableGradientcoupledGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableGradientcoupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableGradientcoupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradient (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableGradientcoupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurlOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableCurlcoupledCurlOlder (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableCurladCoupledCurl (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDiv (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDivOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableDivergencecoupledDivOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecond (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondOlder (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableSecondcoupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledDots (const std::string &var_name) const
 
virtual const VariableValuecoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledDot (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const ADVariableValue * > adCoupledDots (const std::string &var_name) const
 
const ADVariableValueadCoupledDotDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVectorVariableValueadCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VectorVariableValuecoupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const ArrayVariableValuecoupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDu (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const
 
const TcoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const Moose::ADType< T >::typeadCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const
 
const TcoupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
const TcoupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const TcoupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
const TcoupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
virtual const VariableValuecoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValues (const std::string &var_name) const
 
virtual const VariableValuecoupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValuesOld (const std::string &var_name) const
 
virtual const VariableValuecoupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const
 
std::vector< const VariableValue * > coupledAllDofValuesOlder (const std::string &var_name) const
 
virtual const ArrayVariableValuecoupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const
 
virtual const ADVariableValueadCoupledDofValues (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadZeroValue () const
 
const ADVariableGradientadZeroGradient () const
 
const ADVariableSecondadZeroSecond () 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
 
const MooseVariableFieldBasegetFEVar (const std::string &var_name, unsigned int comp) const
 
const MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp) const
 
MooseVariableFieldBasegetFieldVar (const std::string &var_name, unsigned int comp)
 
std::vector< const MooseVariableFieldBase * > getFieldVars (const std::string &var_name) const
 
const TgetVarHelper (const std::string &var_name, unsigned int comp) const
 
TgetVarHelper (const std::string &var_name, unsigned int comp)
 
std::vector< const T * > getVarsHelper (const std::string &var_name) const
 
MooseVariablegetVar (const std::string &var_name, unsigned int comp)
 
const MooseVariablegetVar (const std::string &var_name, unsigned int comp) const
 
VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp)
 
const VectorMooseVariablegetVectorVar (const std::string &var_name, unsigned int comp) const
 
ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp)
 
const ArrayMooseVariablegetArrayVar (const std::string &var_name, unsigned int comp) const
 
void validateExecutionerType (const std::string &name, const std::string &fn_name) const
 
std::vector< TcoupledVectorHelper (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 VariableValuecoupledScalarValue (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarValue (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 VariableValuecoupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const ADVariableValueadCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const
 
const VariableValuecoupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const
 
const MooseVariableScalargetScalarVar (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< T >::VariableValuevalue ()
 
virtual const OutputTools< T >::VariableValuevalueOld ()
 
virtual const OutputTools< T >::VariableValuevalueOlder ()
 
virtual const OutputTools< T >::VariableValuedot ()
 
virtual const OutputTools< T >::VariableValuedotDot ()
 
virtual const OutputTools< T >::VariableValuedotOld ()
 
virtual const OutputTools< T >::VariableValuedotDotOld ()
 
virtual const VariableValuedotDu ()
 
virtual const VariableValuedotDotDu ()
 
virtual const OutputTools< T >::VariableGradientgradient ()
 
virtual const OutputTools< T >::VariableGradientgradientOld ()
 
virtual const OutputTools< T >::VariableGradientgradientOlder ()
 
virtual const OutputTools< T >::VariableSecondsecond ()
 
virtual const OutputTools< T >::VariableSecondsecondOld ()
 
virtual const OutputTools< T >::VariableSecondsecondOlder ()
 
virtual const OutputTools< T >::VariableTestSecondsecondTest ()
 
virtual const OutputTools< T >::VariableTestSecondsecondTestFace ()
 
virtual const OutputTools< T >::VariablePhiSecondsecondPhi ()
 
virtual const OutputTools< T >::VariablePhiSecondsecondPhiFace ()
 
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)
 
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)
 

Protected Attributes

const ADTemplateVariableValue< T > & _u_dot
 
MooseVariableFE< T > & _var
 
const ADTemplateVariableTestValue< T > & _test
 
const ADTemplateVariableTestGradient< T > & _grad_test
 
const OutputTools< T >::VariableTestGradient_regular_grad_test
 
const ADTemplateVariableValue< T > & _u
 
const ADTemplateVariableGradient< T > & _grad_u
 
const MooseArray< ADReal > & _ad_JxW
 
const MooseArray< ADReal > & _ad_coord
 
const MooseArray< ADPoint > & _ad_q_point
 
const ADTemplateVariablePhiValue< T > & _phi
 
ADReal _r
 
std::vector< Real > _residuals_nonad
 
std::vector< ADReal_residuals
 
const ADTemplateVariablePhiGradient< T > & _grad_phi
 
const OutputTools< T >::VariablePhiGradient_regular_grad_phi
 
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< T > * _variable
 
MooseVariableFV< T > * _fv_variable
 
MooseLinearVariableFV< T > * _linear_fv_variable
 
MooseVariableField< T > * _field_variable
 
Assembly_mvi_assembly
 
const Parallel::Communicator & _communicator
 

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::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)
 
void computeADJacobian ()
 
const Moose::FunctionBasegetKokkosFunctionByNameHelper (const FunctionName &name) const
 
const UserObjectBasegetUserObjectFromFEProblem (const UserObjectName &object_name, const THREAD_ID tid=0) const
 
const TcastUserObject (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 VectorPostprocessorValuegetVectorPostprocessorByNameHelper (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
 
RestartableDataValueregisterRestartableDataOnApp (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 >::VariableValuevectorTagValueHelper (const std::string &var_names, TagID tag, unsigned int index=0) const
 
const OutputTools< T >::VariableValuevectorTagValueHelper (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const
 
const OutputTools< T >::VariableValuevectorTagDofValueHelper (const std::string &var_name, TagID tag, unsigned int comp=0) const
 
const OutputTools< T >::VariableValuevectorTagDofValueHelper (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 VariableValuegetDefaultValue (const std::string &var_name, unsigned int comp) const
 
const VectorVariableValuegetDefaultVectorValue (const std::string &var_name) const
 
const ArrayVariableValuegetDefaultArrayValue (const std::string &var_name) const
 
const TgetDefaultNodalValue (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
 
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)
 
virtual bool isADObject () const override
 
const PostprocessorValuegetPostprocessorValueInternal (const std::string &param_name, unsigned int index, std::size_t t_index) const
 
const PostprocessorValuegetPostprocessorValueInternal (const std::string &param_name, unsigned int index, std::size_t t_index) const
 
const PostprocessorValuegetPostprocessorValueByNameInternal (const PostprocessorName &name, std::size_t t_index) const
 
const PostprocessorValuegetPostprocessorValueByNameInternal (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
 

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

unsigned int _nrot
 Number of coupled rotational variables.
 
unsigned int _ndisp
 Number of coupled displacement variables.
 
std::vector< unsigned int_rot_num
 Variable numbers corresponding to rotational variables.
 
std::vector< unsigned int_disp_num
 Variable numbers corresponding to displacement variables.
 
std::vector< unsigned int_vel_num
 Variable numbers corresponding to velocity aux variables.
 
std::vector< unsigned int_accel_num
 Variable numbers corresponding to acceleraion aux variables.
 
std::vector< unsigned int_rot_vel_num
 Variable numbers corresponding to rotational velocity aux variables.
 
std::vector< unsigned int_rot_accel_num
 Variable numbers corresponding to rotational acceleration aux variables.
 
ADRankTwoTensor _original_local_config
 Rotational transformation from global to initial shell local coordinate system.
 
const unsigned int _component
 Direction along which residual is calculated.
 
PosRotVectors _vel
 Current shell nodal velocities in the global frame of reference.
 
PosRotVectors _old_vel
 Old shell nodal velocities in the global frame of reference.
 
PosRotVectors _accel
 Current shell nodal accelerations in the global frame of reference.
 
PosRotVectors _local_vel
 Current shell nodal velocities in the local frame of reference.
 
PosRotVectors _local_old_vel
 Old shell nodal velocities in the local frame of reference.
 
PosRotVectors _local_accel
 Current shell nodal accelerations in the local frame of reference.
 
std::array< ADRealVectorValue, 4 > _local_force
 Forces and moments at the four nodes in the initial local configuration.
 
std::array< ADRealVectorValue, 4 > _local_moment
 
std::array< ADRealVectorValue, 4 > _global_force
 Forces and moments at the four nodes in the global coordinate system.
 
std::array< ADRealVectorValue, 4 > _global_moment
 
std::vector< std::vector< Real > > _dphidxi_map
 Derivatives of shape functions w.r.t isoparametric coordinates xi.
 
std::vector< std::vector< Real > > _dphideta_map
 Derivatives of shape functions w.r.t isoparametric coordinates eta.
 
std::vector< std::vector< Real > > _phi_map
 Shape function value.
 
std::vector< const Node * > _nodes
 Vector storing pointers to the nodes of the shell element.
 
std::vector< Point > _2d_points
 Quadrature points in the in-plane direction in isoparametric coordinate system.
 
std::vector< ADReal_2d_weights
 Quadrature weights.
 
std::vector< ADRealVectorValue_v1
 First tangential vectors at nodes.
 
std::vector< ADRealVectorValue_v2
 Second tangential vectors at nodes.
 
ADRealVectorValue _x2
 Helper vector.
 
ADRealVectorValue _x3
 Helper vector.
 
std::vector< ADRealVectorValue_node_normal
 Normal to the element at the 4 nodes.
 
std::array< ADRealVectorValue, 2 > _0g1_vectors
 Node 1 g vectors.
 
std::array< ADRealVectorValue, 2 > _0g2_vectors
 Node 2 g vectors.
 
std::array< ADRealVectorValue, 2 > _0g3_vectors
 Node 3 g vectors.
 
std::array< ADRealVectorValue, 2 > _0g4_vectors
 Node 4 g vectors.
 
const MaterialProperty< Real > & _eta
 Mass proportional Rayleigh damping parameter.
 
const ADMaterialProperty< RankTwoTensor > & _transformation_matrix
 Rotation matrix material property.
 
const ADMaterialProperty< Real > & _J_map
 Rotation matrix material property.
 
const ADReal _thickness
 Coupled variable for the shell thickness.
 
const MaterialProperty< Real > & _density
 Shell material density.
 
const Real _alpha
 HHT time integration parameter.
 
const Elem * _my_elem
 
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 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

Definition at line 28 of file ADInertialForceShell.h.

Constructor & Destructor Documentation

◆ ADInertialForceShell()

ADInertialForceShell::ADInertialForceShell ( const InputParameters parameters)

Definition at line 75 of file ADInertialForceShell.C.

77 _nrot(coupledComponents("rotations")),
78 _ndisp(coupledComponents("displacements")),
85 _component(getParam<unsigned int>("component")),
86 _nodes(4),
87 _v1(4),
88 _v2(4),
89 _node_normal(4),
90 _eta(getMaterialProperty<Real>("eta")),
91 _transformation_matrix(getADMaterialProperty<RankTwoTensor>("transformation_matrix_element")),
92 _J_map(getADMaterialProperty<Real>("J_mapping_t_points_0")),
93 _thickness(getParam<Real>("thickness")),
94 _density(getMaterialProperty<Real>("density")),
95 _alpha(getParam<Real>("alpha"))
96{
97 // Checking for consistency between the length of the provided rotations and displacements vector
98 if (_ndisp != 3 || _nrot != 2)
99 mooseError("InertialForceShell: The number of variables supplied in 'displacements' "
100 "must be 3 and that in 'rotations' must be 2.");
101
102 // fetch coupled displacements and rotations
103 for (unsigned int i = 0; i < _ndisp; ++i)
104 {
105 MooseVariable * disp_variable = getVar("displacements", i);
106 _disp_num[i] = disp_variable->number();
107 }
108 for (unsigned int i = 0; i < _nrot; ++i)
109 {
110 MooseVariable * rot_variable = getVar("rotations", i);
111 _rot_num[i] = rot_variable->number();
112 }
113
114 _x2(1) = 1;
115 _x3(2) = 1;
116}
const unsigned int _component
Direction along which residual is calculated.
unsigned int _nrot
Number of coupled rotational variables.
std::vector< unsigned int > _vel_num
Variable numbers corresponding to velocity aux variables.
std::vector< ADRealVectorValue > _v1
First tangential vectors at nodes.
const ADMaterialProperty< RankTwoTensor > & _transformation_matrix
Rotation matrix material property.
const ADReal _thickness
Coupled variable for the shell thickness.
unsigned int _ndisp
Number of coupled displacement variables.
ADRealVectorValue _x3
Helper vector.
const MaterialProperty< Real > & _density
Shell material density.
std::vector< unsigned int > _rot_accel_num
Variable numbers corresponding to rotational acceleration aux variables.
std::vector< ADRealVectorValue > _node_normal
Normal to the element at the 4 nodes.
std::vector< unsigned int > _accel_num
Variable numbers corresponding to acceleraion aux variables.
std::vector< ADRealVectorValue > _v2
Second tangential vectors at nodes.
ADRealVectorValue _x2
Helper vector.
const ADMaterialProperty< Real > & _J_map
Rotation matrix material property.
std::vector< unsigned int > _rot_num
Variable numbers corresponding to rotational variables.
const MaterialProperty< Real > & _eta
Mass proportional Rayleigh damping parameter.
std::vector< unsigned int > _rot_vel_num
Variable numbers corresponding to rotational velocity aux variables.
std::vector< unsigned int > _disp_num
Variable numbers corresponding to displacement variables.
const Real _alpha
HHT time integration parameter.
std::vector< const Node * > _nodes
Vector storing pointers to the nodes of the shell element.
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
unsigned int coupledComponents(const std::string &var_name) const
const InputParameters & parameters() const
void mooseError(Args &&... args) const
unsigned int number() const

Member Function Documentation

◆ computeQpResidual()

virtual ADReal ADInertialForceShell::computeQpResidual ( )
inlineoverrideprotectedvirtual

Implements ADTimeKernelTempl< typename T >.

Definition at line 36 of file ADInertialForceShell.h.

36{ return 0.0; };

◆ computeResidual()

void ADInertialForceShell::computeResidual ( )
overrideprotectedvirtual

Implements KernelBase.

Definition at line 119 of file ADInertialForceShell.C.

120{
122
124
125 /* ----------------------------------------------------- */
126
127 if (_dt != 0.0)
128 {
130
131 if (_component < 3)
132 {
137
142 }
143 else
144 {
149
154 }
155 }
156
158
159 if (_has_save_in)
160 {
161 Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
162 for (unsigned int i = 0; i < _save_in.size(); i++)
163 _save_in[i]->sys().solution().add_vector(_local_re, _save_in[i]->dofIndices());
164 }
165}
std::array< ADRealVectorValue, 4 > _local_force
Forces and moments at the four nodes in the initial local configuration.
virtual void computeShellInertialForces(const MooseArray< ADReal > &_ad_coord, const MooseArray< ADReal > &_ad_JxW)
std::array< ADRealVectorValue, 4 > _global_moment
std::array< ADRealVectorValue, 4 > _local_moment
std::array< ADRealVectorValue, 4 > _global_force
Forces and moments at the four nodes in the global coordinate system.
ADRankTwoTensor _original_local_config
Rotational transformation from global to initial shell local coordinate system.
MooseVariableFE< T > & _var
const MooseArray< ADReal > & _ad_JxW
virtual const std::vector< dof_id_type > & dofIndices() const
const MooseArray< ADReal > & _ad_coord
std::vector< MooseVariableFEBase * > _save_in
RankTwoTensorTempl< T > transpose() const
Assembly & _assembly
virtual void precalculateResidual()
void accumulateTaggedLocalResidual()
void prepareVectorTag(Assembly &assembly, unsigned int ivar)
DenseVector< Number > _local_re
auto raw_value(const Eigen::Map< T > &in)

◆ computeResidualsForJacobian()

void ADInertialForceShell::computeResidualsForJacobian ( )
overrideprotectedvirtual

Reimplemented from ADTimeKernelTempl< typename T >.

Definition at line 168 of file ADInertialForceShell.C.

169{
170 if (_residuals.size() != _test.size())
171 _residuals.resize(_test.size(), 0);
172 for (auto & r : _residuals)
173 r = 0;
174
176
177 mooseAssert(_residuals.size() >= 4,
178 "This is hard coded to index from 0 to 3, so we must have at least four spots in our "
179 "container. I'd prefer to assert that the size == 4, but I don't know what the "
180 "tensor mechanics folks expect.");
181
182 if (_dt != 0.0)
183 {
185
186 if (_component < 3)
187 {
192
197 }
198 else
199 {
204
209 }
210 }
211}
const ADTemplateVariableTestValue< T > & _test
std::vector< ADReal > _residuals

◆ computeShellInertialForces()

void ADInertialForceShell::computeShellInertialForces ( const MooseArray< ADReal > &  _ad_coord,
const MooseArray< ADReal > &  _ad_JxW 
)
protectedvirtual

Definition at line 214 of file ADInertialForceShell.C.

216{
217 // Loosely following notation in: "On finite element nonlinear analysis of general shell
218 // structures", PhD thesis by Said Bolourchi (1975).
219
221
222 _nodes[0] = _current_elem->node_ptr(0);
223 _nodes[1] = _current_elem->node_ptr(1);
224 _nodes[2] = _current_elem->node_ptr(2);
225 _nodes[3] = _current_elem->node_ptr(3);
226
227 ADRealVectorValue x = (*_nodes[1] - *_nodes[0]);
228 ADRealVectorValue y = (*_nodes[3] - *_nodes[0]);
229 ADRealVectorValue normal = x.cross(y);
230 normal /= normal.norm();
231
232 _node_normal[0] = normal;
233 _node_normal[1] = normal;
234 _node_normal[2] = normal;
235 _node_normal[3] = normal;
236
237 // compute nodal local axis
238 for (unsigned int k = 0; k < _nodes.size(); ++k)
239 {
240 _v1[k] = _x2.cross(_node_normal[k]);
241
242 // If x2 is parallel to node normal, set V1 to x3
243 if (MooseUtils::absoluteFuzzyEqual(_v1[k].norm(), 0.0, 1e-6))
244 _v1[k] = _x3;
245
246 _v1[k] /= _v1[k].norm();
247
248 _v2[k] = _node_normal[k].cross(_v1[k]);
249 }
250
252
253 if (!nonlinear_sys.solutionUDot())
254 mooseError("InertialForceShell: Time derivative of solution (`u_dot`) is not stored. Please "
255 "set uDotRequested() to true in FEProblemBase before requesting `u_dot`.");
256
257 if (!nonlinear_sys.solutionUDotOld())
258 mooseError("InertialForceShell: Old time derivative of solution (`u_dot_old`) is not "
259 "stored. Please set uDotOldRequested() to true in FEProblemBase before "
260 "requesting `u_dot_old`.");
261
262 if (!nonlinear_sys.solutionUDotDot())
263 mooseError("InertialForceShell: Second time derivative of solution (`u_dotdot`) is not "
264 "stored. Please set uDotDotRequested() to true in FEProblemBase before "
265 "requesting `u_dotdot`.");
266
267 const NumericVector<Number> & vel = *nonlinear_sys.solutionUDot();
268 const NumericVector<Number> & old_vel = *nonlinear_sys.solutionUDotOld();
269 const NumericVector<Number> & accel = *nonlinear_sys.solutionUDotDot();
270
271 for (unsigned int i = 0; i < _ndisp; ++i)
272 {
273 // translational velocities and accelerations
274 unsigned int dof_index_0 = _nodes[0]->dof_number(nonlinear_sys.number(), _disp_num[i], 0);
275 unsigned int dof_index_1 = _nodes[1]->dof_number(nonlinear_sys.number(), _disp_num[i], 0);
276 unsigned int dof_index_2 = _nodes[2]->dof_number(nonlinear_sys.number(), _disp_num[i], 0);
277 unsigned int dof_index_3 = _nodes[3]->dof_number(nonlinear_sys.number(), _disp_num[i], 0);
278
279 _vel.pos[0](i) = vel(dof_index_0);
280 _vel.pos[1](i) = vel(dof_index_1);
281 _vel.pos[2](i) = vel(dof_index_2);
282 _vel.pos[3](i) = vel(dof_index_3);
283
284 _old_vel.pos[0](i) = old_vel(dof_index_0);
285 _old_vel.pos[1](i) = old_vel(dof_index_1);
286 _old_vel.pos[2](i) = old_vel(dof_index_2);
287 _old_vel.pos[3](i) = old_vel(dof_index_3);
288
289 _accel.pos[0](i) = accel(dof_index_0);
290 _accel.pos[1](i) = accel(dof_index_1);
291 _accel.pos[2](i) = accel(dof_index_2);
292 _accel.pos[3](i) = accel(dof_index_3);
293 }
294
295 for (unsigned int i = 0; i < _nrot; ++i)
296 {
297 // rotational velocities and accelerations
298 unsigned int dof_index_0 = _nodes[0]->dof_number(nonlinear_sys.number(), _rot_num[i], 0);
299 unsigned int dof_index_1 = _nodes[1]->dof_number(nonlinear_sys.number(), _rot_num[i], 0);
300 unsigned int dof_index_2 = _nodes[2]->dof_number(nonlinear_sys.number(), _rot_num[i], 0);
301 unsigned int dof_index_3 = _nodes[3]->dof_number(nonlinear_sys.number(), _rot_num[i], 0);
302
303 _vel.rot[0](i) = vel(dof_index_0);
304 _vel.rot[1](i) = vel(dof_index_1);
305 _vel.rot[2](i) = vel(dof_index_2);
306 _vel.rot[3](i) = vel(dof_index_3);
307
308 _old_vel.rot[0](i) = old_vel(dof_index_0);
309 _old_vel.rot[1](i) = old_vel(dof_index_1);
310 _old_vel.rot[2](i) = old_vel(dof_index_2);
311 _old_vel.rot[3](i) = old_vel(dof_index_3);
312
313 _accel.rot[0](i) = accel(dof_index_0);
314 _accel.rot[1](i) = accel(dof_index_1);
315 _accel.rot[2](i) = accel(dof_index_2);
316 _accel.rot[3](i) = accel(dof_index_3);
317 }
318 // transform translational and rotational velocities and accelerations to the initial local
319 // configuration of the shell
324
329
334
339
344
349
350 // Conversions to ADDenseVector from ADRealVectorValue: Make a method out of this.
351 ADDenseVector local_accel_dv_0(3);
352 ADDenseVector local_accel_dv_1(3);
353 ADDenseVector local_accel_dv_2(3);
354 ADDenseVector local_accel_dv_3(3);
355
356 ADDenseVector local_rot_accel_dv_0(3);
357 ADDenseVector local_rot_accel_dv_1(3);
358 ADDenseVector local_rot_accel_dv_2(3);
359 ADDenseVector local_rot_accel_dv_3(3);
360
361 ADDenseVector local_vel_dv_0(3);
362 ADDenseVector local_vel_dv_1(3);
363 ADDenseVector local_vel_dv_2(3);
364 ADDenseVector local_vel_dv_3(3);
365
366 ADDenseVector local_rot_vel_dv_0(3);
367 ADDenseVector local_rot_vel_dv_1(3);
368 ADDenseVector local_rot_vel_dv_2(3);
369 ADDenseVector local_rot_vel_dv_3(3);
370
371 ADDenseVector local_old_vel_dv_0(3);
372 ADDenseVector local_old_vel_dv_1(3);
373 ADDenseVector local_old_vel_dv_2(3);
374 ADDenseVector local_old_vel_dv_3(3);
375
376 ADDenseVector local_old_rot_vel_dv_0(3);
377 ADDenseVector local_old_rot_vel_dv_1(3);
378 ADDenseVector local_old_rot_vel_dv_2(3);
379 ADDenseVector local_old_rot_vel_dv_3(3);
380
381 for (unsigned int i = 0; i < 3; i++)
382 {
383 local_accel_dv_0(i) = _local_accel.pos[0](i);
384 local_accel_dv_1(i) = _local_accel.pos[1](i);
385 local_accel_dv_2(i) = _local_accel.pos[2](i);
386 local_accel_dv_3(i) = _local_accel.pos[3](i);
387
388 local_rot_accel_dv_0(i) = _local_accel.rot[0](i);
389 local_rot_accel_dv_1(i) = _local_accel.rot[1](i);
390 local_rot_accel_dv_2(i) = _local_accel.rot[2](i);
391 local_rot_accel_dv_3(i) = _local_accel.rot[3](i);
392
393 local_vel_dv_0(i) = _local_vel.pos[0](i);
394 local_vel_dv_1(i) = _local_vel.pos[1](i);
395 local_vel_dv_2(i) = _local_vel.pos[2](i);
396 local_vel_dv_3(i) = _local_vel.pos[3](i);
397
398 local_rot_vel_dv_0(i) = _local_vel.rot[0](i);
399 local_rot_vel_dv_1(i) = _local_vel.rot[1](i);
400 local_rot_vel_dv_2(i) = _local_vel.rot[2](i);
401 local_rot_vel_dv_3(i) = _local_vel.rot[3](i);
402
403 local_old_vel_dv_0(i) = _local_old_vel.pos[0](i);
404 local_old_vel_dv_1(i) = _local_old_vel.pos[1](i);
405 local_old_vel_dv_2(i) = _local_old_vel.pos[2](i);
406 local_old_vel_dv_3(i) = _local_old_vel.pos[3](i);
407
408 local_old_rot_vel_dv_0(i) = _local_old_vel.rot[0](i);
409 local_old_rot_vel_dv_1(i) = _local_old_vel.rot[1](i);
410 local_old_rot_vel_dv_2(i) = _local_old_vel.rot[2](i);
411 local_old_rot_vel_dv_3(i) = _local_old_vel.rot[3](i);
412 }
413 unsigned int dim = _current_elem->dim();
414
415 // Update 0g vectors at plane quadrature points.
416 _0g1_vectors[0] = -0.5 * _thickness * _v1[0];
417 _0g1_vectors[1] = 0.5 * _thickness * _v2[0];
418
419 ADDenseMatrix G1(3, 2);
420 G1(0, 0) = _0g1_vectors[0](0);
421 G1(1, 0) = _0g1_vectors[0](1);
422 G1(2, 0) = _0g1_vectors[0](2);
423 G1(0, 1) = _0g1_vectors[1](0);
424 G1(1, 1) = _0g1_vectors[1](1);
425 G1(2, 1) = _0g1_vectors[1](2);
426 ADDenseMatrix G1T(2, 3);
427 G1.get_transpose(G1T);
428
429 _0g2_vectors[0] = -0.5 * _thickness * _v1[1];
430 _0g2_vectors[1] = 0.5 * _thickness * _v2[1];
431
432 ADDenseMatrix G2(3, 2);
433 G2(0, 0) = _0g2_vectors[0](0);
434 G2(1, 0) = _0g2_vectors[0](1);
435 G2(2, 0) = _0g2_vectors[0](2);
436 G2(0, 1) = _0g2_vectors[1](0);
437 G2(1, 1) = _0g2_vectors[1](1);
438 G2(2, 1) = _0g2_vectors[1](2);
439
440 ADDenseMatrix G2T(2, 3);
441 G2.get_transpose(G2T);
442
443 _0g3_vectors[0] = -0.5 * _thickness * _v1[2];
444 _0g3_vectors[1] = 0.5 * _thickness * _v2[2];
445
446 ADDenseMatrix G3(3, 2);
447 G3(0, 0) = _0g3_vectors[0](0);
448 G3(1, 0) = _0g3_vectors[0](1);
449 G3(2, 0) = _0g3_vectors[0](2);
450 G3(0, 1) = _0g3_vectors[1](0);
451 G3(1, 1) = _0g3_vectors[1](1);
452 G3(2, 1) = _0g3_vectors[1](2);
453
454 ADDenseMatrix G3T(2, 3);
455 G3.get_transpose(G3T);
456
457 _0g4_vectors[0] = -0.5 * _thickness * _v1[3];
458 _0g4_vectors[1] = 0.5 * _thickness * _v2[3];
459
460 ADDenseMatrix G4(3, 2);
461 G4(0, 0) = _0g4_vectors[0](0);
462 G4(1, 0) = _0g4_vectors[0](1);
463 G4(2, 0) = _0g4_vectors[0](2);
464 G4(0, 1) = _0g4_vectors[1](0);
465 G4(1, 1) = _0g4_vectors[1](1);
466 G4(2, 1) = _0g4_vectors[1](2);
467
468 ADDenseMatrix G4T(2, 3);
469 G4.get_transpose(G4T);
470
471 std::vector<ADDenseVector> local_acc;
472 local_acc.resize(4);
473 local_acc[0].resize(3);
474 local_acc[1].resize(3);
475 local_acc[2].resize(3);
476 local_acc[3].resize(3);
477
478 local_acc[0] = local_accel_dv_0;
479 local_acc[1] = local_accel_dv_1;
480 local_acc[2] = local_accel_dv_2;
481 local_acc[3] = local_accel_dv_3;
482
483 std::vector<ADDenseVector> local_rot_acc;
484 local_rot_acc.resize(4);
485 local_rot_acc[0].resize(3);
486 local_rot_acc[1].resize(3);
487 local_rot_acc[2].resize(3);
488 local_rot_acc[3].resize(3);
489 local_rot_acc[0] = local_rot_accel_dv_0;
490 local_rot_acc[1] = local_rot_accel_dv_1;
491 local_rot_acc[2] = local_rot_accel_dv_2;
492 local_rot_acc[3] = local_rot_accel_dv_3;
493
494 // Velocity for Rayleigh damping, including HHT_alpha parameter
495 // {
496 std::vector<ADDenseVector> local_vel;
497 local_vel.resize(4);
498 local_vel[0].resize(3);
499 local_vel[1].resize(3);
500 local_vel[2].resize(3);
501 local_vel[3].resize(3);
502
503 local_vel_dv_0.scale(1 + _alpha);
504 local_old_vel_dv_0.scale(_alpha);
505 local_vel_dv_1.scale(1 + _alpha);
506 local_old_vel_dv_1.scale(_alpha);
507 local_vel_dv_2.scale(1 + _alpha);
508 local_old_vel_dv_2.scale(_alpha);
509 local_vel_dv_3.scale(1 + _alpha);
510 local_old_vel_dv_3.scale(_alpha);
511
512 local_vel_dv_0.add(1.0, local_old_vel_dv_0);
513 local_vel_dv_1.add(1.0, local_old_vel_dv_1);
514 local_vel_dv_2.add(1.0, local_old_vel_dv_2);
515 local_vel_dv_3.add(1.0, local_old_vel_dv_3);
516
517 local_vel[0] = local_vel_dv_0;
518 local_vel[1] = local_vel_dv_1;
519 local_vel[2] = local_vel_dv_2;
520 local_vel[3] = local_vel_dv_3;
521
522 std::vector<ADDenseVector> local_rot_vel;
523 local_rot_vel.resize(4);
524 local_rot_vel[0].resize(3);
525 local_rot_vel[1].resize(3);
526 local_rot_vel[2].resize(3);
527 local_rot_vel[3].resize(3);
528
529 local_rot_vel_dv_0.scale(1 + _alpha);
530 local_old_rot_vel_dv_0.scale(_alpha);
531 local_rot_vel_dv_1.scale(1 + _alpha);
532 local_old_rot_vel_dv_1.scale(_alpha);
533 local_rot_vel_dv_2.scale(1 + _alpha);
534 local_old_rot_vel_dv_2.scale(_alpha);
535 local_rot_vel_dv_3.scale(1 + _alpha);
536 local_old_rot_vel_dv_3.scale(_alpha);
537
538 local_rot_vel_dv_0.add(1.0, local_old_rot_vel_dv_0);
539 local_rot_vel_dv_1.add(1.0, local_old_rot_vel_dv_1);
540 local_rot_vel_dv_2.add(1.0, local_old_rot_vel_dv_2);
541 local_rot_vel_dv_3.add(1.0, local_old_rot_vel_dv_3);
542
543 local_rot_vel[0] = local_rot_vel_dv_0;
544 local_rot_vel[1] = local_rot_vel_dv_1;
545 local_rot_vel[2] = local_rot_vel_dv_2;
546 local_rot_vel[3] = local_rot_vel_dv_3;
547 // }
548
549 FEType fe_type(Utility::string_to_enum<Order>("First"),
550 Utility::string_to_enum<FEFamily>("LAGRANGE"));
551 auto & fe = _fe_problem.assembly(_tid, _sys.number()).getFE(fe_type, dim);
552 _dphidxi_map = fe->get_fe_map().get_dphidxi_map();
553 _dphideta_map = fe->get_fe_map().get_dphideta_map();
554 _phi_map = fe->get_fe_map().get_phi_map();
555
556 // quadrature points in isoparametric space
557 _2d_points = _qrule->get_points(); // would be in 2D
558
559 std::vector<const Node *> nodes;
560 for (unsigned int i = 0; i < 4; ++i)
561 nodes.push_back(_current_elem->node_ptr(i));
562
563 for (unsigned int i = 0; i < _ndisp; i++)
564 for (unsigned int j = 0; j < 4; j++)
565 _local_force[j](i) = 0.0;
566
567 for (unsigned int i = 0; i < _nrot; i++)
568 for (unsigned int j = 0; j < 4; j++)
569 _local_moment[j](i) = 0.0;
570
571 for (unsigned int qp_xy = 0; qp_xy < _2d_points.size(); ++qp_xy)
572 {
573 ADReal factor_qxy = _ad_coord[qp_xy] * _ad_JxW[qp_xy] * _density[qp_xy];
574
575 // Account for inertia on displacement degrees of freedom
576 for (unsigned int dim = 0; dim < 3; dim++)
577 {
578 _local_force[0](dim) +=
579 factor_qxy * (_phi_map[0][qp_xy] * _phi_map[0][qp_xy] * local_acc[0](dim) +
580 _phi_map[0][qp_xy] * _phi_map[1][qp_xy] * local_acc[1](dim) +
581 _phi_map[0][qp_xy] * _phi_map[2][qp_xy] * local_acc[2](dim) +
582 _phi_map[0][qp_xy] * _phi_map[3][qp_xy] * local_acc[3](dim));
583
584 if (_eta[0] > TOLERANCE * TOLERANCE)
585 _local_force[0](dim) += factor_qxy * _eta[0] *
586 (_phi_map[0][qp_xy] * _phi_map[0][qp_xy] * local_vel[0](dim) +
587 _phi_map[0][qp_xy] * _phi_map[1][qp_xy] * local_vel[1](dim) +
588 _phi_map[0][qp_xy] * _phi_map[2][qp_xy] * local_vel[2](dim) +
589 _phi_map[0][qp_xy] * _phi_map[3][qp_xy] * local_vel[3](dim));
590
591 _local_force[1](dim) +=
592 factor_qxy * (_phi_map[1][qp_xy] * _phi_map[0][qp_xy] * local_acc[0](dim) +
593 _phi_map[1][qp_xy] * _phi_map[1][qp_xy] * local_acc[1](dim) +
594 _phi_map[1][qp_xy] * _phi_map[2][qp_xy] * local_acc[2](dim) +
595 _phi_map[1][qp_xy] * _phi_map[3][qp_xy] * local_acc[3](dim));
596
597 if (_eta[0] > TOLERANCE * TOLERANCE)
598 _local_force[1](dim) += factor_qxy * _eta[0] *
599 (_phi_map[1][qp_xy] * _phi_map[0][qp_xy] * local_vel[0](dim) +
600 _phi_map[1][qp_xy] * _phi_map[1][qp_xy] * local_vel[1](dim) +
601 _phi_map[1][qp_xy] * _phi_map[2][qp_xy] * local_vel[2](dim) +
602 _phi_map[1][qp_xy] * _phi_map[3][qp_xy] * local_vel[3](dim));
603 _local_force[2](dim) +=
604 factor_qxy * (_phi_map[2][qp_xy] * _phi_map[0][qp_xy] * local_acc[0](dim) +
605 _phi_map[2][qp_xy] * _phi_map[1][qp_xy] * local_acc[1](dim) +
606 _phi_map[2][qp_xy] * _phi_map[2][qp_xy] * local_acc[2](dim) +
607 _phi_map[2][qp_xy] * _phi_map[3][qp_xy] * local_acc[3](dim));
608
609 if (_eta[0] > TOLERANCE * TOLERANCE)
610 _local_force[2](dim) += factor_qxy * _eta[0] *
611 (_phi_map[2][qp_xy] * _phi_map[0][qp_xy] * local_vel[0](dim) +
612 _phi_map[2][qp_xy] * _phi_map[1][qp_xy] * local_vel[1](dim) +
613 _phi_map[2][qp_xy] * _phi_map[2][qp_xy] * local_vel[2](dim) +
614 _phi_map[2][qp_xy] * _phi_map[3][qp_xy] * local_vel[3](dim));
615
616 _local_force[3](dim) +=
617 factor_qxy * (_phi_map[3][qp_xy] * _phi_map[0][qp_xy] * local_acc[0](dim) +
618 _phi_map[3][qp_xy] * _phi_map[1][qp_xy] * local_acc[1](dim) +
619 _phi_map[3][qp_xy] * _phi_map[2][qp_xy] * local_acc[2](dim) +
620 _phi_map[3][qp_xy] * _phi_map[3][qp_xy] * local_acc[3](dim));
621
622 if (_eta[0] > TOLERANCE * TOLERANCE)
623 _local_force[3](dim) += factor_qxy * _eta[0] *
624 (_phi_map[3][qp_xy] * _phi_map[0][qp_xy] * local_vel[0](dim) +
625 _phi_map[3][qp_xy] * _phi_map[1][qp_xy] * local_vel[1](dim) +
626 _phi_map[3][qp_xy] * _phi_map[2][qp_xy] * local_vel[2](dim) +
627 _phi_map[3][qp_xy] * _phi_map[3][qp_xy] * local_vel[3](dim));
628 }
629
630 // Account for inertia on rotational degrees of freedom
631 ADReal rot_thickness = _thickness * _thickness * _thickness / 48.0;
632
633 ADDenseVector momentInertia(3);
634 momentInertia(0) = (G1(0, 0) * (local_rot_acc[0](0) + _eta[0] * local_rot_vel[0](0)) +
635 G1(0, 1) * (local_rot_acc[0](1) + _eta[0] * local_rot_vel[0](1)) +
636 G2(0, 0) * (local_rot_acc[1](0) + _eta[0] * local_rot_vel[1](0)) +
637 G2(0, 1) * (local_rot_acc[1](1) + _eta[0] * local_rot_vel[1](1)) +
638 G3(0, 0) * (local_rot_acc[2](0) + _eta[0] * local_rot_vel[2](0)) +
639 G3(0, 1) * (local_rot_acc[2](1) + _eta[0] * local_rot_vel[2](1)) +
640 G4(0, 0) * (local_rot_acc[3](0) + _eta[0] * local_rot_vel[3](0)) +
641 G4(0, 1) * (local_rot_acc[3](1) + _eta[0] * local_rot_vel[3](1)));
642
643 momentInertia(1) = (G1(1, 0) * (local_rot_acc[0](0) + _eta[0] * local_rot_vel[0](0)) +
644 G1(1, 1) * (local_rot_acc[0](1) + _eta[0] * local_rot_vel[0](1)) +
645 G2(1, 0) * (local_rot_acc[1](0) + _eta[0] * local_rot_vel[1](0)) +
646 G2(1, 1) * (local_rot_acc[1](1) + _eta[0] * local_rot_vel[1](1)) +
647 G3(1, 0) * (local_rot_acc[2](0) + _eta[0] * local_rot_vel[2](0)) +
648 G3(1, 1) * (local_rot_acc[2](1) + _eta[0] * local_rot_vel[2](1)) +
649 G4(1, 0) * (local_rot_acc[3](0) + _eta[0] * local_rot_vel[3](0)) +
650 G4(1, 1) * (local_rot_acc[3](1) + _eta[0] * local_rot_vel[3](1)));
651
652 momentInertia(2) = (G1(2, 0) * (local_rot_acc[0](0) + _eta[0] * local_rot_vel[0](0)) +
653 G1(2, 1) * (local_rot_acc[0](1) + _eta[0] * local_rot_vel[0](1)) +
654 G2(2, 0) * (local_rot_acc[1](0) + _eta[0] * local_rot_vel[1](0)) +
655 G2(2, 1) * (local_rot_acc[1](1) + _eta[0] * local_rot_vel[1](1)) +
656 G3(2, 0) * (local_rot_acc[2](0) + _eta[0] * local_rot_vel[2](0)) +
657 G3(2, 1) * (local_rot_acc[2](1) + _eta[0] * local_rot_vel[2](1)) +
658 G4(2, 0) * (local_rot_acc[3](0) + _eta[0] * local_rot_vel[3](0)) +
659 G4(2, 1) * (local_rot_acc[3](1) + _eta[0] * local_rot_vel[3](1)));
660
661 _local_moment[0](0) += factor_qxy * rot_thickness *
662 (G1T(0, 0) * momentInertia(0) + G1T(0, 1) * momentInertia(1) +
663 G1T(0, 2) * momentInertia(2));
664
665 _local_moment[0](1) += factor_qxy * rot_thickness *
666 (G1T(1, 0) * momentInertia(0) + G1T(1, 1) * momentInertia(1) +
667 G1T(1, 2) * momentInertia(2));
668
669 _local_moment[1](0) += factor_qxy * rot_thickness *
670 (G1T(0, 0) * momentInertia(0) + G1T(0, 1) * momentInertia(1) +
671 G2T(0, 2) * momentInertia(2));
672
673 _local_moment[1](1) += factor_qxy * rot_thickness *
674 (G1T(1, 0) * momentInertia(0) + G1T(1, 1) * momentInertia(1) +
675 G2T(1, 2) * momentInertia(2));
676
677 _local_moment[2](0) += factor_qxy * rot_thickness *
678 (G1T(0, 0) * momentInertia(0) + G1T(0, 1) * momentInertia(1) +
679 G3T(0, 2) * momentInertia(2));
680
681 _local_moment[2](1) += factor_qxy * rot_thickness *
682 (G1T(1, 0) * momentInertia(0) + G1T(1, 1) * momentInertia(1) +
683 G3T(1, 2) * momentInertia(2));
684
685 _local_moment[3](0) += factor_qxy * rot_thickness *
686 (G1T(0, 0) * momentInertia(0) + G1T(0, 1) * momentInertia(1) +
687 G4T(0, 2) * momentInertia(2));
688
689 _local_moment[3](1) += factor_qxy * rot_thickness *
690 (G1T(1, 0) * momentInertia(0) + G1T(1, 1) * momentInertia(1) +
691 G4T(1, 2) * momentInertia(2));
692 }
693}
DualNumber< Real, DNDerivativeType, true > ADReal
const std::vector< double > y
const std::vector< double > x
unsigned int dim
std::vector< std::vector< Real > > _dphideta_map
Derivatives of shape functions w.r.t isoparametric coordinates eta.
PosRotVectors _local_accel
Current shell nodal accelerations in the local frame of reference.
std::vector< std::vector< Real > > _phi_map
Shape function value.
std::array< ADRealVectorValue, 2 > _0g2_vectors
Node 2 g vectors.
std::vector< Point > _2d_points
Quadrature points in the in-plane direction in isoparametric coordinate system.
std::vector< std::vector< Real > > _dphidxi_map
Derivatives of shape functions w.r.t isoparametric coordinates xi.
PosRotVectors _local_vel
Current shell nodal velocities in the local frame of reference.
PosRotVectors _local_old_vel
Old shell nodal velocities in the local frame of reference.
PosRotVectors _old_vel
Old shell nodal velocities in the global frame of reference.
PosRotVectors _accel
Current shell nodal accelerations in the global frame of reference.
std::array< ADRealVectorValue, 2 > _0g3_vectors
Node 3 g vectors.
std::array< ADRealVectorValue, 2 > _0g1_vectors
Node 1 g vectors.
std::array< ADRealVectorValue, 2 > _0g4_vectors
Node 4 g vectors.
PosRotVectors _vel
Current shell nodal velocities in the global frame of reference.
const FEBase *const & getFE(FEType type, unsigned int dim) const
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num) override
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
const Elem *const & _current_elem
const QBase *const & _qrule
SystemBase & _sys
FEProblemBase & _fe_problem
virtual NumericVector< Number > * solutionUDot()
unsigned int number() const
virtual NumericVector< Number > * solutionUDotOld()
virtual NumericVector< Number > * solutionUDotDot()
TypeVector< typename CompareTypes< T, T2 >::supertype > cross(const TypeVector< T2 > &v) const
auto norm(const T &a)
std::array< ADRealVectorValue, 4 > rot
std::array< ADRealVectorValue, 4 > pos

Referenced by computeResidual(), and computeResidualsForJacobian().

◆ validParams()

InputParameters ADInertialForceShell::validParams ( )
static

Definition at line 32 of file ADInertialForceShell.C.

33{
35
36 params.addClassDescription("Calculates the residual for the inertial force/moment and the "
37 "contribution of mass dependent Rayleigh damping and HHT time "
38 "integration scheme.");
39 params.set<bool>("use_displaced_mesh") = true;
41 "rotations",
42 "The rotational variables appropriate for the simulation geometry and coordinate system");
44 "displacements",
45 "The displacement variables appropriate for the simulation geometry and coordinate system");
46 params.addCoupledVar("velocities", "Translational velocity variables");
47 params.addCoupledVar("accelerations", "Translational acceleration variables");
48 params.addCoupledVar("rotational_velocities", "Rotational velocity variables");
49 params.addCoupledVar("rotational_accelerations", "Rotational acceleration variables");
50 params.addParam<MaterialPropertyName>(
51 "density",
52 "density",
53 "Name of Material Property or a constant real number defining the density of the beam.");
54 params.addRequiredRangeCheckedParam<unsigned int>(
55 "component",
56 "component<5",
57 "An integer corresponding to the direction "
58 "the variable this kernel acts in. (0 for disp_x, "
59 "1 for disp_y, 2 for disp_z, 3 for alpha, and 4 for beta)");
60 params.addRequiredParam<Real>("thickness", "The kernel's thickness");
61 params.addParam<MaterialPropertyName>("eta",
62 0.0,
63 "Name of material property or a constant real "
64 "number defining the eta parameter for the "
65 "Rayleigh damping.");
66 params.addRangeCheckedParam<Real>("alpha",
67 0.0,
68 "alpha >= -0.3333 & alpha <= 0.0",
69 "Alpha parameter for mass dependent numerical damping induced "
70 "by HHT time integration scheme");
71
72 return params;
73}
static InputParameters validParams()
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addRangeCheckedParam(const std::string &name, const T &value, const std::string &parsed_function, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

Member Data Documentation

◆ _0g1_vectors

std::array<ADRealVectorValue, 2> ADInertialForceShell::_0g1_vectors
private

Node 1 g vectors.

Definition at line 141 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _0g2_vectors

std::array<ADRealVectorValue, 2> ADInertialForceShell::_0g2_vectors
private

Node 2 g vectors.

Definition at line 144 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _0g3_vectors

std::array<ADRealVectorValue, 2> ADInertialForceShell::_0g3_vectors
private

Node 3 g vectors.

Definition at line 147 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _0g4_vectors

std::array<ADRealVectorValue, 2> ADInertialForceShell::_0g4_vectors
private

Node 4 g vectors.

Definition at line 150 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _2d_points

std::vector<Point> ADInertialForceShell::_2d_points
private

Quadrature points in the in-plane direction in isoparametric coordinate system.

Definition at line 120 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _2d_weights

std::vector<ADReal> ADInertialForceShell::_2d_weights
private

Quadrature weights.

Definition at line 123 of file ADInertialForceShell.h.

◆ _accel

PosRotVectors ADInertialForceShell::_accel
private

Current shell nodal accelerations in the global frame of reference.

Definition at line 84 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _accel_num

std::vector<unsigned int> ADInertialForceShell::_accel_num
private

Variable numbers corresponding to acceleraion aux variables.

Definition at line 60 of file ADInertialForceShell.h.

◆ _alpha

const Real ADInertialForceShell::_alpha
private

HHT time integration parameter.

Definition at line 168 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _component

const unsigned int ADInertialForceShell::_component
private

Direction along which residual is calculated.

Definition at line 75 of file ADInertialForceShell.h.

Referenced by computeResidual(), and computeResidualsForJacobian().

◆ _density

const MaterialProperty<Real>& ADInertialForceShell::_density
private

Shell material density.

Definition at line 165 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _disp_num

std::vector<unsigned int> ADInertialForceShell::_disp_num
private

Variable numbers corresponding to displacement variables.

Definition at line 54 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().

◆ _dphideta_map

std::vector<std::vector<Real> > ADInertialForceShell::_dphideta_map
private

Derivatives of shape functions w.r.t isoparametric coordinates eta.

Definition at line 111 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _dphidxi_map

std::vector<std::vector<Real> > ADInertialForceShell::_dphidxi_map
private

Derivatives of shape functions w.r.t isoparametric coordinates xi.

Definition at line 108 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _eta

const MaterialProperty<Real>& ADInertialForceShell::_eta
private

Mass proportional Rayleigh damping parameter.

Definition at line 153 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _global_force

std::array<ADRealVectorValue, 4> ADInertialForceShell::_global_force
private

Forces and moments at the four nodes in the global coordinate system.

Definition at line 105 of file ADInertialForceShell.h.

Referenced by computeResidual(), and computeResidualsForJacobian().

◆ _global_moment

std::array<ADRealVectorValue, 4> ADInertialForceShell::_global_moment
private

Definition at line 105 of file ADInertialForceShell.h.

Referenced by computeResidual(), and computeResidualsForJacobian().

◆ _J_map

const ADMaterialProperty<Real>& ADInertialForceShell::_J_map
private

Rotation matrix material property.

Definition at line 159 of file ADInertialForceShell.h.

◆ _local_accel

PosRotVectors ADInertialForceShell::_local_accel
private

Current shell nodal accelerations in the local frame of reference.

Definition at line 93 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _local_force

std::array<ADRealVectorValue, 4> ADInertialForceShell::_local_force
private

Forces and moments at the four nodes in the initial local configuration.

Definition at line 99 of file ADInertialForceShell.h.

Referenced by computeResidual(), computeResidualsForJacobian(), and computeShellInertialForces().

◆ _local_moment

std::array<ADRealVectorValue, 4> ADInertialForceShell::_local_moment
private

◆ _local_old_vel

PosRotVectors ADInertialForceShell::_local_old_vel
private

Old shell nodal velocities in the local frame of reference.

Definition at line 90 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _local_vel

PosRotVectors ADInertialForceShell::_local_vel
private

Current shell nodal velocities in the local frame of reference.

Definition at line 87 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _ndisp

unsigned int ADInertialForceShell::_ndisp
private

Number of coupled displacement variables.

Definition at line 48 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().

◆ _node_normal

std::vector<ADRealVectorValue> ADInertialForceShell::_node_normal
private

Normal to the element at the 4 nodes.

Definition at line 138 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _nodes

std::vector<const Node *> ADInertialForceShell::_nodes
private

Vector storing pointers to the nodes of the shell element.

Definition at line 117 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _nrot

unsigned int ADInertialForceShell::_nrot
private

Number of coupled rotational variables.

Definition at line 45 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().

◆ _old_vel

PosRotVectors ADInertialForceShell::_old_vel
private

Old shell nodal velocities in the global frame of reference.

Definition at line 81 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _original_local_config

ADRankTwoTensor ADInertialForceShell::_original_local_config
private

Rotational transformation from global to initial shell local coordinate system.

Definition at line 72 of file ADInertialForceShell.h.

Referenced by computeResidual(), computeResidualsForJacobian(), and computeShellInertialForces().

◆ _phi_map

std::vector<std::vector<Real> > ADInertialForceShell::_phi_map
private

Shape function value.

Definition at line 114 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _rot_accel_num

std::vector<unsigned int> ADInertialForceShell::_rot_accel_num
private

Variable numbers corresponding to rotational acceleration aux variables.

Definition at line 66 of file ADInertialForceShell.h.

◆ _rot_num

std::vector<unsigned int> ADInertialForceShell::_rot_num
private

Variable numbers corresponding to rotational variables.

Definition at line 51 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().

◆ _rot_vel_num

std::vector<unsigned int> ADInertialForceShell::_rot_vel_num
private

Variable numbers corresponding to rotational velocity aux variables.

Definition at line 63 of file ADInertialForceShell.h.

◆ _thickness

const ADReal ADInertialForceShell::_thickness
private

Coupled variable for the shell thickness.

Definition at line 162 of file ADInertialForceShell.h.

Referenced by computeResidual(), computeResidualsForJacobian(), and computeShellInertialForces().

◆ _transformation_matrix

const ADMaterialProperty<RankTwoTensor>& ADInertialForceShell::_transformation_matrix
private

Rotation matrix material property.

Definition at line 156 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _v1

std::vector<ADRealVectorValue> ADInertialForceShell::_v1
private

First tangential vectors at nodes.

Definition at line 126 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _v2

std::vector<ADRealVectorValue> ADInertialForceShell::_v2
private

Second tangential vectors at nodes.

Definition at line 129 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _vel

PosRotVectors ADInertialForceShell::_vel
private

Current shell nodal velocities in the global frame of reference.

Definition at line 78 of file ADInertialForceShell.h.

Referenced by computeShellInertialForces().

◆ _vel_num

std::vector<unsigned int> ADInertialForceShell::_vel_num
private

Variable numbers corresponding to velocity aux variables.

Definition at line 57 of file ADInertialForceShell.h.

◆ _x2

ADRealVectorValue ADInertialForceShell::_x2
private

Helper vector.

Definition at line 132 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().

◆ _x3

ADRealVectorValue ADInertialForceShell::_x3
private

Helper vector.

Definition at line 135 of file ADInertialForceShell.h.

Referenced by ADInertialForceShell(), and computeShellInertialForces().


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