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 21 of file HomogenizationKernel.h.

Constructor & Destructor Documentation

HomogenizationKernel::HomogenizationKernel ( const InputParameters &  parameters)

Definition at line 33 of file HomogenizationKernel.C.

34  : Kernel(parameters),
35 
36  _elasticity_tensor(getMaterialProperty<SymmElasticityTensor>(
37  "elasticity_tensor" + getParam<std::string>("appended_property_name"))),
38  _component(getParam<unsigned int>("component")),
39  _column(getParam<unsigned int>("column"))
40 {
41 }
const MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
const unsigned int _column
const unsigned int _component

Member Function Documentation

Real HomogenizationKernel::computeQpResidual ( )
protectedvirtual

Definition at line 44 of file HomogenizationKernel.C.

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

Member Data Documentation

const unsigned int HomogenizationKernel::_column
private

Definition at line 33 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

const unsigned int HomogenizationKernel::_component
private

Definition at line 32 of file HomogenizationKernel.h.

Referenced by computeQpResidual().

const MaterialProperty<SymmElasticityTensor>& HomogenizationKernel::_elasticity_tensor
protected

Definition at line 29 of file HomogenizationKernel.h.

Referenced by computeQpResidual().


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