www.mooseframework.org
ComputeAxisymmetric1DFiniteStrain.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef COMPUTEAXISYMMETRIC1DFINITESTRAIN_H
8 #define COMPUTEAXISYMMETRIC1DFINITESTRAIN_H
9 
10 #include "Compute1DFiniteStrain.h"
11 #include "SubblockIndexProvider.h"
12 
18 {
19 public:
20  ComputeAxisymmetric1DFiniteStrain(const InputParameters & parameters);
21 
22 protected:
23  void initialSetup() override;
24 
26  Real computeGradDispYY() override;
27 
29  Real computeGradDispYYOld() override;
30 
33  Real computeGradDispZZ() override;
34 
37  Real computeGradDispZZOld() override;
38 
40  unsigned int getCurrentSubblockIndex() const
41  {
42  return _subblock_id_provider ? _subblock_id_provider->getSubblockIndex(*_current_elem) : 0;
43  };
44 
46  const VariableValue & _disp_old_0;
47 
49 
51  const VariableValue & _out_of_plane_strain;
52  const VariableValue & _out_of_plane_strain_old;
53 
55  unsigned int _nscalar_strains;
56  std::vector<const VariableValue *> _scalar_out_of_plane_strain;
57  std::vector<const VariableValue *> _scalar_out_of_plane_strain_old;
58 };
59 
60 #endif // COMPUTEAXISYMMETRIC1DFINITESTRAIN_H
ComputeAxisymmetric1DFiniteStrain(const InputParameters &parameters)
virtual unsigned int getSubblockIndex(const Elem &) const =0
The index of subblock this element is on.
Abstract base class for user objects that provide an index for a given element that is independent of...
Compute1DFiniteStrain defines a strain increment for finite strains in 1D problems, handling strains in other two directions.
Real computeGradDispYY() override
Computes the current dUy/dy for axisymmetric problems.
Real computeGradDispZZ() override
Computes the current dUz/dz for axisymmetric problems, where .
const SubblockIndexProvider * _subblock_id_provider
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
std::vector< const VariableValue * > _scalar_out_of_plane_strain
Real computeGradDispZZOld() override
Computes the old dUz/dz for axisymmetric problems, where .
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
ComputeAxisymmetric1DFiniteStrain defines a strain increment for finite strains in an Axisymmetric 1D...
std::vector< const VariableValue * > _scalar_out_of_plane_strain_old
Real computeGradDispYYOld() override
Computes the old dUy/dy for axisymmetric problems.