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