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

#include <LinearGeneralAnisotropicMaterial.h>

Inheritance diagram for LinearGeneralAnisotropicMaterial:
[legend]

Public Member Functions

 LinearGeneralAnisotropicMaterial (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpProperties ()
 
virtual void computeQpElasticityTensor ()
 
virtual void computeQpStrain ()
 
virtual void computeQpStress ()
 
virtual void initQpStatefulProperties () override
 
template<typename T >
MaterialProperty< T > & createProperty (const std::string &prop_name)
 
template<typename T >
const MaterialProperty< T > & getPropertyOld (const std::string &prop_name)
 

Protected Attributes

const std::string _appended_property_name
 
const VariableGradient & _grad_disp_x
 
const VariableGradient & _grad_disp_y
 
const VariableGradient & _grad_disp_z
 
bool _has_temp
 
const VariableValue & _temp
 
bool _has_c
 
const VariableValue & _c
 
std::vector< VolumetricModel * > _volumetric_models
 
MaterialProperty< SymmTensor > & _stress
 
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
 
MaterialProperty< SymmElasticityTensor > & _Jacobian_mult
 
SymmTensor _d_strain_dT
 
MaterialProperty< SymmTensor > & _d_stress_dT
 
MaterialProperty< SymmTensor > & _elastic_strain
 

Private Attributes

Real _euler_angle_1
 
Real _euler_angle_2
 
Real _euler_angle_3
 
std::vector< Real > _Cijkl_matrix_vector
 
bool _all_21
 
SymmAnisotropicElasticityTensor _Cijkl_matrix
 

Detailed Description

Definition at line 30 of file LinearGeneralAnisotropicMaterial.h.

Constructor & Destructor Documentation

LinearGeneralAnisotropicMaterial::LinearGeneralAnisotropicMaterial ( const InputParameters &  parameters)

Definition at line 36 of file LinearGeneralAnisotropicMaterial.C.

38  : SolidMechanicsMaterial(parameters),
39  _euler_angle_1(getParam<Real>("euler_angle_1")),
40  _euler_angle_2(getParam<Real>("euler_angle_2")),
41  _euler_angle_3(getParam<Real>("euler_angle_3")),
42  _Cijkl_matrix_vector(getParam<std::vector<Real>>("C_matrix")),
43  _all_21(getParam<bool>("all_21")),
45 {
46  // fill in the local tensors from the input vector information
48 
49  // rotate the C_ijkl matrix
51 
52  // debugging
53  /*_Cijkl_matrix.show_r_matrix();
54  _Cijkl_matrix.show_dt_matrix();
55  if (libMesh::on_command_line("--debug") || libMesh::on_command_line("--debug-elasticity-Cijkl"))
56  {
57  libMesh::out << "Material " << this->name() << " on mesh block " << this->blockID() << " has
58  _Cijkl_matrix:\n" << _Cijkl_matrix << "\n";
59  }*/
60 }
virtual void rotate(const Real a1, const Real a2, const Real a3)
Perform rotation around three axes.
SymmAnisotropicElasticityTensor _Cijkl_matrix
SolidMechanicsMaterial(const InputParameters &parameters)
void fillFromInputVector(std::vector< Real > input, bool all)

Member Function Documentation

void LinearGeneralAnisotropicMaterial::computeQpElasticityTensor ( )
protectedvirtual

Definition at line 71 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

72 {
73  // Fill in the matrix stiffness material property
76 }
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
SymmAnisotropicElasticityTensor _Cijkl_matrix
MaterialProperty< SymmElasticityTensor > & _Jacobian_mult
void LinearGeneralAnisotropicMaterial::computeQpProperties ( )
protectedvirtual
void LinearGeneralAnisotropicMaterial::computeQpStrain ( )
protectedvirtual

Definition at line 79 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

80 {
82  _grad_disp_y[_qp](1),
83  _grad_disp_z[_qp](2),
84  0.5 * (_grad_disp_x[_qp](1) + _grad_disp_y[_qp](0)),
85  0.5 * (_grad_disp_y[_qp](2) + _grad_disp_z[_qp](1)),
86  0.5 * (_grad_disp_z[_qp](0) + _grad_disp_x[_qp](2)));
87 }
MaterialProperty< SymmTensor > & _elastic_strain
const VariableGradient & _grad_disp_y
const VariableGradient & _grad_disp_x
const VariableGradient & _grad_disp_z
void LinearGeneralAnisotropicMaterial::computeQpStress ( )
protectedvirtual

