8 #ifndef COMMON_LIBMESH_CODE_ANISOTROPIC_ELASTICITY_CUBIC_SYM_H_
9 #define COMMON_LIBMESH_CODE_ANISOTROPIC_ELASTICITY_CUBIC_SYM_H_
17 std::vector<int> m_idx_mult;
35 std::vector<libMesh::Real>
vector;
41 vector.resize(std::pow(m_dim,4),0);
43 for(
int iii = 0; iii < 4; ++iii)
45 m_idx_mult[iii] = std::pow(m_dim,iii);
48 libMesh::Real&
operator () (
unsigned int iii,
unsigned int jjj,
unsigned int kkk,
unsigned int lll);
53 m_idx = m_idx_mult[0] * iii
56 + m_idx_mult[3] * lll;
63 std::vector<libMesh::DenseMatrix<libMesh::Real> > m_Rotation_matrices;
64 std::vector<Order4Tensor> m_Elasticity_tensors;
65 std::vector<double> m_angles_x;
66 std::vector<double> m_angles_y;
67 std::vector<double> m_angles_z;
68 std::unordered_map<int,int> m_domain_to_vec_map;
76 void generate_rotation_matrices();
77 void generate_elasticity_tensors();
100 void set_parameters(libMesh::EquationSystems& es, std::string& physicalParamsFile);
102 libMesh::DenseMatrix<libMesh::Real>&
get_rotation(
int idx_grain);
void set_dimension(int dim)
void set_parameters(libMesh::EquationSystems &es, std::string &physicalParamsFile)
std::vector< libMesh::Real > vector
libMesh::Real eval_internal_elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
anisotropic_elasticity_tensor_cubic_sym()
libMesh::Real & operator()(unsigned int iii, unsigned int jjj, unsigned int kkk, unsigned int lll)
Order4Tensor & get_elasticity(int idx_grain)
libMesh::Real eval_elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l, int idx_grain)
anisotropic_elasticity_tensor_cubic_sym(libMesh::EquationSystems &es, std::string &physicalParamsFile)
libMesh::DenseMatrix< libMesh::Real > & get_rotation(int idx_grain)