NonlinearPlaneStrain.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef NONLINEARPLANESTRAIN_H
8 #define NONLINEARPLANESTRAIN_H
9
10 #include "Nonlinear.h"
11 #include "ScalarCoupleable.h"
12
13 namespace SolidMechanics
14 {
15
19 class NonlinearPlaneStrain : public Nonlinear, public ScalarCoupleable
20 {
21 public:
22  NonlinearPlaneStrain(SolidModel & solid_model,
23  const std::string & name,
24  const InputParameters & parameters);
25
26  virtual ~NonlinearPlaneStrain();
27
31  const VariableValue & _strain_zz;
33  const VariableValue & _scalar_strain_zz;
34
37  const VariableValue & _strain_zz_old;
38  const VariableValue & _scalar_strain_zz_old;
39
40 protected:
41  virtual void computeDeformationGradient(unsigned int qp, ColumnMajorMatrix & F);
42  virtual void fillMatrix(unsigned int qp,
45  const Real & strain_zz,
46  ColumnMajorMatrix & A) const;
47
48  virtual Real volumeRatioOld(unsigned qp) const;
49
50  virtual void computeIncrementalDeformationGradient(std::vector<ColumnMajorMatrix> & Fhat);
52 };
53
54 } // namespace solid_mechanics
55
56 #endif
Nonlinear is the base class for all large strain/rotation models.
Definition: Nonlinear.h:22
virtual void computeIncrementalDeformationGradient(std::vector< ColumnMajorMatrix > &Fhat)
SolidModel is the base class for all this module&#39;s solid mechanics material models.
Definition: SolidModel.h:31
NonlinearPlaneStrain(SolidModel &solid_model, const std::string &name, const InputParameters &parameters)
virtual Real volumeRatioOld(unsigned qp) const