www.mooseframework.org
MomentBalancing.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 "Kernel.h"
13 
14 // Forward Declarations
15 class MomentBalancing;
16 template <typename>
19 template <typename>
22 template <>
23 InputParameters validParams<MomentBalancing>();
24 
35 class MomentBalancing : public Kernel
36 {
37 public:
38  static InputParameters validParams();
39 
40  MomentBalancing(const InputParameters & parameters);
41 
42 protected:
43  virtual Real computeQpResidual();
44  virtual Real computeQpJacobian();
45  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
46 
48  const MaterialProperty<RankTwoTensor> & _stress;
49 
54  const MaterialProperty<RankFourTensor> & _Jacobian_mult;
55 
57  const unsigned int _component;
58 
59  // number of Cosserat rotation components provided by the user
60  const unsigned int _nrots;
61 
63  std::vector<unsigned int> _wc_var;
64 
65  // number of displacement components provided by the user
66  const unsigned int _ndisp;
67 
69  std::vector<unsigned int> _disp_var;
70 };
MomentBalancing::MomentBalancing
MomentBalancing(const InputParameters &parameters)
Definition: MomentBalancing.C:42
validParams< MomentBalancing >
InputParameters validParams< MomentBalancing >()
MomentBalancing::_stress
const MaterialProperty< RankTwoTensor > & _stress
the stress tensor (not the moment stress) at the quad-point.
Definition: MomentBalancing.h:48
MomentBalancing::_Jacobian_mult
const MaterialProperty< RankFourTensor > & _Jacobian_mult
d(stress tensor)/(d strain tensor) Here strain_ij = grad_j disp_i + epsilon_ijk * wc_k
Definition: MomentBalancing.h:54
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: MomentBalancing.h:17
MomentBalancing::_disp_var
std::vector< unsigned int > _disp_var
the moose variable numbers for the displacements
Definition: MomentBalancing.h:69
MomentBalancing::_ndisp
const unsigned int _ndisp
Definition: MomentBalancing.h:66
MomentBalancing::computeQpResidual
virtual Real computeQpResidual()
Definition: MomentBalancing.C:74
MomentBalancing::computeQpOffDiagJacobian
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
Definition: MomentBalancing.C:91
MomentBalancing::validParams
static InputParameters validParams()
Definition: MomentBalancing.C:25
MomentBalancing::_nrots
const unsigned int _nrots
Definition: MomentBalancing.h:60
RankFourTensor
RankFourTensorTempl< Real > RankFourTensor
Definition: MomentBalancing.h:20
MomentBalancing
This Kernel computes epsilon_ijk * stress_jk (sum over j and k) "i" is called _component in this clas...
Definition: MomentBalancing.h:35
MomentBalancing::_component
const unsigned int _component
The Kernel computes epsilon_{component j k}*stress_{j k}.
Definition: MomentBalancing.h:57
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
MomentBalancing::computeQpJacobian
virtual Real computeQpJacobian()
Definition: MomentBalancing.C:84
MomentBalancing::_wc_var
std::vector< unsigned int > _wc_var
the moose variable numbers for the Cosserat rotation degrees of freedom
Definition: MomentBalancing.h:63
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17