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

ComputeIncrementalBeamStrain defines a displacement and rotation strain increment and rotation increment (=1), for small strains. More...

#include <ComputeIncrementalBeamStrain.h>

Inheritance diagram for ComputeIncrementalBeamStrain:
[legend]

Public Types

enum  ConstantTypeEnum { ConstantTypeEnum::NONE, ConstantTypeEnum::ELEMENT, ConstantTypeEnum::SUBDOMAIN }
 
enum  TEST_TYPE
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 ComputeIncrementalBeamStrain (const InputParameters &parameters)
 
virtual void computeProperties () override
 
virtual const dof_id_typegetElementID (const std::string &id_parameter_name, unsigned int comp=0) const override
 
dof_id_type getElementID (const Elem *elem, unsigned int elem_id_index) const
 
virtual const dof_id_typegetElementIDNeighbor (const std::string &id_parameter_name, unsigned int comp=0) const override
 
virtual const dof_id_typegetElementIDByName (const std::string &id_parameter_name) const override
 
virtual const dof_id_typegetElementIDNeighborByName (const std::string &id_parameter_name) const override
 
MaterialBasegetMaterial (const std::string &name)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false, bool no_dep=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
MaterialBasegetMaterialByName (const std::string &name, bool no_warn=false)
 
virtual bool isBoundaryMaterial () const override
 
virtual const std::unordered_set< unsigned int > & getMatPropDependencies () const override
 
virtual void subdomainSetup () override
 
bool ghostable () const override final
 
virtual void resolveOptionalProperties () override
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty (const std::string &name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialProperty ()
 
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 GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const GenericMaterialProperty< T, is_ad > & getGenericZeroMaterialPropertyByName (const std::string &prop_name)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
const MaterialProperty< T > & getZeroMaterialProperty (Ts... args)
 
virtual void initStatefulProperties (unsigned int n_points)
 
virtual bool isInterfaceMaterial ()
 
virtual void resetProperties ()
 
virtual void computePropertiesAtQp (unsigned int qp)
 
const MaterialProperty< T > & getZeroMaterialPropertyByName (Ts... args)
 
virtual const std::set< std::string > & getRequestedItems () override
 
virtual const std::set< std::string > & getSuppliedItems () override
 
const std::set< unsigned int > & getSuppliedPropIDs ()
 
void checkStatefulSanity () const
 
std::set< OutputName > getOutputs ()
 
bool hasStatefulProperties () const
 
void setFaceInfo (const FaceInfo &fi)
 
void setActiveProperties (const std::unordered_set< unsigned int > &needed_props)
 
bool forceStatefulInit () const
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T * queryParam (const std::string &name) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (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
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) 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
 
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 std::set< BoundaryID > & boundaryIDs () const
 
const std::vector< BoundaryName > & boundaryNames () const
 
unsigned int numBoundaryIDs () const
 
bool hasBoundary (const BoundaryName &name) const
 
bool hasBoundary (const std::vector< BoundaryName > &names) const
 
bool hasBoundary (const BoundaryID &id) const
 
bool hasBoundary (const std::vector< BoundaryID > &ids, TEST_TYPE type=ALL) const
 
bool hasBoundary (const std::set< BoundaryID > &ids, TEST_TYPE type=ALL) const
 
bool isBoundarySubset (const std::set< BoundaryID > &ids) const
 
bool isBoundarySubset (const std::vector< BoundaryID > &ids) const
 
bool hasBoundaryMaterialProperty (const std::string &prop_name) const
 
virtual bool boundaryRestricted () const
 
const std::set< BoundaryID > & meshBoundaryIDs () const
 
virtual bool checkVariableBoundaryIntegrity () const
 
virtual void initialSetup ()
 
virtual void timestepSetup ()
 
virtual void jacobianSetup ()
 
virtual void residualSetup ()
 
virtual void customSetup (const ExecFlagType &)
 
const ExecFlagEnumgetExecuteOnEnum () const
 
const std::set< MooseVariableFieldBase *> & getMooseVariableDependencies () const
 
std::set< MooseVariableFieldBase *> checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_omit={})
 
std::set< MooseVariableFieldBase *> checkVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check)
 
void addMooseVariableDependency (MooseVariableFieldBase *var)
 
void addMooseVariableDependency (const std::vector< MooseVariableFieldBase * > &vars)
 
const std::vector< MooseVariableScalar *> & getCoupledMooseScalarVars ()
 
const std::set< TagID > & getScalarVariableCoupleableVectorTags () const
 
const std::set< TagID > & getScalarVariableCoupleableMatrixTags () 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
 
UserObjectName getUserObjectName (const std::string &param_name) const
 
const T & getUserObject (const std::string &param_name, bool is_dependency=true) const
 
const T & getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBase (const std::string &param_name, bool is_dependency=true) const
 
const UserObjectgetUserObjectBaseByName (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
 
virtual void meshChanged ()
 
void buildOutputHideVariableList (std::set< std::string > variable_names)
 
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 unsigned int getElementIDIndex (const std::string &id_parameter_name, unsigned int comp=0) const
 
virtual unsigned int getElementIDIndexByName (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_typegetAllElemIDs (unsigned int elem_id_index) const
 
std::set< dof_id_typegetElemIDsOnBlocks (unsigned int elem_id_index, const std::set< SubdomainID > &blks) const
 
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
 
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 std::string &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const GenericMaterialProperty< T, is_ad > & getGenericMaterialPropertyByName (const std::string &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 std::string &prop_name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0)
 
const MaterialProperty< T > & getMaterialPropertyByName (const std::string &prop_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 std::string &prop_name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const std::string &prop_name)
 
const ADMaterialProperty< T > & getADMaterialPropertyByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const std::string &prop_name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const std::string &prop_name)
 
const MaterialProperty< T > & getMaterialPropertyOldByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const std::string &prop_name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const std::string &prop_name)
 
const MaterialProperty< T > & getMaterialPropertyOlderByName (const MaterialPropertyName &name)
 
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > getBlockMaterialProperty (const MaterialPropertyName &name)
 
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)
 
bool getMaterialPropertyCalled () const
 
const GenericMaterialProperty< T, is_ad > & getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state)
 
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)
 
MaterialProperty< T > & declarePropertyByName (const std::string &prop_name)
 
MaterialProperty< T > & declarePropertyByName (const std::string &prop_name)
 
MaterialProperty< T > & declareProperty (const std::string &name)
 
MaterialProperty< T > & declareProperty (const std::string &name)
 
ADMaterialProperty< T > & declareADPropertyByName (const std::string &prop_name)
 
ADMaterialProperty< T > & declareADPropertyByName (const std::string &prop_name)
 
ADMaterialProperty< T > & declareADProperty (const std::string &name)
 
ADMaterialProperty< T > & declareADProperty (const std::string &name)
 
auto & declareGenericProperty (const std::string &prop_name)
 
auto & declareGenericProperty (const std::string &prop_name)
 
GenericMaterialProperty< T, is_ad > & declareGenericPropertyByName (const std::string &prop_name)
 
GenericMaterialProperty< T, is_ad > & declareGenericPropertyByName (const std::string &prop_name)
 
const DistributiongetDistribution (const std::string &name) const
 
const T & getDistribution (const std::string &name) const
 
const DistributiongetDistribution (const std::string &name) const
 
const T & getDistribution (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const T & getDistributionByName (const std::string &name) const
 
const DistributiongetDistributionByName (const DistributionName &name) const
 
const T & getDistributionByName (const std::string &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 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
 
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 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 std::deque< MaterialBase *> buildRequiredMaterials (const Consumers &mat_consumers, const std::vector< std::shared_ptr< MaterialBase >> &mats, const bool allow_stateful)
 
static bool restricted (const std::set< BoundaryID > &ids)
 
static void sort (typename std::vector< T > &vector)
 
static void sortDFS (typename std::vector< T > &vector)
 
static void cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header)
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Public Attributes

 ALL
 
 ANY
 
const ConsoleStream _console
 

Static Public Attributes

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

Protected Types

enum  QP_Data_Type
 

Protected Member Functions

virtual void initQpStatefulProperties () override
 
void computeQpStrain ()
 Computes the displacement and rotation strain increments. More...
 
void computeStiffnessMatrix ()
 Computes the stiffness matrices. More...
 
virtual void computeRotation ()
 Computes the rotation matrix at time t. For small rotation scenarios, the rotation matrix at time t is same as the intiial rotation matrix. More...
 
virtual void checkMaterialProperty (const std::string &name, const unsigned int state) override
 
virtual const MaterialDatamaterialData () const override
 
virtual MaterialDatamaterialData () override
 
virtual const QBase & qRule () const override
 
virtual void computeQpProperties ()
 
virtual void resetQpProperties ()
 
virtual const FEProblemBasemiProblem () const
 
virtual FEProblemBasemiProblem ()
 
bool isPropertyActive (const unsigned int prop_id) const
 
void registerPropName (const std::string &prop_name, bool is_get, const unsigned int state)
 
void checkExecutionStage ()
 
void checkExecutionStage ()
 
virtual bool hasBlockMaterialPropertyHelper (const std::string &prop_name)
 
void initializeBlockRestrictable (const MooseObject *moose_object)
 
Moose::CoordinateSystemType getBlockCoordSystem ()
 
bool hasBoundaryMaterialPropertyHelper (const std::string &prop_name) 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 addUserObjectDependencyHelper (const UserObject &) const
 
virtual void addPostprocessorDependencyHelper (const PostprocessorName &) const
 
virtual void addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &) const
 
