www.mooseframework.org
GeneralizedPlaneStrainUserObject.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 GENERALIZEDPLANESTRAINUSEROBJECT_H
8 #define GENERALIZEDPLANESTRAINUSEROBJECT_H
9 
10 #include "ElementUserObject.h"
11 #include "SubblockIndexProvider.h"
12 
14 class RankTwoTensor;
15 class RankFourTensor;
16 class Function;
17 
18 template <>
20 
21 class GeneralizedPlaneStrainUserObject : public ElementUserObject
22 {
23 public:
24  GeneralizedPlaneStrainUserObject(const InputParameters & parameters);
25 
26  void initialize() override;
27  void execute() override;
28  void threadJoin(const UserObject & uo) override;
29  void finalize() override;
30  virtual Real returnResidual(unsigned int scalar_var_id = 0) const;
31  virtual Real returnJacobian(unsigned int scalar_var_id = 0) const;
32 
33 protected:
34  std::string _base_name;
35 
36  const MaterialProperty<RankFourTensor> & _Cijkl;
37  const MaterialProperty<RankTwoTensor> & _stress;
38 
40 
42  const Real _factor;
44  std::vector<Real> _residual;
45  std::vector<Real> _jacobian;
46 };
47 
48 #endif // GENERALIZEDPLANESTRAINUSEROBJECT_H
const MaterialProperty< RankTwoTensor > & _stress
virtual Real returnJacobian(unsigned int scalar_var_id=0) const
void threadJoin(const UserObject &uo) override
Abstract base class for user objects that provide an index for a given element that is independent of...
InputParameters validParams< GeneralizedPlaneStrainUserObject >()
virtual Real returnResidual(unsigned int scalar_var_id=0) const
const SubblockIndexProvider * _subblock_id_provider
const MaterialProperty< RankFourTensor > & _Cijkl
GeneralizedPlaneStrainUserObject(const InputParameters &parameters)