https://mooseframework.inl.gov
ComputeAxisymmetric1DFiniteStrain.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
20 {
21 public:
23 
25 
26  void initialSetup() override;
27 
28 protected:
30  Real computeGradDispYY() override;
31 
33  Real computeGradDispYYOld() override;
34 
37  Real computeGradDispZZ() override;
38 
41  Real computeGradDispZZOld() override;
42 
44  unsigned int getCurrentSubblockIndex() const
45  {
47  };
48 
50  const VariableValue & _disp_old_0;
51 
54 
57 
62 
65 
67  unsigned int _nscalar_strains;
68 
70  std::vector<const VariableValue *> _scalar_out_of_plane_strain;
71  std::vector<const VariableValue *> _scalar_out_of_plane_strain_old;
73 };
ComputeAxisymmetric1DFiniteStrain(const InputParameters &parameters)
bool _has_scalar_out_of_plane_strain
Whether an out-of-plane strain scalar variable is coupled.
Abstract base class for user objects that provide an index for a given element that is independent of...
const SubblockIndexProvider *const _subblock_id_provider
A Userobject that carries the subblock ID for all elements.
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 .
unsigned int _nscalar_strains
Number of out-of-plane strain scalar variables.
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
{@ Current and old values of the out-of-plane strain scalar variable
Real computeGradDispZZOld() override
Computes the old dUz/dz for axisymmetric problems, where .
OutputTools< Real >::VariableValue VariableValue
const VariableValue & _out_of_plane_strain
{@ Current and old values of the out-of-plane strain variable
virtual unsigned int getSubblockIndex(const Elem &) const =0
The index of subblock this element is on.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ComputeAxisymmetric1DFiniteStrain defines a strain increment for finite strains in an Axisymmetric 1D...
std::vector< const VariableValue * > _scalar_out_of_plane_strain_old
const InputParameters & parameters() const
unsigned int getCurrentSubblockIndex() const
gets its subblock index for current element
Real computeGradDispYYOld() override
Computes the old dUy/dy for axisymmetric problems.
bool _has_out_of_plane_strain
Whether an out-of-plane strain variable is coupled.