T & declareRestartableData (const std::string &data_name, Args &&... args)
 
ManagedValue< T > declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
const T & getRestartableData (const std::string &data_name) const
 
T & declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args)
 
T & declareRecoverableData (const std::string &data_name, Args &&... args)
 
T & declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args)
 
T & declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args)
 
std::string restartableName (const std::string &data_name) const
 
std::string deduceFunctorName (const std::string &name) const
 
const Moose::Functor< T > & getFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
bool isFunctor (const std::string &name) const
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 
void checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration)
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) 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 T & coupledNodalValue (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 T & coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const
 
const T & coupledNodalDot (const std::string &var_name, unsigned int comp=0) const
 
virtual const 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)
 
const T * getVarHelper (const std::string &var_name, unsigned int comp) const
 
T * getVarHelper (const std::string &var_name, unsigned int comp)
 
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< T > coupledVectorHelper (const std::string &var_name, const Func &func) const
 
void markMatPropRequested (const std::string &)
 
MaterialPropertyName getMaterialPropertyName (const std::string &name) const
 
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 bool _has_Ix
 Booleans for validity of params. More...
 
unsigned int _nrot
 Number of coupled rotational variables. More...
 
unsigned int _ndisp
 Number of coupled displacement variables. More...
 
std::vector< unsigned int_rot_num
 Variable numbers corresponding to the rotational variables. More...
 
std::vector< unsigned int_disp_num
 Variable numbers corresponding to the displacement variables. More...
 
const VariableValue_area
 Coupled variable for the beam cross-sectional area. More...
 
const VariableValue_Ay
 Coupled variable for the first moment of area in y direction, i.e., integral of y*dA over the cross-section. More...
 
const VariableValue_Az
 Coupled variable for the first moment of area in z direction, i.e., integral of z*dA over the cross-section. More...
 
const VariableValue_Iy
 Coupled variable for the second moment of area in y direction, i.e., integral of y^2*dA over the cross-section. More...
 
const VariableValue_Iz
 Coupled variable for the second moment of area in z direction, i.e., integral of z^2*dA over the cross-section. More...
 
const VariableValue_Ix
 Coupled variable for the second moment of area in x direction, i.e., integral of (y^2 + z^2)*dA over the cross-section. More...
 
RankTwoTensor_original_local_config
 Rotational transformation from global coordinate system to initial beam local configuration. More...
 
MaterialProperty< Real > & _original_length
 Initial length of the beam. More...
 
MaterialProperty< RankTwoTensor > & _total_rotation
 Rotational transformation from global coordinate system to beam local configuration at time t. More...
 
MaterialProperty< RealVectorValue > & _total_disp_strain
 Current total displacement strain integrated over the cross-section in global coordinate system. More...
 
MaterialProperty< RealVectorValue > & _total_rot_strain
 Current total rotational strain integrated over the cross-section in global coordinate system. More...
 
const MaterialProperty< RealVectorValue > & _total_disp_strain_old
 Old total displacement strain integrated over the cross-section in global coordinate system. More...
 
const MaterialProperty< RealVectorValue > & _total_rot_strain_old
 Old total rotational strain integrated over the cross-section in global coordinate system. More...
 
MaterialProperty< RealVectorValue > & _mech_disp_strain_increment
 Mechanical displacement strain increment (after removal of eigenstrains) integrated over the cross-section. More...
 
MaterialProperty< RealVectorValue > & _mech_rot_strain_increment
 Mechanical rotation strain increment (after removal of eigenstrains) integrated over the cross-section. More...
 
const MaterialProperty< RealVectorValue > & _material_stiffness
 Material stiffness vector that relates displacement strain increments to force increments. More...
 
MaterialProperty< RankTwoTensor > & _K11
 Stiffness matrix between displacement DOFs of same node or across nodes. More...
 
MaterialProperty< RankTwoTensor > & _K21_cross
 Stiffness matrix between displacement DOFs of one node to rotational DOFs of another node. More...
 
MaterialProperty< RankTwoTensor > & _K21
 Stiffness matrix between displacement DOFs and rotation DOFs of the same node. More...
 
MaterialProperty< RankTwoTensor > & _K22
 Stiffness matrix between rotation DOFs of the same node. More...
 
MaterialProperty< RankTwoTensor > & _K22_cross
 Stiffness matrix between rotation DOFs of different nodes. More...
 
const bool _large_strain
 Boolean flag to turn on large strain calculation. More...
 
RealVectorValue _grad_disp_0_local_t
 Gradient of displacement calculated in the beam local configuration at time t. More...
 
RealVectorValue _grad_rot_0_local_t
 Gradient of rotation calculated in the beam local configuration at time t. More...
 
RealVectorValue _avg_rot_local_t
 Average rotation calculated in the beam local configuration at time t. More...
 
std::vector< MaterialPropertyName > _eigenstrain_names
 Vector of beam eigenstrain names. More...
 
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain
 Vector of current displacement eigenstrains. More...
 
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain
 Vector of current rotational eigenstrains. More...
 
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain_old
 Vector of old displacement eigenstrains. More...
 
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain_old
 Vector of old rotational eigenstrains. More...
 
RealVectorValue _disp0
 Displacement and rotations at the two nodes of the beam in the global coordinate system. More...
 
RealVectorValue _disp1
 
RealVectorValue _rot0
 
RealVectorValue _rot1
 
NonlinearSystemBase_nonlinear_sys
 Reference to the nonlinear system object. More...
 
std::vector< unsigned int_soln_disp_index_0
 Indices of solution vector corresponding to displacement DOFs at the node 0. More...
 
std::vector< unsigned int_soln_disp_index_1
 Indices of solution vector corresponding to displacement DOFs at the node 1. More...
 
std::vector< unsigned int_soln_rot_index_0
 Indices of solution vector corresponding to rotation DOFs at the node 0. More...
 
std::vector< unsigned int_soln_rot_index_1
 Indices of solution vector corresponding to rotation DOFs at the node 1. More...
 
MaterialProperty< RankTwoTensor > & _initial_rotation
 Rotational transformation from global coordinate system to initial beam local configuration. More...
 
MaterialProperty< Real > & _effective_stiffness
 Psuedo stiffness for critical time step computation. More...
 
const Function *const _prefactor_function
 Prefactor function to multiply the elasticity tensor with. More...
 
 CURR
 
 PREV
 
bool _bnd
 
bool _neighbor
 
const MooseArray< Point > & _q_point
 
const QBase *const & _qrule
 
const MooseArray< Real > & _JxW
 
const Elem *const & _current_elem
 
const SubdomainID_current_subdomain_id
 
const unsigned int_current_side
 
const ConstantTypeEnum _constant_option
 
SubProblem_subproblem
 
FEProblemBase_fe_problem
 
THREAD_ID _tid
 
Assembly_assembly
 
unsigned int _qp
 
const MooseArray< Real > & _coord
 
const MooseArray< Point > & _normals
 
MooseMesh_mesh
 
const Moose::CoordinateSystemType_coord_sys
 
std::set< std::string > _requested_props
 
std::set< std::string > _supplied_props
 
std::set< unsigned int_supplied_prop_ids
 
std::unordered_set< unsigned int_active_prop_ids
 
const bool _compute
 
std::unordered_map< unsigned int, unsigned int_props_to_min_states
 
std::vector< unsigned int_displacements
 
bool _has_stateful_property
 
bool _overrides_init_stateful_props
 
const FaceInfo_face_info
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
Factory_factory
 
ActionFactory_action_factory
 
const MaterialData_blk_material_data
 
const ExecFlagEnum_execute_enum
 
const ExecFlagType_current_execute_flag
 
FEProblemBase_sc_fe_problem
 
const THREAD_ID _sc_tid
 
const Real_real_zero
 
const VariableValue_scalar_zero
 
const Point & _point_zero
 
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
 
GeometricSearchData_geometric_search_data
 
bool _requires_geometric_search
 
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< MooseVariableFV< Real > *> _coupled_standard_fv_moose_vars
 
std::vector< MooseLinearVariableFV< Real > *> _coupled_standard_linear_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
 
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 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
 
const Parallel::Communicator & _communicator
 

Static Protected Attributes

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

Detailed Description

ComputeIncrementalBeamStrain defines a displacement and rotation strain increment and rotation increment (=1), for small strains.

Definition at line 22 of file ComputeIncrementalBeamStrain.h.

Constructor & Destructor Documentation

◆ ComputeIncrementalBeamStrain()

ComputeIncrementalBeamStrain::ComputeIncrementalBeamStrain ( const InputParameters parameters)

Definition at line 67 of file ComputeIncrementalBeamStrain.C.

