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 24 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 }
const MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
const unsigned int _column
const unsigned int _component

Member Function Documentation

◆ computeQpResidual()

Real HomogenizationKernel::computeQpResidual ( )
protectedvirtual

Definition at line 49 of file HomogenizationKernel.C.

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

Member Data Documentation

◆ _column

const unsigned int HomogenizationKernel::_column
private

Definition at line 36 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

◆ _component

const unsigned int HomogenizationKernel::_component
private

Definition at line 35 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

◆ _elasticity_tensor

const MaterialProperty<SymmElasticityTensor>& HomogenizationKernel::_elasticity_tensor
protected

Definition at line 32 of file HomogenizationKernel.h.

Referenced by computeQpResidual().


The documentation for this class was generated from the following files: