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 #include "RankTwoTensorForward.h"
15 #include "RankFourTensorForward.h"
17 
18 class Function;
19 
22 {
23 public:
25 
27 
28  void initialize() override;
29  void execute() override;
30  void threadJoin(const UserObject & uo) override;
31  void finalize() override;
32  virtual Real returnResidual(unsigned int scalar_var_id = 0) const override;
33  virtual Real returnReferenceResidual(unsigned int scalar_var_id = 0) const override;
34  virtual Real returnJacobian(unsigned int scalar_var_id = 0) const override;
35 
36 protected:
38  const std::string _base_name;
39 
41 
44 
47 
54 
57  std::vector<Real> _residual;
58  std::vector<Real> _reference_residual;
59  std::vector<Real> _jacobian;
60 };
unsigned int _scalar_out_of_plane_strain_direction
The direction of the out-of-plane strain scalar variable.
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor.
const Real _pressure_factor
Factor applied to out-of-plane pressure applied by function and material.
void threadJoin(const UserObject &uo) override
Abstract base class for user objects that provide an index for a given element that is independent of...
const Function * _out_of_plane_pressure_function
Function defining applied out-of-plane pressure.
const SubblockIndexProvider * _subblock_id_provider
A Userobject that carries the subblock ID for all elements.
virtual Real returnReferenceResidual(unsigned int scalar_var_id=0) const override
Interface class for user objects that interface with the generalized plane strain kernel...
const std::string _base_name
Base name of the material system.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
virtual Real returnResidual(unsigned int scalar_var_id=0) const override
const MaterialProperty< Real > & _out_of_plane_pressure_material
Material property defining applied out-of-plane pressure.
const MaterialProperty< RankFourTensor > & _Jacobian_mult
virtual Real returnJacobian(unsigned int scalar_var_id=0) const override
GeneralizedPlaneStrainUserObject(const InputParameters &parameters)