69  _has_Ix(isParamValid("Ix")),
70  _nrot(coupledComponents("rotations")),
71  _ndisp(coupledComponents("displacements")),
72  _rot_num(_nrot),
74  _area(coupledValue("area")),
75  _Ay(coupledValue("Ay")),
76  _Az(coupledValue("Az")),
77  _Iy(coupledValue("Iy")),
78  _Iz(coupledValue("Iz")),
79  _Ix(_has_Ix ? coupledValue("Ix") : _zero),
80  _original_local_config(declareRestartableData<RankTwoTensor>("original_local_config")),
81  _original_length(declareProperty<Real>("original_length")),
82  _total_rotation(declareProperty<RankTwoTensor>("total_rotation")),
83  _total_disp_strain(declareProperty<RealVectorValue>("total_disp_strain")),
84  _total_rot_strain(declareProperty<RealVectorValue>("total_rot_strain")),
85  _total_disp_strain_old(getMaterialPropertyOld<RealVectorValue>("total_disp_strain")),
86  _total_rot_strain_old(getMaterialPropertyOld<RealVectorValue>("total_rot_strain")),
87  _mech_disp_strain_increment(declareProperty<RealVectorValue>("mech_disp_strain_increment")),
88  _mech_rot_strain_increment(declareProperty<RealVectorValue>("mech_rot_strain_increment")),
89  _material_stiffness(getMaterialPropertyByName<RealVectorValue>("material_stiffness")),
90  _K11(declareProperty<RankTwoTensor>("Jacobian_11")),
91  _K21_cross(declareProperty<RankTwoTensor>("Jacobian_12")),
92  _K21(declareProperty<RankTwoTensor>("Jacobian_21")),
93  _K22(declareProperty<RankTwoTensor>("Jacobian_22")),
94  _K22_cross(declareProperty<RankTwoTensor>("Jacobian_22_cross")),
95  _large_strain(getParam<bool>("large_strain")),
96  _eigenstrain_names(getParam<std::vector<MaterialPropertyName>>("eigenstrain_names")),
106  _initial_rotation(declareProperty<RankTwoTensor>("initial_rotation")),
107  _effective_stiffness(declareProperty<Real>("effective_stiffness")),
108  _prefactor_function(isParamValid("elasticity_prefactor") ? &getFunction("elasticity_prefactor")
109  : nullptr)
110 {
111  // Checking for consistency between length of the provided displacements and rotations vector
112  if (_ndisp != _nrot)
113  mooseError("ComputeIncrementalBeamStrain: The number of variables supplied in 'displacements' "
114  "and 'rotations' must match.");
115 
116  // fetch coupled variables and gradients (as stateful properties if necessary)
117  for (unsigned int i = 0; i < _ndisp; ++i)
118  {
119  MooseVariable * disp_variable = getVar("displacements", i);
120  _disp_num[i] = disp_variable->number();
121 
122  MooseVariable * rot_variable = getVar("rotations", i);
123  _rot_num[i] = rot_variable->number();
124  }
125 
126  if (_large_strain && (_Ay[0] > 0.0 || _Ay[1] > 0.0 || _Az[0] > 0.0 || _Az[1] > 0.0))
127  mooseError("ComputeIncrementalBeamStrain: Large strain calculation does not currently "
128  "support asymmetric beam configurations with non-zero first or third moments of "
129  "area.");
130 
131  for (unsigned int i = 0; i < _eigenstrain_names.size(); ++i)
132  {
133  _disp_eigenstrain[i] = &getMaterialProperty<RealVectorValue>("disp_" + _eigenstrain_names[i]);
134  _rot_eigenstrain[i] = &getMaterialProperty<RealVectorValue>("rot_" + _eigenstrain_names[i]);
136  &getMaterialPropertyOld<RealVectorValue>("disp_" + _eigenstrain_names[i]);
138  &getMaterialPropertyOld<RealVectorValue>("rot_" + _eigenstrain_names[i]);
139  }
140 }
MaterialProperty< RealVectorValue > & _total_disp_strain
Current total displacement strain integrated over the cross-section in global coordinate system...
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain_old
Vector of old rotational eigenstrains.
RankTwoTensor & _original_local_config
Rotational transformation from global coordinate system to initial beam local configuration.
const VariableValue & _Iy
Coupled variable for the second moment of area in y direction, i.e., integral of y^2*dA over the cros...
std::vector< unsigned int > _soln_disp_index_1
Indices of solution vector corresponding to displacement DOFs at the node 1.
const VariableValue & _zero
std::vector< unsigned int > _rot_num
Variable numbers corresponding to the rotational variables.
MaterialProperty< RankTwoTensor > & _initial_rotation
Rotational transformation from global coordinate system to initial beam local configuration.
FEProblemBase & _fe_problem
std::vector< unsigned int > _soln_rot_index_0
Indices of solution vector corresponding to rotation DOFs at the node 0.
MaterialProperty< RankTwoTensor > & _K21_cross
Stiffness matrix between displacement DOFs of one node to rotational DOFs of another node...
const VariableValue & _Iz
Coupled variable for the second moment of area in z direction, i.e., integral of z^2*dA over the cros...
unsigned int _ndisp
Number of coupled displacement variables.
unsigned int number() const
const Function & getFunction(const std::string &name) const
MaterialProperty< RankTwoTensor > & _K22
Stiffness matrix between rotation DOFs of the same node.
MaterialProperty< RealVectorValue > & _total_rot_strain
Current total rotational strain integrated over the cross-section in global coordinate system...
NonlinearSystemBase & _nonlinear_sys
Reference to the nonlinear system object.
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain_old
Vector of old displacement eigenstrains.
MooseVariable * getVar(const std::string &var_name, unsigned int comp)
unsigned int _nrot
Number of coupled rotational variables.
MaterialProperty< RankTwoTensor > & _K11
Stiffness matrix between displacement DOFs of same node or across nodes.
bool isParamValid(const std::string &name) const
virtual const VariableValue & coupledValue(const std::string &var_name, unsigned int comp=0) const
std::vector< unsigned int > _disp_num
Variable numbers corresponding to the displacement variables.
MaterialProperty< RankTwoTensor > & _K22_cross
Stiffness matrix between rotation DOFs of different nodes.
MaterialProperty< Real > & _original_length
Initial length of the beam.
const bool _has_Ix
Booleans for validity of params.
const T & getParam(const std::string &name) const
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
const Function *const _prefactor_function
Prefactor function to multiply the elasticity tensor with.
MaterialProperty< RealVectorValue > & _mech_rot_strain_increment
Mechanical rotation strain increment (after removal of eigenstrains) integrated over the cross-sectio...
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain
Vector of current displacement eigenstrains.
std::vector< unsigned int > _soln_rot_index_1
Indices of solution vector corresponding to rotation DOFs at the node 1.
MaterialProperty< RealVectorValue > & _mech_disp_strain_increment
Mechanical displacement strain increment (after removal of eigenstrains) integrated over the cross-se...
const MaterialProperty< RealVectorValue > & _material_stiffness
Material stiffness vector that relates displacement strain increments to force increments.
unsigned int coupledComponents(const std::string &var_name) const
const VariableValue & _area
Coupled variable for the beam cross-sectional area.
MaterialProperty< Real > & _effective_stiffness
Psuedo stiffness for critical time step computation.
std::vector< MaterialPropertyName > _eigenstrain_names
Vector of beam eigenstrain names.
const bool _large_strain
Boolean flag to turn on large strain calculation.
const VariableValue & _Ay
Coupled variable for the first moment of area in y direction, i.e., integral of y*dA over the cross-s...
void mooseError(Args &&... args) const
const InputParameters & parameters() const
const MaterialProperty< RealVectorValue > & _total_rot_strain_old
Old total rotational strain integrated over the cross-section in global coordinate system...
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain
Vector of current rotational eigenstrains.
const VariableValue & _Az
Coupled variable for the first moment of area in z direction, i.e., integral of z*dA over the cross-s...
const VariableValue & _Ix
Coupled variable for the second moment of area in x direction, i.e., integral of (y^2 + z^2)*dA over ...
std::vector< unsigned int > _soln_disp_index_0
Indices of solution vector corresponding to displacement DOFs at the node 0.
MaterialProperty< RankTwoTensor > & _total_rotation
Rotational transformation from global coordinate system to beam local configuration at time t...
MaterialProperty< RankTwoTensor > & _K21
Stiffness matrix between displacement DOFs and rotation DOFs of the same node.
const MaterialProperty< RealVectorValue > & _total_disp_strain_old
Old total displacement strain integrated over the cross-section in global coordinate system...
Material(const InputParameters &parameters)

Member Function Documentation

◆ computeProperties()

void ComputeIncrementalBeamStrain::computeProperties ( )
overridevirtual

Reimplemented from Material.

Definition at line 185 of file ComputeIncrementalBeamStrain.C.

