https://mooseframework.inl.gov
Loading...
Searching...
No Matches
StressDivergenceTensors.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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 "ALEKernel.h"
13#include "RankTwoTensor.h"
14#include "RankFourTensor.h"
15#include "JvarMapInterface.h"
16
17// Forward Declarations
18
25{
26public:
28
29 StressDivergenceTensors(const InputParameters & parameters);
30
31 virtual void computeJacobian() override;
32 virtual void computeOffDiagJacobian(unsigned int jvar) override;
33
34protected:
35 virtual void initialSetup() override;
36
37 virtual void computeResidual() override;
38 virtual Real computeQpResidual() override;
39 virtual Real computeQpJacobian() override;
40 virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
41
42 virtual void computeFiniteDeformJacobian();
43 virtual void computeAverageGradientTest();
44 virtual void computeAverageGradientPhi();
45
47 const std::string _base_name;
48
50
54
55 std::vector<RankFourTensor> _finite_deform_Jacobian_mult;
59 // MaterialProperty<RankTwoTensor> & _d_stress_dT;
60
62 const unsigned int _component;
63
65 unsigned int _ndisp;
66
68 std::vector<unsigned int> _disp_var;
69
71 std::vector<std::vector<const MaterialProperty<RankTwoTensor> *>> _deigenstrain_dargs;
72
75 const unsigned int _out_of_plane_strain_var;
76 const unsigned int _out_of_plane_direction;
77
80
82 std::vector<std::vector<Real>> _avg_grad_test;
83
85 std::vector<std::vector<Real>> _avg_grad_phi;
86
89};
StressDivergenceTensors mostly copies from StressDivergence.
const std::string _base_name
Base name of the material system that this kernel applies to.
std::vector< unsigned int > _disp_var
Displacement variables IDs.
const unsigned int _out_of_plane_direction
const unsigned int _component
An integer corresponding to the direction this kernel acts in.
const MaterialProperty< RankTwoTensor > & _stress
The stress tensor that the divergence operator operates on.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< RankFourTensor > & _Jacobian_mult
bool _volumetric_locking_correction
Flag for volumetric locking correction.
static InputParameters validParams()
unsigned int _ndisp
Coupled displacement variables.
const bool _use_displaced_mesh
Whether this object is acting on the displaced mesh.
const MaterialProperty< RankTwoTensor > * _rotation_increment
std::vector< std::vector< Real > > _avg_grad_phi
Gradient of phi function averaged over the element. Used in volumetric locking correction calculation...
const MaterialProperty< RankTwoTensor > * _deformation_gradient_old
const VariableValue *const _out_of_plane_strain
std::vector< RankFourTensor > _finite_deform_Jacobian_mult
virtual void computeResidual() override
const unsigned int _out_of_plane_strain_var
virtual Real computeQpResidual() override
std::vector< std::vector< Real > > _avg_grad_test
Gradient of test function averaged over the element. Used in volumetric locking correction calculatio...
virtual Real computeQpJacobian() override
virtual void computeOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< RankTwoTensor > * _deformation_gradient
std::vector< std::vector< const MaterialProperty< RankTwoTensor > * > > _deigenstrain_dargs
eigen strain derivatives wrt coupled variables
virtual void computeJacobian() override
virtual void initialSetup() override
VariableValueTempl< false > VariableValue