www.mooseframework.org
CosseratStressDivergenceTensors.C
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 
11 #include "Material.h"
12 #include "RankFourTensor.h"
13 #include "ElasticityTensorTools.h"
14 #include "RankTwoTensor.h"
15 #include "MooseMesh.h"
16 
18 
20 
21 InputParameters
23 {
24  InputParameters params = StressDivergenceTensors::validParams();
25  params.addRequiredCoupledVar("Cosserat_rotations", "The 3 Cosserat rotation variables");
26  return params;
27 }
28 
30  : StressDivergenceTensors(parameters),
31  _nrots(coupledComponents("Cosserat_rotations")),
32  _wc_var(_nrots)
33 {
34  for (unsigned i = 0; i < _nrots; ++i)
35  _wc_var[i] = coupled("Cosserat_rotations", i);
36 }
37 
38 Real
40 {
41  for (unsigned int v = 0; v < _nrots; ++v)
42  if (jvar == _wc_var[v])
44  _Jacobian_mult[_qp], _component, v, _grad_test[_i][_qp], _phi[_j][_qp]);
45 
47 }
CosseratStressDivergenceTensors::validParams
static InputParameters validParams()
Definition: CosseratStressDivergenceTensors.C:22
StressDivergenceTensors
StressDivergenceTensors mostly copies from StressDivergence.
Definition: StressDivergenceTensors.h:27
StressDivergenceTensors::_component
const unsigned int _component
Definition: StressDivergenceTensors.h:62
StressDivergenceTensors::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
Definition: StressDivergenceTensors.C:277
CosseratStressDivergenceTensors::_nrots
const unsigned int _nrots
Number of Cosserat rotation variables supplied by user.
Definition: CosseratStressDivergenceTensors.h:36
CosseratStressDivergenceTensors::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: CosseratStressDivergenceTensors.C:39
registerMooseObject
registerMooseObject("TensorMechanicsApp", CosseratStressDivergenceTensors)
CosseratStressDivergenceTensors::_wc_var
std::vector< unsigned int > _wc_var
The MOOSE variable numbers of the Cosserat rotation variables.
Definition: CosseratStressDivergenceTensors.h:39
CosseratStressDivergenceTensors
Computes grad_i(stress_{i component}) This is exactly the same as StressDivergenceTensors,...
Definition: CosseratStressDivergenceTensors.h:25
ElasticityTensorTools.h
StressDivergenceTensors::validParams
static InputParameters validParams()
Definition: StressDivergenceTensors.C:26
StressDivergenceTensors::_Jacobian_mult
const MaterialProperty< RankFourTensor > & _Jacobian_mult
Definition: StressDivergenceTensors.h:54
ElasticityTensorTools::elasticJacobianWC
Real elasticJacobianWC(const RankFourTensor &r4t, unsigned int i, unsigned int k, const RealGradient &grad_test, Real phi)
This is used for the standard kernel stress_ij*d(test)/dx_j, when varied wrt w_k (the cosserat rotati...
Definition: ElasticityTensorTools.C:68
defineLegacyParams
defineLegacyParams(CosseratStressDivergenceTensors)
CosseratStressDivergenceTensors::CosseratStressDivergenceTensors
CosseratStressDivergenceTensors(const InputParameters &parameters)
Definition: CosseratStressDivergenceTensors.C:29
CosseratStressDivergenceTensors.h