www.mooseframework.org
ComputeAxisymmetric1DIncrementalStrain.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 
13 #include "SubblockIndexProvider.h"
14 
16 
17 template <>
19 
26 {
27 public:
28  static InputParameters validParams();
29 
30  ComputeAxisymmetric1DIncrementalStrain(const InputParameters & parameters);
31 
32  void initialSetup() override;
33 
34 protected:
36  Real computeGradDispYY() override;
37 
39  Real computeGradDispYYOld() override;
40 
43  Real computeGradDispZZ() override;
44 
47  Real computeGradDispZZOld() override;
48 
50  unsigned int getCurrentSubblockIndex() const
51  {
52  return _subblock_id_provider ? _subblock_id_provider->getSubblockIndex(*_current_elem) : 0;
53  };
54 
56  const VariableValue & _disp_old_0;
57 
59 
61  const VariableValue & _out_of_plane_strain;
62  const VariableValue & _out_of_plane_strain_old;
63 
65  unsigned int _nscalar_strains;
66  std::vector<const VariableValue *> _scalar_out_of_plane_strain;
67  std::vector<const VariableValue *> _scalar_out_of_plane_strain_old;
68 };
ComputeAxisymmetric1DIncrementalStrain::computeGradDispZZOld
Real computeGradDispZZOld() override
Computes the old dUz/dz for axisymmetric problems, where .
Definition: ComputeAxisymmetric1DIncrementalStrain.C:96
ComputeAxisymmetric1DIncrementalStrain::ComputeAxisymmetric1DIncrementalStrain
ComputeAxisymmetric1DIncrementalStrain(const InputParameters &parameters)
Definition: ComputeAxisymmetric1DIncrementalStrain.C:30
SubblockIndexProvider.h
ComputeAxisymmetric1DIncrementalStrain::_has_out_of_plane_strain
bool _has_out_of_plane_strain
Definition: ComputeAxisymmetric1DIncrementalStrain.h:60
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
ComputeAxisymmetric1DIncrementalStrain::_has_scalar_out_of_plane_strain
bool _has_scalar_out_of_plane_strain
Definition: ComputeAxisymmetric1DIncrementalStrain.h:64
ComputeAxisymmetric1DIncrementalStrain::computeGradDispYY
Real computeGradDispYY() override
Computes the current dUy/dy for axisymmetric problems.
Definition: ComputeAxisymmetric1DIncrementalStrain.C:69
ComputeAxisymmetric1DIncrementalStrain::_nscalar_strains
unsigned int _nscalar_strains
Definition: ComputeAxisymmetric1DIncrementalStrain.h:65
ComputeAxisymmetric1DIncrementalStrain::initialSetup
void initialSetup() override
Definition: ComputeAxisymmetric1DIncrementalStrain.C:60
ComputeAxisymmetric1DIncrementalStrain::_disp_old_0
const VariableValue & _disp_old_0
the old value of the first component of the displacements vector
Definition: ComputeAxisymmetric1DIncrementalStrain.h:53
ComputeAxisymmetric1DIncrementalStrain::computeGradDispZZ
Real computeGradDispZZ() override
Computes the current dUz/dz for axisymmetric problems, where .
Definition: ComputeAxisymmetric1DIncrementalStrain.C:87
ComputeAxisymmetric1DIncrementalStrain::_out_of_plane_strain_old
const VariableValue & _out_of_plane_strain_old
Definition: ComputeAxisymmetric1DIncrementalStrain.h:62
ComputeAxisymmetric1DIncrementalStrain::computeGradDispYYOld
Real computeGradDispYYOld() override
Computes the old dUy/dy for axisymmetric problems.
Definition: ComputeAxisymmetric1DIncrementalStrain.C:78
validParams< ComputeAxisymmetric1DIncrementalStrain >
InputParameters validParams< ComputeAxisymmetric1DIncrementalStrain >()
ComputeAxisymmetric1DIncrementalStrain::_subblock_id_provider
const SubblockIndexProvider * _subblock_id_provider
Definition: ComputeAxisymmetric1DIncrementalStrain.h:58
Compute1DIncrementalStrain.h
ComputeAxisymmetric1DIncrementalStrain
ComputeAxisymmetric1DIncrementalStrain defines a strain increment only for incremental small strains ...
Definition: ComputeAxisymmetric1DIncrementalStrain.h:25
ComputeAxisymmetric1DIncrementalStrain::_out_of_plane_strain
const VariableValue & _out_of_plane_strain
Definition: ComputeAxisymmetric1DIncrementalStrain.h:61
Compute1DIncrementalStrain
Compute1DIncrementalStrain defines a strain increment only for incremental small strains in 1D proble...
Definition: Compute1DIncrementalStrain.h:25
ComputeAxisymmetric1DIncrementalStrain::_scalar_out_of_plane_strain
std::vector< const VariableValue * > _scalar_out_of_plane_strain
Definition: ComputeAxisymmetric1DIncrementalStrain.h:66
ComputeAxisymmetric1DIncrementalStrain::getCurrentSubblockIndex
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
Definition: ComputeAxisymmetric1DIncrementalStrain.h:50
ComputeAxisymmetric1DIncrementalStrain::validParams
static InputParameters validParams()
Definition: ComputeAxisymmetric1DIncrementalStrain.C:17
ComputeAxisymmetric1DIncrementalStrain::_scalar_out_of_plane_strain_old
std::vector< const VariableValue * > _scalar_out_of_plane_strain_old
Definition: ComputeAxisymmetric1DIncrementalStrain.h:67