www.mooseframework.org
ComputeAxisymmetric1DSmallStrain.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "Compute1DSmallStrain.h"
13 #include "SubblockIndexProvider.h"
14 
16 
17 template <>
19 
25 {
26 public:
27  static InputParameters validParams();
28 
29  ComputeAxisymmetric1DSmallStrain(const InputParameters & parameters);
30 
31  void initialSetup() override;
32 
33 protected:
35  Real computeStrainYY() override;
36 
39  Real computeStrainZZ() override;
40 
42  unsigned int getCurrentSubblockIndex() const
43  {
44  return _subblock_id_provider ? _subblock_id_provider->getSubblockIndex(*_current_elem) : 0;
45  };
46 
48 
50  const VariableValue & _out_of_plane_strain;
51 
53  unsigned int _nscalar_strains;
54  std::vector<const VariableValue *> _scalar_out_of_plane_strain;
55 };
SubblockIndexProvider.h
ComputeAxisymmetric1DSmallStrain
ComputeAxisymmetric1DSmallStrain defines small strains in an Axisymmetric 1D problem.
Definition: ComputeAxisymmetric1DSmallStrain.h:24
SubblockIndexProvider::getSubblockIndex
virtual unsigned int getSubblockIndex(const Elem &) const =0
The index of subblock this element is on.
SubblockIndexProvider
Abstract base class for user objects that provide an index for a given element that is independent of...
Definition: SubblockIndexProvider.h:24
ComputeAxisymmetric1DSmallStrain::getCurrentSubblockIndex
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
Definition: ComputeAxisymmetric1DSmallStrain.h:42
ComputeAxisymmetric1DSmallStrain::_scalar_out_of_plane_strain
std::vector< const VariableValue * > _scalar_out_of_plane_strain
Definition: ComputeAxisymmetric1DSmallStrain.h:54
ComputeAxisymmetric1DSmallStrain::_has_scalar_out_of_plane_strain
const bool _has_scalar_out_of_plane_strain
Definition: ComputeAxisymmetric1DSmallStrain.h:52
ComputeAxisymmetric1DSmallStrain::validParams
static InputParameters validParams()
Definition: ComputeAxisymmetric1DSmallStrain.C:17
ComputeAxisymmetric1DSmallStrain::initialSetup
void initialSetup() override
Definition: ComputeAxisymmetric1DSmallStrain.C:52
Compute1DSmallStrain
Compute1DSmallStrain defines a strain tensor, assuming small strains, in 1D problems,...
Definition: Compute1DSmallStrain.h:25
ComputeAxisymmetric1DSmallStrain::_has_out_of_plane_strain
const bool _has_out_of_plane_strain
Definition: ComputeAxisymmetric1DSmallStrain.h:49
ComputeAxisymmetric1DSmallStrain::_subblock_id_provider
const SubblockIndexProvider * _subblock_id_provider
Definition: ComputeAxisymmetric1DSmallStrain.h:45
ComputeAxisymmetric1DSmallStrain::_out_of_plane_strain
const VariableValue & _out_of_plane_strain
Definition: ComputeAxisymmetric1DSmallStrain.h:50
ComputeAxisymmetric1DSmallStrain::computeStrainYY
Real computeStrainYY() override
Computes the strain_yy for axisymmetric problems.
Definition: ComputeAxisymmetric1DSmallStrain.C:61
validParams< ComputeAxisymmetric1DSmallStrain >
InputParameters validParams< ComputeAxisymmetric1DSmallStrain >()
ComputeAxisymmetric1DSmallStrain::computeStrainZZ
Real computeStrainZZ() override
Computes the strain_zz for axisymmetric problems, where .
Definition: ComputeAxisymmetric1DSmallStrain.C:70
ComputeAxisymmetric1DSmallStrain::_nscalar_strains
unsigned int _nscalar_strains
Definition: ComputeAxisymmetric1DSmallStrain.h:53
Compute1DSmallStrain.h
ComputeAxisymmetric1DSmallStrain::ComputeAxisymmetric1DSmallStrain
ComputeAxisymmetric1DSmallStrain(const InputParameters &parameters)
Definition: ComputeAxisymmetric1DSmallStrain.C:29