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

ComputeGlobalStrain calculates the global strain tensor from the scalar variables. More...

#include <ComputeGlobalStrain.h>

Inheritance diagram for ComputeGlobalStrain:
[legend]

Public Member Functions

 ComputeGlobalStrain (const InputParameters &parameters)
 
virtual void computeProperties ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

virtual void initQpStatefulProperties ()
 

Protected Attributes

const std::string _base_name
 Base name prepended to material property name. More...
 
const VariableValue & _scalar_global_strain
 
MaterialProperty< RankTwoTensor > & _global_strain
 
const GlobalStrainUserObjectInterface_pst
 
const VectorValue< bool > & _periodic_dir
 
const unsigned int _dim
 
const unsigned int _ndisp
 

Detailed Description

ComputeGlobalStrain calculates the global strain tensor from the scalar variables.

Definition at line 27 of file ComputeGlobalStrain.h.

Constructor & Destructor Documentation

◆ ComputeGlobalStrain()

ComputeGlobalStrain::ComputeGlobalStrain ( const InputParameters &  parameters)

Definition at line 38 of file ComputeGlobalStrain.C.

39  : Material(parameters),
40  _base_name(isParamValid("base_name") ? getParam<std::string>("base_name") + "_" : ""),
41  _scalar_global_strain(coupledScalarValue("scalar_global_strain")),
42  _global_strain(declareProperty<RankTwoTensor>(_base_name + "global_strain")),
43  _pst(getUserObject<GlobalStrainUserObjectInterface>("global_strain_uo")),
45  _dim(_mesh.dimension()),
46  _ndisp(coupledComponents("displacements"))
47 {
48 }

Member Function Documentation

◆ computeProperties()

void ComputeGlobalStrain::computeProperties ( )
virtual

Definition at line 57 of file ComputeGlobalStrain.C.

58 {
59  RankTwoTensor & strain = _global_strain[0];
60  strain.fillFromScalarVariable(_scalar_global_strain);
61 
62  for (unsigned int dir = 0; dir < _dim; ++dir)
63  if (!_periodic_dir(dir))
64  for (unsigned int var = 0; var < _ndisp; ++var)
65  strain(dir, var) = 0.0;
66 
67  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
68  _global_strain[_qp] = strain;
69 }

◆ initQpStatefulProperties()

void ComputeGlobalStrain::initQpStatefulProperties ( )
protectedvirtual

Definition at line 51 of file ComputeGlobalStrain.C.

52 {
53  _global_strain[_qp].zero();
54 }

◆ validParams()

InputParameters ComputeGlobalStrain::validParams ( )
static

Definition at line 21 of file ComputeGlobalStrain.C.

22 {
23  InputParameters params = Material::validParams();
24  params.addClassDescription(
25  "Material for storing the global strain values from the scalar variable");
26  params.addParam<std::string>("base_name",
27  "Optional parameter that allows the user to define "
28  "multiple mechanics material systems on the same "
29  "block, i.e. for multiple phases");
30  params.addCoupledVar("scalar_global_strain", "Scalar variable for global strain");
31  params.addCoupledVar("displacements", "The name of the displacement variables");
32  params.addRequiredParam<UserObjectName>("global_strain_uo",
33  "The name of the GlobalStrainUserObject");
34 
35  return params;
36 }

Member Data Documentation

◆ _base_name

const std::string ComputeGlobalStrain::_base_name
protected

Base name prepended to material property name.

Definition at line 40 of file ComputeGlobalStrain.h.

◆ _dim

const unsigned int ComputeGlobalStrain::_dim
protected

Definition at line 47 of file ComputeGlobalStrain.h.

Referenced by computeProperties().

◆ _global_strain

MaterialProperty<RankTwoTensor>& ComputeGlobalStrain::_global_strain
protected

Definition at line 42 of file ComputeGlobalStrain.h.

Referenced by computeProperties(), and initQpStatefulProperties().

◆ _ndisp

const unsigned int ComputeGlobalStrain::_ndisp
protected

Definition at line 48 of file ComputeGlobalStrain.h.

Referenced by computeProperties().

◆ _periodic_dir

const VectorValue<bool>& ComputeGlobalStrain::_periodic_dir
protected

Definition at line 45 of file ComputeGlobalStrain.h.

Referenced by computeProperties().

◆ _pst

const GlobalStrainUserObjectInterface& ComputeGlobalStrain::_pst
protected

Definition at line 44 of file ComputeGlobalStrain.h.

◆ _scalar_global_strain

const VariableValue& ComputeGlobalStrain::_scalar_global_strain
protected

Definition at line 41 of file ComputeGlobalStrain.h.

Referenced by computeProperties().


The documentation for this class was generated from the following files:
ComputeGlobalStrain::_base_name
const std::string _base_name
Base name prepended to material property name.
Definition: ComputeGlobalStrain.h:40
GlobalStrainUserObjectInterface::getPeriodicDirections
virtual const VectorValue< bool > & getPeriodicDirections() const =0
ComputeGlobalStrain::_global_strain
MaterialProperty< RankTwoTensor > & _global_strain
Definition: ComputeGlobalStrain.h:42
validParams
InputParameters validParams()
ComputeGlobalStrain::_pst
const GlobalStrainUserObjectInterface & _pst
Definition: ComputeGlobalStrain.h:44
ComputeGlobalStrain::_dim
const unsigned int _dim
Definition: ComputeGlobalStrain.h:47
ComputeGlobalStrain::_scalar_global_strain
const VariableValue & _scalar_global_strain
Definition: ComputeGlobalStrain.h:41
RankTwoTensorTempl< Real >
ComputeGlobalStrain::_ndisp
const unsigned int _ndisp
Definition: ComputeGlobalStrain.h:48
ComputeGlobalStrain::_periodic_dir
const VectorValue< bool > & _periodic_dir
Definition: ComputeGlobalStrain.h:45