186 {
187  // fetch the two end nodes for current element
188  std::vector<const Node *> node;
189  for (unsigned int i = 0; i < 2; ++i)
190  node.push_back(_current_elem->node_ptr(i));
191 
192  // calculate original length of a beam element
193  // Nodal positions do not change with time as undisplaced mesh is used by material classes by
194  // default
195  RealGradient dxyz;
196  for (unsigned int i = 0; i < _ndisp; ++i)
197  dxyz(i) = (*node[1])(i) - (*node[0])(i);
198 
199  _original_length[0] = dxyz.norm();
200 
201  // Fetch the solution for the two end nodes at time t
204 
205  for (unsigned int i = 0; i < _ndisp; ++i)
206  {
207  _soln_disp_index_0[i] = node[0]->dof_number(_nonlinear_sys.number(), _disp_num[i], 0);
208  _soln_disp_index_1[i] = node[1]->dof_number(_nonlinear_sys.number(), _disp_num[i], 0);
209  _soln_rot_index_0[i] = node[0]->dof_number(_nonlinear_sys.number(), _rot_num[i], 0);
210  _soln_rot_index_1[i] = node[1]->dof_number(_nonlinear_sys.number(), _rot_num[i], 0);
211 
212  _disp0(i) = sol(_soln_disp_index_0[i]) - sol_old(_soln_disp_index_0[i]);
213  _disp1(i) = sol(_soln_disp_index_1[i]) - sol_old(_soln_disp_index_1[i]);
214  _rot0(i) = sol(_soln_rot_index_0[i]) - sol_old(_soln_rot_index_0[i]);
215  _rot1(i) = sol(_soln_rot_index_1[i]) - sol_old(_soln_rot_index_1[i]);
216  }
217 
218  // For small rotation problems, the rotation matrix is essentially the transformation from the
219  // global to original beam local configuration and is never updated. This method has to be
220  // overriden for scenarios with finite rotation
221  computeRotation();
223 
224  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
225  computeQpStrain();
226 
229 }
RankTwoTensor & _original_local_config
Rotational transformation from global coordinate system to initial beam local configuration.
std::vector< unsigned int > _soln_disp_index_1
Indices of solution vector corresponding to displacement DOFs at the node 1.
std::vector< unsigned int > _rot_num
Variable numbers corresponding to the rotational variables.
MaterialProperty< RankTwoTensor > & _initial_rotation
Rotational transformation from global coordinate system to initial beam local configuration.
FEProblemBase & _fe_problem
const QBase *const & _qrule
std::vector< unsigned int > _soln_rot_index_0
Indices of solution vector corresponding to rotation DOFs at the node 0.
auto norm() const -> decltype(std::norm(Real()))
unsigned int _ndisp
Number of coupled displacement variables.
virtual void computeRotation()
Computes the rotation matrix at time t. For small rotation scenarios, the rotation matrix at time t i...
NonlinearSystemBase & _nonlinear_sys
Reference to the nonlinear system object.
unsigned int _qp
virtual const NumericVector< Number > *const & currentSolution() const override final
std::vector< unsigned int > _disp_num
Variable numbers corresponding to the displacement variables.
MaterialProperty< Real > & _original_length
Initial length of the beam.
unsigned int number() const
std::vector< unsigned int > _soln_rot_index_1
Indices of solution vector corresponding to rotation DOFs at the node 1.
void computeQpStrain()
Computes the displacement and rotation strain increments.
RealVectorValue _disp0
Displacement and rotations at the two nodes of the beam in the global coordinate system.
void computeStiffnessMatrix()
Computes the stiffness matrices.
const bool & currentlyComputingJacobian() const
NumericVector< Number > & solutionOld()
std::vector< unsigned int > _soln_disp_index_0
Indices of solution vector corresponding to displacement DOFs at the node 0.
const Elem *const & _current_elem

◆ computeQpStrain()

void ComputeIncrementalBeamStrain::computeQpStrain ( )
protected

Computes the displacement and rotation strain increments.

Definition at line 232 of file ComputeIncrementalBeamStrain.C.

Referenced by computeProperties().

233 {
234  const Real A_avg = (_area[0] + _area[1]) / 2.0;
235  const Real Iz_avg = (_Iz[0] + _Iz[1]) / 2.0;
236  Real Ix = _Ix[_qp];
237  if (!_has_Ix)
238  Ix = _Iy[_qp] + _Iz[_qp];
239 
240  // Rotate the gradient of displacements and rotations at t+delta t from global coordinate
241  // frame to beam local coordinate frame
242  const RealVectorValue grad_disp_0(1.0 / _original_length[0] * (_disp1 - _disp0));
243  const RealVectorValue grad_rot_0(1.0 / _original_length[0] * (_rot1 - _rot0));
244  const RealVectorValue avg_rot(
245  0.5 * (_rot0(0) + _rot1(0)), 0.5 * (_rot0(1) + _rot1(1)), 0.5 * (_rot0(2) + _rot1(2)));
246 
247  _grad_disp_0_local_t = _total_rotation[0] * grad_disp_0;
248  _grad_rot_0_local_t = _total_rotation[0] * grad_rot_0;
249  _avg_rot_local_t = _total_rotation[0] * avg_rot;
250 
251  // displacement at any location on beam in local coordinate system at t
252  // u_1 = u_n1 - rot_3 * y + rot_2 * z
253  // u_2 = u_n2 - rot_1 * z
254  // u_3 = u_n3 + rot_1 * y
255  // where u_n1, u_n2, u_n3 are displacements at neutral axis
256 
257  // small strain
258  // e_11 = u_1,1 = u_n1, 1 - rot_3, 1 * y + rot_2, 1 * z
259  // e_12 = 2 * 0.5 * (u_1,2 + u_2,1) = (- rot_3 + u_n2,1 - rot_1,1 * z)
260  // e_13 = 2 * 0.5 * (u_1,3 + u_3,1) = (rot_2 + u_n3,1 + rot_1,1 * y)
261 
262  // axial and shearing strains at each qp along the length of the beam
264  _grad_rot_0_local_t(2) * _Ay[_qp] +
272 
273  // rotational strains at each qp along the length of the beam
274  // rot_strain_1 = integral(e_13 * y - e_12 * z) dA
275  // rot_strain_2 = integral(e_11 * z) dA
276  // rot_strain_3 = integral(e_11 * -y) dA
277  // Iyz is the product moment of inertia which is zero for most cross-sections so it is assumed to
278  // be zero for this analysis
279  const Real Iyz = 0;
282  _grad_rot_0_local_t(0) * Ix + _avg_rot_local_t(2) * _Az[_qp] -
285  _grad_rot_0_local_t(2) * Iyz +
288  _grad_rot_0_local_t(2) * _Iy[_qp] -
289  _grad_rot_0_local_t(1) * Iyz;
290 
291  if (_large_strain)
292  {
294  0.5 *
295  ((Utility::pow<2>(_grad_disp_0_local_t(0)) + Utility::pow<2>(_grad_disp_0_local_t(1)) +
296  Utility::pow<2>(_grad_disp_0_local_t(2))) *
297  _area[_qp] +
298  Utility::pow<2>(_grad_rot_0_local_t(2)) * _Iy[_qp] +
299  Utility::pow<2>(_grad_rot_0_local_t(1)) * _Iz[_qp] +
300  Utility::pow<2>(_grad_rot_0_local_t(0)) * Ix);
303  _area[_qp];
306  _area[_qp];
307 
312  _Iz[_qp];
315  _Iy[_qp];
316  }
317 
322 
323  // Convert eigenstrain increment from global to beam local coordinate system and remove eigen
324  // strain increment
325  for (unsigned int i = 0; i < _eigenstrain_names.size(); ++i)
326  {
329  _area[_qp];
332  }
333 
334  Real c1_paper = std::sqrt(_material_stiffness[0](0));
335  Real c2_paper = std::sqrt(_material_stiffness[0](1));
336 
337  Real effec_stiff_1 = std::max(c1_paper, c2_paper);
338 
339  Real effec_stiff_2 = 2 / (c2_paper * std::sqrt(A_avg / Iz_avg));
340 
341  _effective_stiffness[_qp] = std::max(effec_stiff_1, _original_length[0] / effec_stiff_2);
342 
345 }
const MooseArray< Point > & _q_point
MaterialProperty< RealVectorValue > & _total_disp_strain
Current total displacement strain integrated over the cross-section in global coordinate system...
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain_old
Vector of old rotational eigenstrains.
const VariableValue & _Iy
Coupled variable for the second moment of area in y direction, i.e., integral of y^2*dA over the cros...
const VariableValue & _Iz
Coupled variable for the second moment of area in z direction, i.e., integral of z^2*dA over the cros...
MaterialProperty< RealVectorValue > & _total_rot_strain
Current total rotational strain integrated over the cross-section in global coordinate system...
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain_old
Vector of old displacement eigenstrains.
RealVectorValue _avg_rot_local_t
Average rotation calculated in the beam local configuration at time t.
unsigned int _qp
Real & _t
MaterialProperty< Real > & _original_length
Initial length of the beam.
const bool _has_Ix
Booleans for validity of params.
const Function *const _prefactor_function
Prefactor function to multiply the elasticity tensor with.
MaterialProperty< RealVectorValue > & _mech_rot_strain_increment
Mechanical rotation strain increment (after removal of eigenstrains) integrated over the cross-sectio...
std::vector< const MaterialProperty< RealVectorValue > * > _disp_eigenstrain
Vector of current displacement eigenstrains.
MaterialProperty< RealVectorValue > & _mech_disp_strain_increment
Mechanical displacement strain increment (after removal of eigenstrains) integrated over the cross-se...
const MaterialProperty< RealVectorValue > & _material_stiffness
Material stiffness vector that relates displacement strain increments to force increments.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RealVectorValue _grad_rot_0_local_t
Gradient of rotation calculated in the beam local configuration at time t.
const VariableValue & _area
Coupled variable for the beam cross-sectional area.
RealVectorValue _disp0
Displacement and rotations at the two nodes of the beam in the global coordinate system.
MaterialProperty< Real > & _effective_stiffness
Psuedo stiffness for critical time step computation.
std::vector< MaterialPropertyName > _eigenstrain_names
Vector of beam eigenstrain names.
const bool _large_strain
Boolean flag to turn on large strain calculation.
const VariableValue & _Ay
Coupled variable for the first moment of area in y direction, i.e., integral of y*dA over the cross-s...
std::vector< const MaterialProperty< RealVectorValue > * > _rot_eigenstrain
Vector of current rotational eigenstrains.
const VariableValue & _Az
Coupled variable for the first moment of area in z direction, i.e., integral of z*dA over the cross-s...
virtual Real value(Real t, const Point &p) const
const VariableValue & _Ix
Coupled variable for the second moment of area in x direction, i.e., integral of (y^2 + z^2)*dA over ...
MaterialProperty< RankTwoTensor > & _total_rotation
Rotational transformation from global coordinate system to beam local configuration at time t...
const MaterialProperty< RealVectorValue > & _total_disp_strain_old
Old total displacement strain integrated over the cross-section in global coordinate system...
RealVectorValue _grad_disp_0_local_t
Gradient of displacement calculated in the beam local configuration at time t.