Definition at line 90 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

91 {
92  // stress = C * e
93  _stress[_qp] = _elasticity_tensor[_qp] * _elastic_strain[_qp];
94 }
MaterialProperty< SymmTensor > & _elastic_strain
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
MaterialProperty< SymmTensor > & _stress
template<typename T >
MaterialProperty<T>& SolidMechanicsMaterial::createProperty ( const std::string &  prop_name)
inlineprotectedinherited

Definition at line 56 of file SolidMechanicsMaterial.h.

57  {
58  std::string name(prop_name + _appended_property_name);
59  return declareProperty<T>(name);
60  }
const std::string _appended_property_name
template<typename T >
const MaterialProperty<T>& SolidMechanicsMaterial::getPropertyOld ( const std::string &  prop_name)
inlineprotectedinherited

Definition at line 63 of file SolidMechanicsMaterial.h.

64  {
65  std::string name(prop_name + _appended_property_name);
66  return getMaterialPropertyOld<T>(name);
67  }
const std::string _appended_property_name
void SolidMechanicsMaterial::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Definition at line 30 of file SolidMechanicsMaterial.C.

31 {
32 }

Member Data Documentation

bool LinearGeneralAnisotropicMaterial::_all_21
private

Definition at line 53 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

const std::string SolidMechanicsMaterial::_appended_property_name
protectedinherited

Definition at line 30 of file SolidMechanicsMaterial.h.

const VariableValue& SolidMechanicsMaterial::_c
protectedinherited
SymmAnisotropicElasticityTensor LinearGeneralAnisotropicMaterial::_Cijkl_matrix
private
std::vector<Real> LinearGeneralAnisotropicMaterial::_Cijkl_matrix_vector
private

Definition at line 50 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

SymmTensor SolidMechanicsMaterial::_d_strain_dT
protectedinherited
MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_d_stress_dT
protectedinherited

Definition at line 51 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeStrain().

MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_elastic_strain
protectedinherited
MaterialProperty<SymmElasticityTensor>& SolidMechanicsMaterial::_elasticity_tensor
protectedinherited
Real LinearGeneralAnisotropicMaterial::_euler_angle_1
private

Definition at line 45 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

Real LinearGeneralAnisotropicMaterial::_euler_angle_2
private

Definition at line 46 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

Real LinearGeneralAnisotropicMaterial::_euler_angle_3
private

Definition at line 47 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

const VariableGradient& SolidMechanicsMaterial::_grad_disp_x
protectedinherited
const VariableGradient& SolidMechanicsMaterial::_grad_disp_y
protectedinherited
const VariableGradient& SolidMechanicsMaterial::_grad_disp_z
protectedinherited
bool SolidMechanicsMaterial::_has_c
protectedinherited

Definition at line 38 of file SolidMechanicsMaterial.h.

bool SolidMechanicsMaterial::_has_temp
protectedinherited

Definition at line 35 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeProperties().

MaterialProperty<SymmElasticityTensor>& SolidMechanicsMaterial::_Jacobian_mult
protectedinherited
MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_stress
protectedinherited
const VariableValue& SolidMechanicsMaterial::_temp
protectedinherited

Definition at line 36 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeProperties().

std::vector<VolumetricModel *> SolidMechanicsMaterial::_volumetric_models
protectedinherited

Definition at line 41 of file SolidMechanicsMaterial.h.


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