www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
HomogenizationKernel Class Reference

#include <HomogenizationKernel.h>

Inheritance diagram for HomogenizationKernel:
[legend]

Public Member Functions

 HomogenizationKernel (const InputParameters &parameters)
 

Protected Member Functions

virtual Real computeQpResidual ()
 

Protected Attributes

const MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
 

Private Attributes

const unsigned int _component
 
const unsigned int _column
 

Detailed Description

Definition at line 22 of file HomogenizationKernel.h.

Constructor & Destructor Documentation

◆ HomogenizationKernel()

HomogenizationKernel::HomogenizationKernel ( const InputParameters &  parameters)

Definition at line 38 of file HomogenizationKernel.C.

39  : Kernel(parameters),
40 
41  _elasticity_tensor(getMaterialProperty<SymmElasticityTensor>(
42  "elasticity_tensor" + getParam<std::string>("appended_property_name"))),
43  _component(getParam<unsigned int>("component")),
44  _column(getParam<unsigned int>("column"))
45 {
46  mooseDeprecated(name(), ": HomogenizationKernel is deprecated. \
47  The solid_mechanics module will be removed from MOOSE on July 31, 2020. \
48  Please update your input files to utilize the tensor_mechanics equivalents of \
49  models based on solid_mechanics. A detailed migration guide that was developed \
50  for BISON, but which is generally applicable to any MOOSE model is available at: \
51  https://mooseframework.org/bison/tutorials/mechanics_conversion/overview.html");
52 }

Member Function Documentation

◆ computeQpResidual()

Real HomogenizationKernel::computeQpResidual ( )
protectedvirtual

Definition at line 55 of file HomogenizationKernel.C.

56 {
57  unsigned k = 0, l = 0;
58 
59  if (_column == 0)
60  {
61  k = 0;
62  l = 0;
63  }
64 
65  if (_column == 1)
66  {
67  k = 1;
68  l = 1;
69  }
70 
71  if (_column == 2)
72  {
73  k = 2;
74  l = 2;
75  }
76 
77  if (_column == 3)
78  {
79  k = 0;
80  l = 1;
81  }
82 
83  if (_column == 4)
84  {
85  k = 1;
86  l = 2;
87  }
88 
89  if (_column == 5)
90  {
91  k = 2;
92  l = 0;
93  }
94 
95  const unsigned J(3 * l + k);
96 
97  ColumnMajorMatrix E(_elasticity_tensor[_qp].columnMajorMatrix9x9());
98 
99  Real value(0);
100 
101  // Compute positive value since we are computing a residual not a rhs
102  for (unsigned j = 0; j < 3; j++)
103  {
104  const unsigned I = 3 * j + _component;
105  value += E(I, J) * _grad_test[_i][_qp](j);
106  }
107 
108  return value;
109 }

Member Data Documentation

◆ _column

const unsigned int HomogenizationKernel::_column
private

Definition at line 34 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

◆ _component

const unsigned int HomogenizationKernel::_component
private

Definition at line 33 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

◆ _elasticity_tensor

const MaterialProperty<SymmElasticityTensor>& HomogenizationKernel::_elasticity_tensor
protected

Definition at line 30 of file HomogenizationKernel.h.

Referenced by computeQpResidual().


The documentation for this class was generated from the following files:
HomogenizationKernel::_component
const unsigned int _component
Definition: HomogenizationKernel.h:33
name
const std::string name
Definition: Setup.h:21
HomogenizationKernel::_elasticity_tensor
const MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
Definition: HomogenizationKernel.h:30
HomogenizationKernel::_column
const unsigned int _column
Definition: HomogenizationKernel.h:34