◆ computeRotation()

void ComputeIncrementalBeamStrain::computeRotation ( )
protectedvirtual

Computes the rotation matrix at time t. For small rotation scenarios, the rotation matrix at time t is same as the intiial rotation matrix.

Reimplemented in ComputeFiniteBeamStrain.

Definition at line 617 of file ComputeIncrementalBeamStrain.C.

Referenced by computeProperties().

618 {
620 }
RankTwoTensor & _original_local_config
Rotational transformation from global coordinate system to initial beam local configuration.
MaterialProperty< RankTwoTensor > & _total_rotation
Rotational transformation from global coordinate system to beam local configuration at time t...

◆ computeStiffnessMatrix()

void ComputeIncrementalBeamStrain::computeStiffnessMatrix ( )
protected

Computes the stiffness matrices.

Definition at line 348 of file ComputeIncrementalBeamStrain.C.

Referenced by computeProperties().

349 {
350  const Real youngs_modulus = _material_stiffness[0](0);
351  const Real shear_modulus = _material_stiffness[0](1);
352 
353  const Real A_avg = (_area[0] + _area[1]) / 2.0;
354  const Real Iy_avg = (_Iy[0] + _Iy[1]) / 2.0;
355  const Real Iz_avg = (_Iz[0] + _Iz[1]) / 2.0;
356  Real Ix_avg = (_Ix[0] + _Ix[1]) / 2.0;
357  if (!_has_Ix)
358  Ix_avg = Iy_avg + Iz_avg;
359 
360  // K = |K11 K12|
361  // |K21 K22|
362 
363  // relation between translational displacements at node 0 and translational forces at node 0
364  RankTwoTensor K11_local;
365  K11_local.zero();
366  K11_local(0, 0) = youngs_modulus * A_avg / _original_length[0];
367  K11_local(1, 1) = shear_modulus * A_avg / _original_length[0];
368  K11_local(2, 2) = shear_modulus * A_avg / _original_length[0];
369  _K11[0] = _total_rotation[0].transpose() * K11_local * _total_rotation[0];
370 
371  // relation between displacements at node 0 and rotational moments at node 0
372  RankTwoTensor K21_local;
373  K21_local.zero();
374  K21_local(2, 1) = shear_modulus * A_avg * 0.5;
375  K21_local(1, 2) = -shear_modulus * A_avg * 0.5;
376  _K21[0] = _total_rotation[0].transpose() * K21_local * _total_rotation[0];
377 
378  // relation between rotations at node 0 and rotational moments at node 0
379  RankTwoTensor K22_local;
380  K22_local.zero();
381  K22_local(0, 0) = shear_modulus * Ix_avg / _original_length[0];
382  K22_local(1, 1) = youngs_modulus * Iz_avg / _original_length[0] +
383  shear_modulus * A_avg * _original_length[0] / 4.0;
384  K22_local(2, 2) = youngs_modulus * Iy_avg / _original_length[0] +
385  shear_modulus * A_avg * _original_length[0] / 4.0;
386  _K22[0] = _total_rotation[0].transpose() * K22_local * _total_rotation[0];
387 
388  // relation between rotations at node 0 and rotational moments at node 1
389  RankTwoTensor K22_local_cross = -K22_local;
390  K22_local_cross(1, 1) += 2.0 * shear_modulus * A_avg * _original_length[0] / 4.0;
391  K22_local_cross(2, 2) += 2.0 * shear_modulus * A_avg * _original_length[0] / 4.0;
392  _K22_cross[0] = _total_rotation[0].transpose() * K22_local_cross * _total_rotation[0];
393 
394  // relation between displacements at node 0 and rotational moments at node 1
395  _K21_cross[0] = -_K21[0];
396 
397  // stiffness matrix for large strain
398  if (_large_strain)
399  {
400  // k1_large is the stiffness matrix obtained from sigma_xx * d(epsilon_xx)
401  RankTwoTensor k1_large_11;
402  // row 1
403  k1_large_11(0, 0) = Utility::pow<2>(_grad_disp_0_local_t(0)) +
404  1.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg +
405  1.5 * Utility::pow<2>(_grad_rot_0_local_t(1)) * Iz_avg +
406  0.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) +
407  0.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) +
408  0.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Ix_avg;
409  k1_large_11(1, 0) = 0.5 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(1) -
410  1.0 / 3.0 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(1) * Iz_avg;
411  k1_large_11(2, 0) = 0.5 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(2) -
412  1.0 / 3.0 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(2) * Iy_avg;
413 
414  // row 2
415  k1_large_11(0, 1) = k1_large_11(1, 0);
416  k1_large_11(1, 1) = Utility::pow<2>(_grad_disp_0_local_t(1)) +
417  1.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iz_avg +
418  0.5 * Utility::pow<2>(_grad_disp_0_local_t(0)) +
419  0.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) +
420  0.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg +
421  0.5 * Utility::pow<2>(_grad_rot_0_local_t(1)) * Iz_avg +
422  0.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iy_avg;
423  k1_large_11(2, 1) = 0.5 * _grad_disp_0_local_t(1) * _grad_disp_0_local_t(2);
424 
425  // row 3
426  k1_large_11(0, 2) = k1_large_11(2, 0);
427  k1_large_11(1, 2) = k1_large_11(2, 1);
428  k1_large_11(2, 2) = Utility::pow<2>(_grad_disp_0_local_t(2)) +
429  1.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iy_avg +
430  0.5 * Utility::pow<2>(_grad_disp_0_local_t(0)) +
431  0.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) +
432  0.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iz_avg +
433  0.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg +
434  0.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iz_avg;
435 
436  k1_large_11 *= 1.0 / 4.0 / Utility::pow<2>(_original_length[0]);
437 
438  RankTwoTensor k1_large_21;
439  // row 1
440  k1_large_21(0, 0) = 0.5 * _grad_disp_0_local_t(0) * _grad_rot_0_local_t(0) * (Ix_avg)-1.0 /
441  3.0 * _grad_disp_0_local_t(1) * _grad_rot_0_local_t(1) * Iz_avg -
442  1.0 / 3.0 * _grad_disp_0_local_t(2) * _grad_rot_0_local_t(2);
443  k1_large_21(1, 0) = 1.5 * _grad_disp_0_local_t(0) * _grad_rot_0_local_t(1) * Iz_avg -
444  1.0 / 3.0 * _grad_disp_0_local_t(1) * _grad_rot_0_local_t(0) * Iz_avg;
445  k1_large_21(2, 0) = 1.5 * _grad_disp_0_local_t(0) * _grad_rot_0_local_t(2) * Iy_avg -
446  1.0 / 3.0 * _grad_disp_0_local_t(2) * _grad_rot_0_local_t(0) * Iy_avg;
447 
448  // row 2
449  k1_large_21(0, 1) = k1_large_21(1, 0);
450  k1_large_21(1, 1) = 0.5 * _grad_disp_0_local_t(1) * _grad_rot_0_local_t(1) * Iz_avg -
451  1.0 / 3.0 * _grad_disp_0_local_t(0) * _grad_rot_0_local_t(0) * Iz_avg;
452  k1_large_21(2, 1) = 0.5 * _grad_disp_0_local_t(1) * _grad_rot_0_local_t(2) * Iy_avg;
453 
454  // row 3
455  k1_large_21(0, 2) = k1_large_21(2, 0);
456  k1_large_21(1, 2) = k1_large_21(2, 1);
457  k1_large_21(2, 2) = 0.5 * _grad_disp_0_local_t(2) * _grad_rot_0_local_t(2) * Iy_avg -
458  1.0 / 3.0 * _grad_disp_0_local_t(0) * _grad_rot_0_local_t(0) * Iy_avg;
459  k1_large_21 *= 1.0 / 4.0 / Utility::pow<2>(_original_length[0]);
460 
461  RankTwoTensor k1_large_22;
462  // row 1
463  k1_large_22(0, 0) = Utility::pow<2>(_grad_rot_0_local_t(0)) * Utility::pow<2>(Ix_avg) +
464  1.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) * Iz_avg +
465  1.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) * Iy_avg +
466  0.5 * Utility::pow<2>(_grad_disp_0_local_t(0)) * Ix_avg +
467  0.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) * Iz_avg +
468  0.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) * Iy_avg +
469  0.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg * Ix_avg +
470  0.5 * Utility::pow<2>(_grad_rot_0_local_t(1)) * Iz_avg * Ix_avg;
471  k1_large_22(1, 0) = 0.5 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(1) * Iz_avg * Ix_avg -
472  1.0 / 3.0 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(1) * Iz_avg;
473  k1_large_22(2, 0) = 0.5 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(2) * Iy_avg * Ix_avg -
474  1.0 / 3.0 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(2) * Iy_avg;
475 
476  // row 2
477  k1_large_22(0, 1) = k1_large_22(1, 0);
478  k1_large_22(1, 1) = Utility::pow<2>(_grad_rot_0_local_t(1)) * Iz_avg * Iz_avg +
479  1.5 * Utility::pow<2>(_grad_disp_0_local_t(0)) * Iz_avg +
480  1.5 * Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg * Iz_avg +
481  0.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) * Iz_avg +
482  0.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) * Iz_avg +
483  0.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iz_avg * Ix_avg;
484  k1_large_22(2, 1) = 1.5 * _grad_rot_0_local_t(1) * _grad_rot_0_local_t(2) * Iy_avg * Iz_avg;
485 
486  // row 3
487  k1_large_22(0, 2) = k1_large_22(2, 0);
488  k1_large_22(1, 2) = k1_large_22(2, 1);
489  k1_large_22(2, 2) = Utility::pow<2>(_grad_rot_0_local_t(2)) * Iy_avg * Iy_avg +
490  1.5 * Utility::pow<2>(_grad_disp_0_local_t(0)) * Iy_avg +
491  1.5 * Utility::pow<2>(_grad_rot_0_local_t(1)) * Iy_avg * Iz_avg +
492  0.5 * Utility::pow<2>(_grad_disp_0_local_t(1)) * Iy_avg +
493  0.5 * Utility::pow<2>(_grad_disp_0_local_t(2)) * Iy_avg +
494  0.5 * Utility::pow<2>(_grad_rot_0_local_t(0)) * Iz_avg * Ix_avg;
495 
496  k1_large_22 *= 1.0 / 4.0 / Utility::pow<2>(_original_length[0]);
497 
498  // k2_large and k3_large are contributions from tau_xy * d(gamma_xy) and tau_xz * d(gamma_xz)
499  // k2_large for node 1 is negative of that for node 0
500  RankTwoTensor k2_large_11;
501  // col 1
502  k2_large_11(0, 0) =
503  0.25 * Utility::pow<2>(_avg_rot_local_t(2)) + 0.25 * Utility::pow<2>(_avg_rot_local_t(1));
504  k2_large_11(1, 0) = -1.0 / 6.0 * _avg_rot_local_t(0) * _avg_rot_local_t(1);
505  k2_large_11(2, 0) = -1.0 / 6.0 * _avg_rot_local_t(0) * _avg_rot_local_t(2);
506 
507  // col 2
508  k2_large_11(0, 1) = k2_large_11(1, 0);
509  k2_large_11(1, 1) = 0.25 * _avg_rot_local_t(0);
510 
511  // col 3
512  k2_large_11(0, 2) = k2_large_11(2, 0);
513  k2_large_11(2, 2) = 0.25 * Utility::pow<2>(_avg_rot_local_t(0));
514 
515  k2_large_11 *= 1.0 / 4.0 / Utility::pow<2>(_original_length[0]);
516 
517  RankTwoTensor k2_large_22;
518  // col1
519  k2_large_22(0, 0) = 0.25 * Utility::pow<2>(_avg_rot_local_t(0)) * Ix_avg;
520  k2_large_22(1, 0) = 1.0 / 6.0 * _avg_rot_local_t(0) * _avg_rot_local_t(1) * Iz_avg;
521  k2_large_22(2, 0) = 1.0 / 6.0 * _avg_rot_local_t(0) * _avg_rot_local_t(2) * Iy_avg;
522 
523  // col2
524  k2_large_22(0, 1) = k2_large_22(1, 0);
525  k2_large_22(1, 1) = 0.25 * Utility::pow<2>(_avg_rot_local_t(2)) * Iz_avg +
526  0.25 * Utility::pow<2>(_avg_rot_local_t(1)) * Iz_avg;
527 
528  // col3
529  k2_large_22(0, 2) = k2_large_22(2, 0);
530  k2_large_22(2, 2) = 0.25 * Utility::pow<2>(_avg_rot_local_t(2)) * Iy_avg +
531  0.25 * Utility::pow<2>(_avg_rot_local_t(1)) * Iy_avg;
532 
533  k2_large_22 *= 1.0 / 4.0 / Utility::pow<2>(_original_length[0]);
534 
535  // k3_large for node 1 is same as that for node 0
536  RankTwoTensor k3_large_22;
537  // col1
538  k3_large_22(0, 0) = 0.25 * Utility::pow<2>(_grad_disp_0_local_t(2)) +
539  0.25 * _grad_rot_0_local_t(0) * Ix_avg +
540  0.25 * Utility::pow<2>(_grad_disp_0_local_t(1));
541  k3_large_22(1, 0) = -1.0 / 6.0 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(1) +
542  1.0 / 6.0 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(1) * Iz_avg;
543  k3_large_22(2, 0) = -1.0 / 6.0 * _grad_disp_0_local_t(0) * _grad_disp_0_local_t(2) +
544  1.0 / 6.0 * _grad_rot_0_local_t(0) * _grad_rot_0_local_t(2) * Iy_avg;
545 
546  // col2
547  k3_large_22(0, 1) = k3_large_22(1, 0);
548  k3_large_22(2, 2) = 0.25 * Utility::pow<2>(_grad_disp_0_local_t(0)) +
549  0.25 * _grad_rot_0_local_t(2) * Iy_avg +
550  0.25 * _grad_rot_0_local_t(1) * Iz_avg;
551 
552  // col3
553  k3_large_22(0, 2) = k3_large_22(2, 0);
554  k3_large_22(2, 2) = 0.25 * Utility::pow<2>(_grad_disp_0_local_t(0)) +
555  0.25 * _grad_rot_0_local_t(2) * Iy_avg +
556  0.25 * _grad_rot_0_local_t(1) * Iz_avg;
557 
558  k3_large_22 *= 1.0 / 16.0;
559 
560  RankTwoTensor k3_large_21;
561  // col1
562  k3_large_21(0, 0) = -1.0 / 6.0 *
565  k3_large_21(1, 0) = 0.25 * _grad_disp_0_local_t(0) * _avg_rot_local_t(1) -
566  1.0 / 6.0 * _grad_disp_0_local_t(1) * _avg_rot_local_t(0);
567  k3_large_21(2, 0) = 0.25 * _grad_disp_0_local_t(0) * _avg_rot_local_t(2) -
568  1.0 / 6.0 * _grad_disp_0_local_t(2) * _avg_rot_local_t(0);
569 
570  // col2
571  k3_large_21(0, 1) = 0.25 * _grad_disp_0_local_t(1) * _avg_rot_local_t(0) -
572  1.0 / 6.0 * _grad_disp_0_local_t(0) * _avg_rot_local_t(1);
573  k3_large_21(1, 1) = -1.0 / 6.0 * _grad_disp_0_local_t(0) * _avg_rot_local_t(0);
574 
575  // col3
576  k3_large_21(0, 2) = 0.25 * _grad_disp_0_local_t(2) * _avg_rot_local_t(0) -
577  1.0 / 6.0 * _grad_disp_0_local_t(0) * _avg_rot_local_t(2);
578  k3_large_21(2, 2) = -1.0 / 6.0 * _grad_disp_0_local_t(0) * _avg_rot_local_t(0);
579 
580  k3_large_21 *= 1.0 / 8.0 / _original_length[0];
581 
582  RankTwoTensor k4_large_22;
583  // col 1
584  k4_large_22(0, 0) = 0.25 * _grad_rot_0_local_t(0) * _avg_rot_local_t(0) * Ix_avg +
585  1.0 / 6.0 * _grad_rot_0_local_t(2) * _avg_rot_local_t(2) * Iy_avg +
586  1.0 / 6.0 * _grad_rot_0_local_t(1) * _avg_rot_local_t(1) * Iz_avg;
587  k4_large_22(1, 0) = 1.0 / 6.0 * _grad_rot_0_local_t(1) * _avg_rot_local_t(0) * Iz_avg;
588  k4_large_22(2, 0) = 1.0 / 6.0 * _grad_rot_0_local_t(2) * _avg_rot_local_t(0) * Iy_avg;
589 
590  // col2
591  k4_large_22(0, 1) = 1.0 / 6.0 * _grad_rot_0_local_t(0) * _avg_rot_local_t(1) * Iz_avg;
592  k4_large_22(1, 1) = 0.25 * _grad_rot_0_local_t(1) * _avg_rot_local_t(1) * Iz_avg +
593  1.0 / 6.0 * _grad_rot_0_local_t(0) * _avg_rot_local_t(0) * Iz_avg;
594  k4_large_22(2, 1) = 0.25 * _grad_rot_0_local_t(1) * _avg_rot_local_t(2) * Iz_avg;
595 
596  // col 3
597  k4_large_22(0, 2) = 1.0 / 6.0 * _grad_rot_0_local_t(0) * _avg_rot_local_t(2) * Iy_avg;
598  k4_large_22(1, 2) = 0.25 * _grad_rot_0_local_t(2) * _avg_rot_local_t(1) * Iy_avg;
599  k4_large_22(2, 2) = 0.25 * _grad_rot_0_local_t(2) * _avg_rot_local_t(2) * Iy_avg +
600  1.0 / 6.0 * _grad_rot_0_local_t(0) * _avg_rot_local_t(0) * Iy_avg;
601 
602  k3_large_22 += 1.0 / 8.0 / _original_length[0] * (k4_large_22 + k4_large_22.transpose());
603 
604  // Assembling final matrix
605  _K11[0] += _total_rotation[0].transpose() * (k1_large_11 + k2_large_11) * _total_rotation[0];
606  _K22[0] += _total_rotation[0].transpose() * (k1_large_22 + k2_large_22 + k3_large_22) *
607  _total_rotation[0];
608  _K21[0] += _total_rotation[0].transpose() * (k1_large_21 + k3_large_21) * _total_rotation[0];
609  _K21_cross[0] +=
610  _total_rotation[0].transpose() * (-k1_large_21 + k3_large_21) * _total_rotation[0];
611  _K22_cross[0] += _total_rotation[0].transpose() * (-k1_large_22 - k2_large_22 + k3_large_22) *
612  _total_rotation[0];
613  }
614 }
const VariableValue & _Iy
Coupled variable for the second moment of area in y direction, i.e., integral of y^2*dA over the cros...
MaterialProperty< RankTwoTensor > & _K21_cross
Stiffness matrix between displacement DOFs of one node to rotational DOFs of another node...
const VariableValue & _Iz
Coupled variable for the second moment of area in z direction, i.e., integral of z^2*dA over the cros...
MaterialProperty< RankTwoTensor > & _K22
Stiffness matrix between rotation DOFs of the same node.
RealVectorValue _avg_rot_local_t
Average rotation calculated in the beam local configuration at time t.
MaterialProperty< RankTwoTensor > & _K11
Stiffness matrix between displacement DOFs of same node or across nodes.
MaterialProperty< RankTwoTensor > & _K22_cross
Stiffness matrix between rotation DOFs of different nodes.
MaterialProperty< Real > & _original_length
Initial length of the beam.
const bool _has_Ix
Booleans for validity of params.
const MaterialProperty< RealVectorValue > & _material_stiffness
Material stiffness vector that relates displacement strain increments to force increments.
RankTwoTensorTempl< Real > transpose() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RealVectorValue _grad_rot_0_local_t
Gradient of rotation calculated in the beam local configuration at time t.
const VariableValue & _area
Coupled variable for the beam cross-sectional area.
const bool _large_strain
Boolean flag to turn on large strain calculation.
const VariableValue & _Ix
Coupled variable for the second moment of area in x direction, i.e., integral of (y^2 + z^2)*dA over ...
MaterialProperty< RankTwoTensor > & _total_rotation
Rotational transformation from global coordinate system to beam local configuration at time t...
MaterialProperty< RankTwoTensor > & _K21
Stiffness matrix between displacement DOFs and rotation DOFs of the same node.
RealVectorValue _grad_disp_0_local_t
Gradient of displacement calculated in the beam local configuration at time t.

