www.mooseframework.org
ComputeAxisymmetric1DSmallStrain.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 COMPUTEAXISYMMETRIC1DSMALLSTRAIN_H
8 #define COMPUTEAXISYMMETRIC1DSMALLSTRAIN_H
9 
10 #include "Compute1DSmallStrain.h"
11 #include "SubblockIndexProvider.h"
12 
18 {
19 public:
20  ComputeAxisymmetric1DSmallStrain(const InputParameters & parameters);
21 
22 protected:
23  void initialSetup() override;
24 
26  Real computeStrainYY() override;
27 
30  Real computeStrainZZ() override;
31 
33  unsigned int getCurrentSubblockIndex() const
34  {
35  return _subblock_id_provider ? _subblock_id_provider->getSubblockIndex(*_current_elem) : 0;
36  };
37 
39 
41  const VariableValue & _out_of_plane_strain;
42 
44  unsigned int _nscalar_strains;
45  std::vector<const VariableValue *> _scalar_out_of_plane_strain;
46 };
47 
48 #endif // COMPUTEAXISYMMETRIC1DSMALLSTRAIN_H
Real computeStrainZZ() override
Computes the strain_zz for axisymmetric problems, where .
virtual unsigned int getSubblockIndex(const Elem &) const =0
The index of subblock this element is on.
ComputeAxisymmetric1DSmallStrain(const InputParameters &parameters)
Abstract base class for user objects that provide an index for a given element that is independent of...
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
Real computeStrainYY() override
Computes the strain_yy for axisymmetric problems.
std::vector< const VariableValue * > _scalar_out_of_plane_strain
const SubblockIndexProvider * _subblock_id_provider
Compute1DSmallStrain defines a strain tensor, assuming small strains, in 1D problems, handling strains in other two directions.
ComputeAxisymmetric1DSmallStrain defines small strains in an Axisymmetric 1D problem.