www.mooseframework.org
AnisotropicElasticityTensor.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "ElasticityTensor.h"
13 #include "libmesh/libmesh.h"
14 #include "libmesh/vector_value.h"
15 #include "libmesh/dense_matrix.h"
16 #include "libmesh/mesh.h"
17 
38 {
39 public:
41 
43 
48  void setFirstEulerAngle(const Real a1);
49 
54  void setSecondEulerAngle(const Real a2);
55 
60  void setThirdEulerAngle(const Real a3);
61 
66  void setMaterialConstantc11(const Real c11);
67 
72  void setMaterialConstantc12(const Real c12);
73 
78  void setMaterialConstantc44(const Real c44);
79 
80 protected:
81  std::vector<Real> _euler_angle; // Stores Euler angeles
82 
83  Real _c11, _c12, _c44; // Material Constants
84 
89  virtual void calculateEntries(unsigned int qp);
90 };
91 
AnisotropicElasticityTensor::calculateEntries
virtual void calculateEntries(unsigned int qp)
Fill in the matrix.
Definition: AnisotropicElasticityTensor.C:54
AnisotropicElasticityTensor
Defines an Isotropic Elasticity Tensor.
Definition: AnisotropicElasticityTensor.h:37
AnisotropicElasticityTensor::~AnisotropicElasticityTensor
virtual ~AnisotropicElasticityTensor()
Definition: AnisotropicElasticityTensor.h:42
AnisotropicElasticityTensor::setFirstEulerAngle
void setFirstEulerAngle(const Real a1)
Set the first euler angle.
Definition: AnisotropicElasticityTensor.C:18
AnisotropicElasticityTensor::setMaterialConstantc44
void setMaterialConstantc44(const Real c44)
Set the material constant c44.
Definition: AnisotropicElasticityTensor.C:48
AnisotropicElasticityTensor::_euler_angle
std::vector< Real > _euler_angle
Definition: AnisotropicElasticityTensor.h:81
AnisotropicElasticityTensor::setSecondEulerAngle
void setSecondEulerAngle(const Real a2)
Set the second euler angle.
Definition: AnisotropicElasticityTensor.C:24
ElasticityTensor
This class defines a basic set of capabilities any elasticity tensor should have.
Definition: ElasticityTensor.h:23
AnisotropicElasticityTensor::AnisotropicElasticityTensor
AnisotropicElasticityTensor()
Definition: AnisotropicElasticityTensor.C:12
AnisotropicElasticityTensor::setMaterialConstantc11
void setMaterialConstantc11(const Real c11)
Set the material constant c11.
Definition: AnisotropicElasticityTensor.C:36
AnisotropicElasticityTensor::_c12
Real _c12
Definition: AnisotropicElasticityTensor.h:83
AnisotropicElasticityTensor::setMaterialConstantc12
void setMaterialConstantc12(const Real c12)
Set the material constant c22.
Definition: AnisotropicElasticityTensor.C:42
AnisotropicElasticityTensor::_c44
Real _c44
Definition: AnisotropicElasticityTensor.h:83
ElasticityTensor.h
AnisotropicElasticityTensor::_c11
Real _c11
Definition: AnisotropicElasticityTensor.h:83
AnisotropicElasticityTensor::setThirdEulerAngle
void setThirdEulerAngle(const Real a3)
Set the third euler angle.
Definition: AnisotropicElasticityTensor.C:30