www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ComputeElasticityBeam Class Reference

#include <ComputeElasticityBeam.h>

Inheritance diagram for ComputeElasticityBeam:
[legend]

Public Member Functions

 ComputeElasticityBeam (const InputParameters &parameters)
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void computeQpProperties () override
 

Protected Attributes

MaterialProperty< RealVectorValue > & _material_stiffness
 Material stiffness vector that relates displacement strain increments to force increments. More...
 
MaterialProperty< RealVectorValue > & _material_flexure
 Material flexure vector that relates rotational strain increments to moment increments. More...
 
const Function *const _prefactor_function
 Prefactor function used to modify (i.e., multiply) the material stiffness and flexure vectors. More...
 
const VariableValue & _youngs_modulus
 Young's modulus of the beam material. More...
 
const VariableValue & _poissons_ratio
 Poisson's ratio of the beam material. More...
 
const VariableValue & _shear_coefficient
 Shear coefficient for the beam cross-section. More...
 

Detailed Description

Definition at line 24 of file ComputeElasticityBeam.h.

Constructor & Destructor Documentation

◆ ComputeElasticityBeam()

ComputeElasticityBeam::ComputeElasticityBeam ( const InputParameters &  parameters)

Definition at line 40 of file ComputeElasticityBeam.C.

41  : Material(parameters),
42  _material_stiffness(declareProperty<RealVectorValue>("material_stiffness")),
43  _material_flexure(declareProperty<RealVectorValue>("material_flexure")),
44  _prefactor_function(isParamValid("elasticity_prefactor") ? &getFunction("elasticity_prefactor")
45  : nullptr),
46  _youngs_modulus(coupledValue("youngs_modulus")),
47  _poissons_ratio(coupledValue("poissons_ratio")),
48  _shear_coefficient(coupledValue("shear_coefficient"))
49 {
50 }

Member Function Documentation

◆ computeQpProperties()

void ComputeElasticityBeam::computeQpProperties ( )
overrideprotectedvirtual

Definition at line 53 of file ComputeElasticityBeam.C.

54 {
55  const Real shear_modulus = _youngs_modulus[_qp] / (2.0 * (1.0 + _poissons_ratio[_qp]));
56 
57  // material_stiffness relates the translational strains to forces
58  _material_stiffness[_qp](0) = _youngs_modulus[_qp];
59  _material_stiffness[_qp](1) = _shear_coefficient[_qp] * shear_modulus;
60  _material_stiffness[_qp](2) = _material_stiffness[_qp](1);
61 
62  // material_flexure relates the rotational strains to moments
63  _material_flexure[_qp](0) = _shear_coefficient[_qp] * shear_modulus;
64  _material_flexure[_qp](1) = _youngs_modulus[_qp];
65  _material_flexure[_qp](2) = _material_flexure[_qp](1);
66 
67  // Multiply by prefactor
69  {
70  _material_stiffness[_qp] *= _prefactor_function->value(_t, _q_point[_qp]);
71  _material_flexure[_qp] *= _prefactor_function->value(_t, _q_point[_qp]);
72  }
73 }

◆ validParams()

InputParameters ComputeElasticityBeam::validParams ( )
static

Definition at line 18 of file ComputeElasticityBeam.C.

19 {
20  InputParameters params = Material::validParams();
21  params.addClassDescription("Computes the equivalent of the elasticity tensor for the beam "
22  "element, which are vectors of material translational and flexural "
23  "stiffness.");
24  params.addParam<FunctionName>(
25  "elasticity_prefactor",
26  "Optional function to use as a scalar prefactor on the elasticity vector for the beam.");
27  params.addRequiredCoupledVar(
28  "youngs_modulus",
29  "Young's modulus of the material. Can be supplied as either a number or a variable name.");
30  params.addRequiredCoupledVar(
31  "poissons_ratio",
32  "Poisson's ratio of the material. Can be supplied as either a number or a variable name.");
33  params.addCoupledVar(
34  "shear_coefficient",
35  1.0,
36  "Scale factor for the shear modulus. Can be supplied as either a number or a variable name.");
37  return params;
38 }

Member Data Documentation

◆ _material_flexure

MaterialProperty<RealVectorValue>& ComputeElasticityBeam::_material_flexure
protected

Material flexure vector that relates rotational strain increments to moment increments.

Definition at line 38 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().

◆ _material_stiffness

MaterialProperty<RealVectorValue>& ComputeElasticityBeam::_material_stiffness
protected

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

Definition at line 35 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().

◆ _poissons_ratio

const VariableValue& ComputeElasticityBeam::_poissons_ratio
protected

Poisson's ratio of the beam material.

Definition at line 47 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().

◆ _prefactor_function

const Function* const ComputeElasticityBeam::_prefactor_function
protected

Prefactor function used to modify (i.e., multiply) the material stiffness and flexure vectors.

Definition at line 41 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().

◆ _shear_coefficient

const VariableValue& ComputeElasticityBeam::_shear_coefficient
protected

Shear coefficient for the beam cross-section.

Definition at line 50 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().

◆ _youngs_modulus

const VariableValue& ComputeElasticityBeam::_youngs_modulus
protected

Young's modulus of the beam material.

Definition at line 44 of file ComputeElasticityBeam.h.

Referenced by computeQpProperties().


The documentation for this class was generated from the following files:
ComputeElasticityBeam::_prefactor_function
const Function *const _prefactor_function
Prefactor function used to modify (i.e., multiply) the material stiffness and flexure vectors.
Definition: ComputeElasticityBeam.h:41
ComputeElasticityBeam::_youngs_modulus
const VariableValue & _youngs_modulus
Young's modulus of the beam material.
Definition: ComputeElasticityBeam.h:44
ComputeElasticityBeam::_shear_coefficient
const VariableValue & _shear_coefficient
Shear coefficient for the beam cross-section.
Definition: ComputeElasticityBeam.h:50
ComputeElasticityBeam::_poissons_ratio
const VariableValue & _poissons_ratio
Poisson's ratio of the beam material.
Definition: ComputeElasticityBeam.h:47
validParams
InputParameters validParams()
ComputeElasticityBeam::_material_stiffness
MaterialProperty< RealVectorValue > & _material_stiffness
Material stiffness vector that relates displacement strain increments to force increments.
Definition: ComputeElasticityBeam.h:35
ComputeElasticityBeam::_material_flexure
MaterialProperty< RealVectorValue > & _material_flexure
Material flexure vector that relates rotational strain increments to moment increments.
Definition: ComputeElasticityBeam.h:38