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 33 of file LinearGeneralAnisotropicMaterial.h.

Constructor & Destructor Documentation

◆ LinearGeneralAnisotropicMaterial()

LinearGeneralAnisotropicMaterial::LinearGeneralAnisotropicMaterial ( const InputParameters &  parameters)

Definition at line 41 of file LinearGeneralAnisotropicMaterial.C.

43  : SolidMechanicsMaterial(parameters),
44  _euler_angle_1(getParam<Real>("euler_angle_1")),
45  _euler_angle_2(getParam<Real>("euler_angle_2")),
46  _euler_angle_3(getParam<Real>("euler_angle_3")),
47  _Cijkl_matrix_vector(getParam<std::vector<Real>>("C_matrix")),
48  _all_21(getParam<bool>("all_21")),
50 {
51  // fill in the local tensors from the input vector information
53 
54  // rotate the C_ijkl matrix
56 
57  // debugging
58  /*_Cijkl_matrix.show_r_matrix();
59  _Cijkl_matrix.show_dt_matrix();
60  if (libMesh::on_command_line("--debug") || libMesh::on_command_line("--debug-elasticity-Cijkl"))
61  {
62  libMesh::out << "Material " << this->name() << " on mesh block " << this->blockID() << " has
63  _Cijkl_matrix:\n" << _Cijkl_matrix << "\n";
64  }*/
65 }
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

◆ computeQpElasticityTensor()

void LinearGeneralAnisotropicMaterial::computeQpElasticityTensor ( )
protectedvirtual

Definition at line 76 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

77 {
78  // Fill in the matrix stiffness material property
81 }
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
SymmAnisotropicElasticityTensor _Cijkl_matrix
MaterialProperty< SymmElasticityTensor > & _Jacobian_mult

◆ computeQpProperties()

void LinearGeneralAnisotropicMaterial::computeQpProperties ( )
protectedvirtual

◆ computeQpStrain()

void LinearGeneralAnisotropicMaterial::computeQpStrain ( )
protectedvirtual

Definition at line 84 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

85 {
87  _grad_disp_y[_qp](1),
88  _grad_disp_z[_qp](2),
89  0.5 * (_grad_disp_x[_qp](1) + _grad_disp_y[_qp](0)),
90  0.5 * (_grad_disp_y[_qp](2) + _grad_disp_z[_qp](1)),
91  0.5 * (_grad_disp_z[_qp](0) + _grad_disp_x[_qp](2)));
92 }
MaterialProperty< SymmTensor > & _elastic_strain
const VariableGradient & _grad_disp_y
const VariableGradient & _grad_disp_x
const VariableGradient & _grad_disp_z

◆ computeQpStress()

void LinearGeneralAnisotropicMaterial::computeQpStress ( )
protectedvirtual

Definition at line 95 of file LinearGeneralAnisotropicMaterial.C.

Referenced by computeQpProperties().

96 {
97  // stress = C * e
98  _stress[_qp] = _elasticity_tensor[_qp] * _elastic_strain[_qp];
99 }
MaterialProperty< SymmTensor > & _elastic_strain
MaterialProperty< SymmElasticityTensor > & _elasticity_tensor
MaterialProperty< SymmTensor > & _stress

◆ createProperty()

template<typename T >
MaterialProperty<T>& SolidMechanicsMaterial::createProperty ( const std::string &  prop_name)
inlineprotectedinherited

Definition at line 59 of file SolidMechanicsMaterial.h.

60  {
61  std::string name(prop_name + _appended_property_name);
62  return declareProperty<T>(name);
63  }
const std::string name
Definition: Setup.h:22
const std::string _appended_property_name

◆ getPropertyOld()

template<typename T >
const MaterialProperty<T>& SolidMechanicsMaterial::getPropertyOld ( const std::string &  prop_name)
inlineprotectedinherited

Definition at line 66 of file SolidMechanicsMaterial.h.

67  {
68  std::string name(prop_name + _appended_property_name);
69  return getMaterialPropertyOld<T>(name);
70  }
const std::string name
Definition: Setup.h:22
const std::string _appended_property_name

◆ initQpStatefulProperties()

void SolidMechanicsMaterial::initQpStatefulProperties ( )
overrideprotectedvirtualinherited

Definition at line 32 of file SolidMechanicsMaterial.C.

33 {
34 }

Member Data Documentation

◆ _all_21

bool LinearGeneralAnisotropicMaterial::_all_21
private

Definition at line 56 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

◆ _appended_property_name

const std::string SolidMechanicsMaterial::_appended_property_name
protectedinherited

◆ _c

const VariableValue& SolidMechanicsMaterial::_c
protectedinherited

◆ _Cijkl_matrix

SymmAnisotropicElasticityTensor LinearGeneralAnisotropicMaterial::_Cijkl_matrix
private

◆ _Cijkl_matrix_vector

std::vector<Real> LinearGeneralAnisotropicMaterial::_Cijkl_matrix_vector
private

Definition at line 53 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

◆ _d_strain_dT

SymmTensor SolidMechanicsMaterial::_d_strain_dT
protectedinherited

◆ _d_stress_dT

MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_d_stress_dT
protectedinherited

Definition at line 54 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeStrain().

◆ _elastic_strain

MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_elastic_strain
protectedinherited

◆ _elasticity_tensor

MaterialProperty<SymmElasticityTensor>& SolidMechanicsMaterial::_elasticity_tensor
protectedinherited

◆ _euler_angle_1

Real LinearGeneralAnisotropicMaterial::_euler_angle_1
private

Definition at line 48 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

◆ _euler_angle_2

Real LinearGeneralAnisotropicMaterial::_euler_angle_2
private

Definition at line 49 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

◆ _euler_angle_3

Real LinearGeneralAnisotropicMaterial::_euler_angle_3
private

Definition at line 50 of file LinearGeneralAnisotropicMaterial.h.

Referenced by LinearGeneralAnisotropicMaterial().

◆ _grad_disp_x

const VariableGradient& SolidMechanicsMaterial::_grad_disp_x
protectedinherited

◆ _grad_disp_y

const VariableGradient& SolidMechanicsMaterial::_grad_disp_y
protectedinherited

◆ _grad_disp_z

const VariableGradient& SolidMechanicsMaterial::_grad_disp_z
protectedinherited

◆ _has_c

bool SolidMechanicsMaterial::_has_c
protectedinherited

Definition at line 41 of file SolidMechanicsMaterial.h.

◆ _has_temp

bool SolidMechanicsMaterial::_has_temp
protectedinherited

Definition at line 38 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeProperties().

◆ _Jacobian_mult

MaterialProperty<SymmElasticityTensor>& SolidMechanicsMaterial::_Jacobian_mult
protectedinherited

◆ _stress

MaterialProperty<SymmTensor>& SolidMechanicsMaterial::_stress
protectedinherited

◆ _temp

const VariableValue& SolidMechanicsMaterial::_temp
protectedinherited

Definition at line 39 of file SolidMechanicsMaterial.h.

Referenced by LinearIsotropicMaterial::computeProperties().

◆ _volumetric_models

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

Definition at line 44 of file SolidMechanicsMaterial.h.


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