◆ initQpStatefulProperties()

void ComputeIncrementalBeamStrain::initQpStatefulProperties ( )
overrideprotectedvirtual

Reimplemented from Material.

Definition at line 143 of file ComputeIncrementalBeamStrain.C.

144 {
145  // compute initial orientation of the beam for calculating initial rotation matrix
146  const std::vector<RealGradient> * orientation =
147  &_subproblem.assembly(_tid, _nonlinear_sys.number()).getFE(FEType(), 1)->get_dxyzdxi();
148  RealGradient x_orientation = (*orientation)[0];
149  x_orientation /= x_orientation.norm();
150 
151  RealGradient y_orientation = getParam<RealGradient>("y_orientation");
152  y_orientation /= y_orientation.norm();
153  Real sum = x_orientation(0) * y_orientation(0) + x_orientation(1) * y_orientation(1) +
154  x_orientation(2) * y_orientation(2);
155 
156  if (std::abs(sum) > 1e-4)
157  mooseError("ComputeIncrementalBeamStrain: y_orientation should be perpendicular to "
158  "the axis of the beam.");
159 
160  // Calculate z orientation as a cross product of the x and y orientations
161  RealGradient z_orientation;
162  z_orientation(0) = (x_orientation(1) * y_orientation(2) - x_orientation(2) * y_orientation(1));
163  z_orientation(1) = (x_orientation(2) * y_orientation(0) - x_orientation(0) * y_orientation(2));
164  z_orientation(2) = (x_orientation(0) * y_orientation(1) - x_orientation(1) * y_orientation(0));
165 
166  // Rotation matrix from global to original beam local configuration
167  _original_local_config(0, 0) = x_orientation(0);
168  _original_local_config(0, 1) = x_orientation(1);
169  _original_local_config(0, 2) = x_orientation(2);
170  _original_local_config(1, 0) = y_orientation(0);
171  _original_local_config(1, 1) = y_orientation(1);
172  _original_local_config(1, 2) = y_orientation(2);
173  _original_local_config(2, 0) = z_orientation(0);
174  _original_local_config(2, 1) = z_orientation(1);
175  _original_local_config(2, 2) = z_orientation(2);
176 
178 
179  RealVectorValue temp;
180  _total_disp_strain[_qp] = temp;
181  _total_rot_strain[_qp] = temp;
182 }
MaterialProperty< RealVectorValue > & _total_disp_strain
Current total displacement strain integrated over the cross-section in global coordinate system...
RankTwoTensor & _original_local_config
Rotational transformation from global coordinate system to initial beam local configuration.
auto norm() const -> decltype(std::norm(Real()))
SubProblem & _subproblem
MaterialProperty< RealVectorValue > & _total_rot_strain
Current total rotational strain integrated over the cross-section in global coordinate system...
NonlinearSystemBase & _nonlinear_sys
Reference to the nonlinear system object.
unsigned int _qp
THREAD_ID _tid
unsigned int number() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num)=0
void mooseError(Args &&... args) const
MaterialProperty< RankTwoTensor > & _total_rotation
Rotational transformation from global coordinate system to beam local configuration at time t...

