www.mooseframework.org
GeneralizedPlaneStrainUserObject.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 "ElementUserObject.h"
13 #include "SubblockIndexProvider.h"
14 
16 template <typename>
19 template <typename>
22 class Function;
23 
24 template <>
26 
27 class GeneralizedPlaneStrainUserObject : public ElementUserObject
28 {
29 public:
30  static InputParameters validParams();
31 
32  GeneralizedPlaneStrainUserObject(const InputParameters & parameters);
33 
34  void initialize() override;
35  void execute() override;
36  void threadJoin(const UserObject & uo) override;
37  void finalize() override;
38  virtual Real returnResidual(unsigned int scalar_var_id = 0) const;
39  virtual Real returnReferenceResidual(unsigned int scalar_var_id = 0) const;
40  virtual Real returnJacobian(unsigned int scalar_var_id = 0) const;
41 
42 protected:
43  const std::string _base_name;
44 
45  const MaterialProperty<RankFourTensor> & _Cijkl;
46  const MaterialProperty<RankTwoTensor> & _stress;
47 
49 
50  const Function & _out_of_plane_pressure;
51  const Real _factor;
53  std::vector<Real> _residual;
54  std::vector<Real> _reference_residual;
55  std::vector<Real> _jacobian;
56 };
SubblockIndexProvider.h
GeneralizedPlaneStrainUserObject::_residual
std::vector< Real > _residual
Definition: GeneralizedPlaneStrainUserObject.h:53
RankFourTensor
RankFourTensorTempl< Real > RankFourTensor
Definition: GeneralizedPlaneStrainUserObject.h:20
SubblockIndexProvider
Abstract base class for user objects that provide an index for a given element that is independent of...
Definition: SubblockIndexProvider.h:24
GeneralizedPlaneStrainUserObject::returnJacobian
virtual Real returnJacobian(unsigned int scalar_var_id=0) const
Definition: GeneralizedPlaneStrainUserObject.C:147
validParams< GeneralizedPlaneStrainUserObject >
InputParameters validParams< GeneralizedPlaneStrainUserObject >()
GeneralizedPlaneStrainUserObject::returnResidual
virtual Real returnResidual(unsigned int scalar_var_id=0) const
Definition: GeneralizedPlaneStrainUserObject.C:123
GeneralizedPlaneStrainUserObject::GeneralizedPlaneStrainUserObject
GeneralizedPlaneStrainUserObject(const InputParameters &parameters)
Definition: GeneralizedPlaneStrainUserObject.C:44
GeneralizedPlaneStrainUserObject::_scalar_out_of_plane_strain_direction
unsigned int _scalar_out_of_plane_strain_direction
Definition: GeneralizedPlaneStrainUserObject.h:52
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: GeneralizedPlaneStrainUserObject.h:17
GeneralizedPlaneStrainUserObject::_out_of_plane_pressure
const Function & _out_of_plane_pressure
Definition: GeneralizedPlaneStrainUserObject.h:50
GeneralizedPlaneStrainUserObject::_Cijkl
const MaterialProperty< RankFourTensor > & _Cijkl
Definition: GeneralizedPlaneStrainUserObject.h:45
GeneralizedPlaneStrainUserObject::_base_name
const std::string _base_name
Definition: GeneralizedPlaneStrainUserObject.h:43
GeneralizedPlaneStrainUserObject::returnReferenceResidual
virtual Real returnReferenceResidual(unsigned int scalar_var_id=0) const
Definition: GeneralizedPlaneStrainUserObject.C:132
GeneralizedPlaneStrainUserObject::_stress
const MaterialProperty< RankTwoTensor > & _stress
Definition: GeneralizedPlaneStrainUserObject.h:46
GeneralizedPlaneStrainUserObject::finalize
void finalize() override
Definition: GeneralizedPlaneStrainUserObject.C:115
GeneralizedPlaneStrainUserObject::_subblock_id_provider
const SubblockIndexProvider * _subblock_id_provider
Definition: GeneralizedPlaneStrainUserObject.h:48
GeneralizedPlaneStrainUserObject::initialize
void initialize() override
Definition: GeneralizedPlaneStrainUserObject.C:57
GeneralizedPlaneStrainUserObject::_factor
const Real _factor
Definition: GeneralizedPlaneStrainUserObject.h:51
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
GeneralizedPlaneStrainUserObject::execute
void execute() override
Definition: GeneralizedPlaneStrainUserObject.C:75
GeneralizedPlaneStrainUserObject::threadJoin
void threadJoin(const UserObject &uo) override
Definition: GeneralizedPlaneStrainUserObject.C:102
GeneralizedPlaneStrainUserObject::validParams
static InputParameters validParams()
Definition: GeneralizedPlaneStrainUserObject.C:23
GeneralizedPlaneStrainUserObject
Definition: GeneralizedPlaneStrainUserObject.h:27
GeneralizedPlaneStrainUserObject::_reference_residual
std::vector< Real > _reference_residual
Definition: GeneralizedPlaneStrainUserObject.h:54
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
GeneralizedPlaneStrainUserObject::_jacobian
std::vector< Real > _jacobian
Definition: GeneralizedPlaneStrainUserObject.h:55