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

#include <GlobalDisplacementAux.h>

Inheritance diagram for GlobalDisplacementAux:
[legend]

Public Member Functions

 GlobalDisplacementAux (const InputParameters &parameters)
 
virtual Real computeValue () override
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

const VariableValue & _scalar_global_strain
 
const unsigned int _component
 
bool _output_global_disp
 
const GlobalStrainUserObjectInterface_pst
 
const VectorValue< bool > & _periodic_dir
 
const Point _ref_point
 
const unsigned int _dim
 
const unsigned int _ndisp
 
std::vector< const VariableValue * > _disp
 

Detailed Description

Definition at line 24 of file GlobalDisplacementAux.h.

Constructor & Destructor Documentation

◆ GlobalDisplacementAux()

GlobalDisplacementAux::GlobalDisplacementAux ( const InputParameters &  parameters)

Definition at line 48 of file GlobalDisplacementAux.C.

49  : AuxKernel(parameters),
50  _scalar_global_strain(coupledScalarValue("scalar_global_strain")),
51  _component(getParam<unsigned int>("component")),
52  _output_global_disp(getParam<bool>("output_global_displacement")),
53  _pst(getUserObject<GlobalStrainUserObjectInterface>("global_strain_uo")),
55  _ref_point(parameters.get<Point>("reference_point")),
56  _dim(_mesh.dimension()),
57  _ndisp(coupledComponents("displacements")),
58  _disp(_ndisp)
59 {
60  if (!isNodal())
61  paramError("variable", "GlobalDisplacementAux must be used on a nodal auxiliary variable");
62 
63  if (_component >= _dim)
64  paramError("component",
65  "The component ",
66  _component,
67  " does not exist for ",
68  _dim,
69  " dimensional problems");
70 
71  for (unsigned int i = 0; i < _ndisp; ++i)
72  _disp[i] = &coupledValue("displacements", i);
73 }

Member Function Documentation

◆ computeValue()

Real GlobalDisplacementAux::computeValue ( )
overridevirtual

Definition at line 76 of file GlobalDisplacementAux.C.

77 {
78  RankTwoTensor strain;
79  strain.fillFromScalarVariable(_scalar_global_strain);
80 
81  for (unsigned int dir = 0; dir < _dim; ++dir)
82  if (!_periodic_dir(dir))
83  for (unsigned int var = 0; var < _ndisp; ++var)
84  strain(dir, var) = 0.0;
85 
86  const RealVectorValue & global_disp = strain * ((*_current_node) - _ref_point);
87 
89  return global_disp(_component);
90  else
91  return global_disp(_component) + (*_disp[_component])[_qp];
92 }

◆ validParams()

InputParameters GlobalDisplacementAux::validParams ( )
static

Definition at line 23 of file GlobalDisplacementAux.C.

24 {
25  InputParameters params = AuxKernel::validParams();
26  params.addClassDescription(
27  "AuxKernel to visualize the displacements generated by the global strain tensor");
28  params.addCoupledVar("scalar_global_strain",
29  "Scalar variable providing global strain components");
30  params.addCoupledVar("displacements", "The name of the displacement variables");
31  params.addRequiredParam<unsigned int>("component",
32  "The displacement component to consider for this kernel");
33  params.addParam<bool>(
34  "output_global_displacement", false, "Option to output global displacement only");
35  params.addRequiredParam<UserObjectName>("global_strain_uo",
36  "The name of the GlobalStrainUserObject");
37  params.addParam<Point>("reference_point",
38  Point(0, 0, 0),
39  "The coordinate of the center/fixed point of the simulation");
40 
41  // Default this object to get executed before the displaced mesh update.
42  // This way the AuxVars set by this object can be used as mesh displacements.
43  params.set<ExecFlagEnum>("execute_on") = EXEC_PRE_DISPLACE;
44 
45  return params;
46 }

Member Data Documentation

◆ _component

const unsigned int GlobalDisplacementAux::_component
protected

Definition at line 35 of file GlobalDisplacementAux.h.

Referenced by computeValue(), and GlobalDisplacementAux().

◆ _dim

const unsigned int GlobalDisplacementAux::_dim
protected

Definition at line 43 of file GlobalDisplacementAux.h.

Referenced by computeValue(), and GlobalDisplacementAux().

◆ _disp

std::vector<const VariableValue *> GlobalDisplacementAux::_disp
protected

Definition at line 45 of file GlobalDisplacementAux.h.

Referenced by computeValue(), and GlobalDisplacementAux().

◆ _ndisp

const unsigned int GlobalDisplacementAux::_ndisp
protected

Definition at line 44 of file GlobalDisplacementAux.h.

Referenced by computeValue(), and GlobalDisplacementAux().

◆ _output_global_disp

bool GlobalDisplacementAux::_output_global_disp
protected

Definition at line 37 of file GlobalDisplacementAux.h.

Referenced by computeValue().

◆ _periodic_dir

const VectorValue<bool>& GlobalDisplacementAux::_periodic_dir
protected

Definition at line 40 of file GlobalDisplacementAux.h.

Referenced by computeValue().

◆ _pst

const GlobalStrainUserObjectInterface& GlobalDisplacementAux::_pst
protected

Definition at line 39 of file GlobalDisplacementAux.h.

◆ _ref_point

const Point GlobalDisplacementAux::_ref_point
protected

Definition at line 41 of file GlobalDisplacementAux.h.

Referenced by computeValue().

◆ _scalar_global_strain

const VariableValue& GlobalDisplacementAux::_scalar_global_strain
protected

Definition at line 34 of file GlobalDisplacementAux.h.

Referenced by computeValue().


The documentation for this class was generated from the following files:
GlobalDisplacementAux::_disp
std::vector< const VariableValue * > _disp
Definition: GlobalDisplacementAux.h:45
GlobalDisplacementAux::_ref_point
const Point _ref_point
Definition: GlobalDisplacementAux.h:41
GlobalDisplacementAux::_scalar_global_strain
const VariableValue & _scalar_global_strain
Definition: GlobalDisplacementAux.h:34
GlobalStrainUserObjectInterface::getPeriodicDirections
virtual const VectorValue< bool > & getPeriodicDirections() const =0
GlobalDisplacementAux::_ndisp
const unsigned int _ndisp
Definition: GlobalDisplacementAux.h:44
validParams
InputParameters validParams()
GlobalDisplacementAux::_component
const unsigned int _component
Definition: GlobalDisplacementAux.h:35
GlobalDisplacementAux::_dim
const unsigned int _dim
Definition: GlobalDisplacementAux.h:43
GlobalDisplacementAux::_output_global_disp
bool _output_global_disp
Definition: GlobalDisplacementAux.h:37
GlobalDisplacementAux::_periodic_dir
const VectorValue< bool > & _periodic_dir
Definition: GlobalDisplacementAux.h:40
RankTwoTensorTempl< Real >
GlobalDisplacementAux::_pst
const GlobalStrainUserObjectInterface & _pst
Definition: GlobalDisplacementAux.h:39