www.mooseframework.org
GlobalStrainUserObject.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"
14 
15 #include "RankTwoTensor.h"
16 #include "RankFourTensor.h"
17 
19 {
20 public:
22 
24 
25  void initialize() override;
26  void execute() override;
27  void threadJoin(const UserObject & uo) override;
28  void finalize() override;
29  virtual const RankTwoTensor & getResidual() const override;
30  virtual const RankFourTensor & getJacobian() const override;
31  virtual const VectorValue<bool> & getPeriodicDirections() const override;
32 
36  virtual void computeAdditionalStress(){};
37 
38 protected:
40  const std::string _base_name;
41 
43 
46 
50 
51  const unsigned int _dim;
52 
54  const unsigned int _ndisp;
55 
57  std::vector<unsigned int> _disp_var;
58  VectorValue<bool> _periodic_dir;
59 };
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor.
const unsigned int _ndisp
Number of displacement variables.
const MaterialProperty< RankFourTensor > & _dstress_dstrain
const std::string _base_name
Base name of the material system.
static InputParameters validParams()
virtual const RankFourTensor & getJacobian() const override
VectorValue< bool > _periodic_dir
std::vector< unsigned int > _disp_var
Variable numbers of the displacement variables.
GlobalStrainUserObject(const InputParameters &parameters)
virtual void computeAdditionalStress()
Calculate additional applied stresses.
This class provides interface for extracting the periodic directions, residual, and jacobian values f...
const InputParameters & parameters() const
virtual const VectorValue< bool > & getPeriodicDirections() const override
virtual const RankTwoTensor & getResidual() const override
void threadJoin(const UserObject &uo) override