www.mooseframework.org
NonlinearPlaneStrain.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 "Nonlinear.h"
13 #include "ScalarCoupleable.h"
14 
15 namespace SolidMechanics
16 {
17 
21 class NonlinearPlaneStrain : public Nonlinear, public ScalarCoupleable
22 {
23 public:
24  NonlinearPlaneStrain(SolidModel & solid_model,
25  const std::string & name,
26  const InputParameters & parameters);
27 
28  virtual ~NonlinearPlaneStrain();
29 
30  const VariableGradient & _grad_disp_x;
31  const VariableGradient & _grad_disp_y;
33  const VariableValue & _strain_zz;
35  const VariableValue & _scalar_strain_zz;
36 
37  const VariableGradient & _grad_disp_x_old;
38  const VariableGradient & _grad_disp_y_old;
39  const VariableValue & _strain_zz_old;
40  const VariableValue & _scalar_strain_zz_old;
41 
42 protected:
43  virtual void computeDeformationGradient(unsigned int qp, ColumnMajorMatrix & F);
44  virtual void fillMatrix(unsigned int qp,
45  const VariableGradient & grad_x,
46  const VariableGradient & grad_y,
47  const Real & strain_zz,
48  ColumnMajorMatrix & A) const;
49 
50  virtual Real volumeRatioOld(unsigned qp) const;
51 
52  virtual void computeIncrementalDeformationGradient(std::vector<ColumnMajorMatrix> & Fhat);
54 };
55 
56 } // namespace solid_mechanics
57 
SolidMechanics::NonlinearPlaneStrain::fillMatrix
virtual void fillMatrix(unsigned int qp, const VariableGradient &grad_x, const VariableGradient &grad_y, const Real &strain_zz, ColumnMajorMatrix &A) const
Definition: NonlinearPlaneStrain.C:151
SolidMechanics::NonlinearPlaneStrain::_grad_disp_y
const VariableGradient & _grad_disp_y
Definition: NonlinearPlaneStrain.h:31
SolidMechanics::NonlinearPlaneStrain::volumeRatioOld
virtual Real volumeRatioOld(unsigned qp) const
Definition: NonlinearPlaneStrain.C:173
SolidMechanics::NonlinearPlaneStrain::_have_strain_zz
bool _have_strain_zz
Definition: NonlinearPlaneStrain.h:32
SolidMechanics::NonlinearPlaneStrain::_volumetric_locking_correction
const bool _volumetric_locking_correction
Definition: NonlinearPlaneStrain.h:53
SolidMechanics::NonlinearPlaneStrain::_grad_disp_x
const VariableGradient & _grad_disp_x
Definition: NonlinearPlaneStrain.h:30
SolidMechanics::NonlinearPlaneStrain::computeDeformationGradient
virtual void computeDeformationGradient(unsigned int qp, ColumnMajorMatrix &F)
Definition: NonlinearPlaneStrain.C:128
SolidMechanics::NonlinearPlaneStrain
NonlinearPlaneStrain is a class for large deformation plane strain.
Definition: NonlinearPlaneStrain.h:21
SolidMechanics::NonlinearPlaneStrain::_strain_zz_old
const VariableValue & _strain_zz_old
Definition: NonlinearPlaneStrain.h:39
SolidMechanics::Nonlinear::Fhat
const std::vector< ColumnMajorMatrix > & Fhat() const
Definition: Nonlinear.h:33
Nonlinear.h
SolidMechanics
Definition: AxisymmetricRZ.h:16
SolidMechanics::NonlinearPlaneStrain::~NonlinearPlaneStrain
virtual ~NonlinearPlaneStrain()
Definition: NonlinearPlaneStrain.C:43
SolidModel
SolidModel is the base class for all this module's solid mechanics material models.
Definition: SolidModel.h:33
name
const std::string name
Definition: Setup.h:21
SolidMechanics::NonlinearPlaneStrain::_have_scalar_strain_zz
bool _have_scalar_strain_zz
Definition: NonlinearPlaneStrain.h:34
SolidMechanics::NonlinearPlaneStrain::_strain_zz
const VariableValue & _strain_zz
Definition: NonlinearPlaneStrain.h:33
SolidMechanics::NonlinearPlaneStrain::computeIncrementalDeformationGradient
virtual void computeIncrementalDeformationGradient(std::vector< ColumnMajorMatrix > &Fhat)
Definition: NonlinearPlaneStrain.C:48
SolidMechanics::NonlinearPlaneStrain::_scalar_strain_zz
const VariableValue & _scalar_strain_zz
Definition: NonlinearPlaneStrain.h:35
SolidMechanics::NonlinearPlaneStrain::_grad_disp_y_old
const VariableGradient & _grad_disp_y_old
Definition: NonlinearPlaneStrain.h:38
SolidMechanics::NonlinearPlaneStrain::NonlinearPlaneStrain
NonlinearPlaneStrain(SolidModel &solid_model, const std::string &name, const InputParameters &parameters)
Definition: NonlinearPlaneStrain.C:20
SolidMechanics::NonlinearPlaneStrain::_grad_disp_x_old
const VariableGradient & _grad_disp_x_old
Definition: NonlinearPlaneStrain.h:37
SolidMechanics::Nonlinear
Nonlinear is the base class for all large strain/rotation models.
Definition: Nonlinear.h:24
SolidMechanics::NonlinearPlaneStrain::_scalar_strain_zz_old
const VariableValue & _scalar_strain_zz_old
Definition: NonlinearPlaneStrain.h:40