◆ validParams()

InputParameters ComputeIncrementalBeamStrain::validParams ( )
static

Definition at line 23 of file ComputeIncrementalBeamStrain.C.

Referenced by ComputeFiniteBeamStrain::validParams().

24 {
26  params.addClassDescription("Compute a infinitesimal/large strain increment for the beam.");
27  params.addRequiredCoupledVar(
28  "rotations", "The rotations appropriate for the simulation geometry and coordinate system");
29  params.addRequiredCoupledVar(
30  "displacements",
31  "The displacements appropriate for the simulation geometry and coordinate system");
32  params.addRequiredParam<RealGradient>("y_orientation",
33  "Orientation of the y direction along "
34  "with Iyy is provided. This should be "
35  "perpendicular to the axis of the beam.");
36  params.addRequiredCoupledVar(
37  "area",
38  "Cross-section area of the beam. Can be supplied as either a number or a variable name.");
39  params.addCoupledVar("Ay",
40  0.0,
41  "First moment of area of the beam about y axis. Can be supplied "
42  "as either a number or a variable name.");
43  params.addCoupledVar("Az",
44  0.0,
45  "First moment of area of the beam about z axis. Can be supplied "
46  "as either a number or a variable name.");
47  params.addCoupledVar("Ix",
48  "Second moment of area of the beam about x axis. Can be "
49  "supplied as either a number or a variable name. Defaults to Iy+Iz.");
50  params.addRequiredCoupledVar("Iy",
51  "Second moment of area of the beam about y axis. Can be "
52  "supplied as either a number or a variable name.");
53  params.addRequiredCoupledVar("Iz",
54  "Second moment of area of the beam about z axis. Can be "
55  "supplied as either a number or a variable name.");
56  params.addParam<bool>("large_strain", false, "Set to true if large strain are to be calculated.");
57  params.addParam<std::vector<MaterialPropertyName>>(
58  "eigenstrain_names",
59  {},
60  "List of beam eigenstrains to be applied in this strain calculation.");
61  params.addParam<FunctionName>(
62  "elasticity_prefactor",
63  "Optional function to use as a scalar prefactor on the elasticity vector for the beam.");
64  return params;
65 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
static InputParameters validParams()
void addCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _area

const VariableValue& ComputeIncrementalBeamStrain::_area
protected

Coupled variable for the beam cross-sectional area.

Definition at line 59 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _avg_rot_local_t

RealVectorValue ComputeIncrementalBeamStrain::_avg_rot_local_t
protected

Average rotation calculated in the beam local configuration at time t.

Definition at line 131 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _Ay

const VariableValue& ComputeIncrementalBeamStrain::_Ay
protected

Coupled variable for the first moment of area in y direction, i.e., integral of y*dA over the cross-section.

Definition at line 62 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _Az

const VariableValue& ComputeIncrementalBeamStrain::_Az
protected

Coupled variable for the first moment of area in z direction, i.e., integral of z*dA over the cross-section.

Definition at line 65 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _disp0

RealVectorValue ComputeIncrementalBeamStrain::_disp0
protected

Displacement and rotations at the two nodes of the beam in the global coordinate system.

Definition at line 149 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties(), computeQpStrain(), and ComputeFiniteBeamStrain::computeRotation().

◆ _disp1

RealVectorValue ComputeIncrementalBeamStrain::_disp1
protected

◆ _disp_eigenstrain

std::vector<const MaterialProperty<RealVectorValue> *> ComputeIncrementalBeamStrain::_disp_eigenstrain
protected

Vector of current displacement eigenstrains.

Definition at line 137 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _disp_eigenstrain_old

std::vector<const MaterialProperty<RealVectorValue> *> ComputeIncrementalBeamStrain::_disp_eigenstrain_old
protected

Vector of old displacement eigenstrains.

Definition at line 143 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _disp_num

std::vector<unsigned int> ComputeIncrementalBeamStrain::_disp_num
protected

Variable numbers corresponding to the displacement variables.

Definition at line 56 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeProperties().

◆ _effective_stiffness

MaterialProperty<Real>& ComputeIncrementalBeamStrain::_effective_stiffness
protected

Psuedo stiffness for critical time step computation.

Definition at line 169 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain().

◆ _eigenstrain_names

std::vector<MaterialPropertyName> ComputeIncrementalBeamStrain::_eigenstrain_names
protected

Vector of beam eigenstrain names.

Definition at line 134 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _grad_disp_0_local_t

RealVectorValue ComputeIncrementalBeamStrain::_grad_disp_0_local_t
protected

Gradient of displacement calculated in the beam local configuration at time t.

Definition at line 125 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _grad_rot_0_local_t

RealVectorValue ComputeIncrementalBeamStrain::_grad_rot_0_local_t
protected

Gradient of rotation calculated in the beam local configuration at time t.

Definition at line 128 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _has_Ix

const bool ComputeIncrementalBeamStrain::_has_Ix
protected

Booleans for validity of params.

Definition at line 44 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _initial_rotation

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_initial_rotation
protected

Rotational transformation from global coordinate system to initial beam local configuration.

Definition at line 166 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties().

◆ _Ix

const VariableValue& ComputeIncrementalBeamStrain::_Ix
protected

Coupled variable for the second moment of area in x direction, i.e., integral of (y^2 + z^2)*dA over the cross-section.

Definition at line 74 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _Iy

const VariableValue& ComputeIncrementalBeamStrain::_Iy
protected

Coupled variable for the second moment of area in y direction, i.e., integral of y^2*dA over the cross-section.

Definition at line 68 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _Iz

const VariableValue& ComputeIncrementalBeamStrain::_Iz
protected

Coupled variable for the second moment of area in z direction, i.e., integral of z^2*dA over the cross-section.

Definition at line 71 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _K11

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_K11
protected

Stiffness matrix between displacement DOFs of same node or across nodes.

Definition at line 107 of file ComputeIncrementalBeamStrain.h.

Referenced by computeStiffnessMatrix().

◆ _K21

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_K21
protected

Stiffness matrix between displacement DOFs and rotation DOFs of the same node.

Definition at line 113 of file ComputeIncrementalBeamStrain.h.

Referenced by computeStiffnessMatrix().

◆ _K21_cross

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_K21_cross
protected

Stiffness matrix between displacement DOFs of one node to rotational DOFs of another node.

Definition at line 110 of file ComputeIncrementalBeamStrain.h.

Referenced by computeStiffnessMatrix().

◆ _K22

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_K22
protected

Stiffness matrix between rotation DOFs of the same node.

Definition at line 116 of file ComputeIncrementalBeamStrain.h.

Referenced by computeStiffnessMatrix().

◆ _K22_cross

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_K22_cross
protected

Stiffness matrix between rotation DOFs of different nodes.

Definition at line 119 of file ComputeIncrementalBeamStrain.h.

Referenced by computeStiffnessMatrix().

◆ _large_strain

const bool ComputeIncrementalBeamStrain::_large_strain
protected

Boolean flag to turn on large strain calculation.

Definition at line 122 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), computeQpStrain(), and computeStiffnessMatrix().

