https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GeneralizedPlaneStrainOffDiag.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 "Kernel.h"
17#include "UserObject.h"
18
20{
21public:
23
25
26protected:
27 Real computeQpResidual() override { return 0; }
28
36 void computeOffDiagJacobianScalar(unsigned int jvar) override;
37 virtual void computeDispOffDiagJacobianScalar(unsigned int component, unsigned int jvar);
38 virtual void computeTempOffDiagJacobianScalar(unsigned int jvar);
39
41 const std::string _base_name;
42
44 const std::vector<MaterialPropertyName> _eigenstrain_names;
45 std::vector<const MaterialProperty<RankTwoTensor> *> _deigenstrain_dT;
46
49
52 const unsigned int _scalar_var_id;
53
55
56 const unsigned int _num_disp_var;
57 std::vector<MooseVariable *> _disp_var;
58
61
63 DenseMatrix<Number> _ke_copy;
64};
DenseMatrix< Number > _ke_copy
Member variable to avoid constant dense matrix heap allocations.
void computeOffDiagJacobianScalar(unsigned int jvar) override
These methods are used to compute the off-diagonal jacobian for the coupling between scalar variable ...
unsigned int _scalar_out_of_plane_strain_var
Variable number of the out-of-plane strain scalar variable.
std::vector< const MaterialProperty< RankTwoTensor > * > _deigenstrain_dT
unsigned int _scalar_out_of_plane_strain_direction
The direction of the out-of-plane strain.
const std::string _base_name
Base name of the material system that this kernel applies to.
virtual void computeDispOffDiagJacobianScalar(unsigned int component, unsigned int jvar)
const MaterialProperty< RankFourTensor > & _Jacobian_mult
const std::vector< MaterialPropertyName > _eigenstrain_names
const SubblockIndexProvider *const _subblock_id_provider
A Userobject that carries the subblock ID for all elements.
std::vector< MooseVariable * > _disp_var
virtual void computeTempOffDiagJacobianScalar(unsigned int jvar)
Abstract base class for user objects that provide an index for a given element that is independent of...