www.mooseframework.org
CosseratStressDivergenceTensors.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
9 #include "Material.h"
10 #include "RankFourTensor.h"
11 #include "ElasticityTensorTools.h"
12 #include "RankTwoTensor.h"
13 #include "MooseMesh.h"
14 
15 template <>
16 InputParameters
18 {
19  InputParameters params = validParams<StressDivergenceTensors>();
20  params.addRequiredCoupledVar("Cosserat_rotations", "The 3 Cosserat rotation variables");
21  return params;
22 }
23 
25  : StressDivergenceTensors(parameters),
26  _nrots(coupledComponents("Cosserat_rotations")),
27  _wc_var(_nrots)
28 {
29  for (unsigned i = 0; i < _nrots; ++i)
30  _wc_var[i] = coupled("Cosserat_rotations", i);
31 }
32 
33 Real
35 {
36  for (unsigned int v = 0; v < _nrots; ++v)
37  if (jvar == _wc_var[v])
39  _Jacobian_mult[_qp], _component, v, _grad_test[_i][_qp], _phi[_j][_qp]);
40 
42 }
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...
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const MaterialProperty< RankFourTensor > & _Jacobian_mult
CosseratStressDivergenceTensors(const InputParameters &parameters)
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
InputParameters validParams< CosseratStressDivergenceTensors >()
const unsigned int _nrots
Number of Cosserat rotation variables supplied by user.
InputParameters validParams< StressDivergenceTensors >()
std::vector< unsigned int > _wc_var
The MOOSE variable numbers of the Cosserat rotation variables.
StressDivergenceTensors mostly copies from StressDivergence.