◆ _material_stiffness

const MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_material_stiffness
protected

Material stiffness vector that relates displacement strain increments to force increments.

Definition at line 104 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and computeStiffnessMatrix().

◆ _mech_disp_strain_increment

MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_mech_disp_strain_increment
protected

Mechanical displacement strain increment (after removal of eigenstrains) integrated over the cross-section.

Definition at line 98 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain().

◆ _mech_rot_strain_increment

MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_mech_rot_strain_increment
protected

Mechanical rotation strain increment (after removal of eigenstrains) integrated over the cross-section.

Definition at line 101 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain().

◆ _ndisp

unsigned int ComputeIncrementalBeamStrain::_ndisp
protected

Number of coupled displacement variables.

Definition at line 50 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeProperties().

◆ _nonlinear_sys

NonlinearSystemBase& ComputeIncrementalBeamStrain::_nonlinear_sys
protected

Reference to the nonlinear system object.

Definition at line 152 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties(), and initQpStatefulProperties().

◆ _nrot

unsigned int ComputeIncrementalBeamStrain::_nrot
protected

Number of coupled rotational variables.

Definition at line 47 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain().

◆ _original_length

MaterialProperty<Real>& ComputeIncrementalBeamStrain::_original_length
protected

◆ _original_local_config

RankTwoTensor& ComputeIncrementalBeamStrain::_original_local_config
protected

Rotational transformation from global coordinate system to initial beam local configuration.

Definition at line 77 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties(), computeRotation(), and initQpStatefulProperties().

◆ _prefactor_function

const Function* const ComputeIncrementalBeamStrain::_prefactor_function
protected

Prefactor function to multiply the elasticity tensor with.

Definition at line 172 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain().

◆ _rot0

RealVectorValue ComputeIncrementalBeamStrain::_rot0
protected

◆ _rot1

RealVectorValue ComputeIncrementalBeamStrain::_rot1
protected

◆ _rot_eigenstrain

std::vector<const MaterialProperty<RealVectorValue> *> ComputeIncrementalBeamStrain::_rot_eigenstrain
protected

Vector of current rotational eigenstrains.

Definition at line 140 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _rot_eigenstrain_old

std::vector<const MaterialProperty<RealVectorValue> *> ComputeIncrementalBeamStrain::_rot_eigenstrain_old
protected

Vector of old rotational eigenstrains.

Definition at line 146 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeQpStrain().

◆ _rot_num

std::vector<unsigned int> ComputeIncrementalBeamStrain::_rot_num
protected

Variable numbers corresponding to the rotational variables.

Definition at line 53 of file ComputeIncrementalBeamStrain.h.

Referenced by ComputeIncrementalBeamStrain(), and computeProperties().

◆ _soln_disp_index_0

std::vector<unsigned int> ComputeIncrementalBeamStrain::_soln_disp_index_0
protected

Indices of solution vector corresponding to displacement DOFs at the node 0.

Definition at line 154 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties().

◆ _soln_disp_index_1

std::vector<unsigned int> ComputeIncrementalBeamStrain::_soln_disp_index_1
protected

Indices of solution vector corresponding to displacement DOFs at the node 1.

Definition at line 157 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties().

◆ _soln_rot_index_0

std::vector<unsigned int> ComputeIncrementalBeamStrain::_soln_rot_index_0
protected

Indices of solution vector corresponding to rotation DOFs at the node 0.

Definition at line 160 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties().

◆ _soln_rot_index_1

std::vector<unsigned int> ComputeIncrementalBeamStrain::_soln_rot_index_1
protected

Indices of solution vector corresponding to rotation DOFs at the node 1.

Definition at line 163 of file ComputeIncrementalBeamStrain.h.

Referenced by computeProperties().

◆ _total_disp_strain

MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_total_disp_strain
protected

Current total displacement strain integrated over the cross-section in global coordinate system.

Definition at line 86 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and initQpStatefulProperties().

◆ _total_disp_strain_old

const MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_total_disp_strain_old
protected

Old total displacement strain integrated over the cross-section in global coordinate system.

Definition at line 92 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain().

◆ _total_rot_strain

MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_total_rot_strain
protected

Current total rotational strain integrated over the cross-section in global coordinate system.

Definition at line 89 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), and initQpStatefulProperties().

◆ _total_rot_strain_old

const MaterialProperty<RealVectorValue>& ComputeIncrementalBeamStrain::_total_rot_strain_old
protected

Old total rotational strain integrated over the cross-section in global coordinate system.

Definition at line 95 of file ComputeIncrementalBeamStrain.h.

◆ _total_rotation

MaterialProperty<RankTwoTensor>& ComputeIncrementalBeamStrain::_total_rotation
protected

Rotational transformation from global coordinate system to beam local configuration at time t.

Definition at line 83 of file ComputeIncrementalBeamStrain.h.

Referenced by computeQpStrain(), ComputeFiniteBeamStrain::computeRotation(), computeRotation(), computeStiffnessMatrix(), and initQpStatefulProperties().


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