The Transfer Library
-
mat v2t_strain(const vec &v)
Converts a second order strain tensor written as a vector v in the ‘simcoon’ formalism into a second order strain tensor written as a matrix m.
vec v = randu(6); mat m = v2t_strain(v);
-
vec t2v_strain(const mat &strain)
Converts a second order strain tensor written as a matrix m in the ‘simcoon’ formalism into a second order strain tensor written as a vector v.
mat m = randu(6,6); vec v = t2v_strain(m);
-
mat v2t_stress(const vec &v)
Converts a second order stress tensor written as a vector v in the ‘simcoon’ formalism into a second order stress tensor written as a matrix m.
vec v = randu(6); mat m = v2t_stress(v);
-
vec t2v_stress(const mat &stress)
Converts a second order stress tensor written as a matrix m in the ‘simcoon’ formalism into a second order stress tensor written as a vector v.
mat m = randu(6,6); vec v = t2v_stress(m);
-
mat v2t_stress(const vec &v)
Converts a second order stress tensor written as a vector v in the ‘simcoon’ formalism into a second order stress tensor written as a matrix m.
vec v = randu(6); mat m = v2t_stress(v);
-
vec t2v_sym(const mat &m)
Converts a 3x3 symmetric matrix into a 6 component vector {11,22,33,12,13,23}
mat m = randu(3,3); vec v = t2v_sym(m);
-
mat v2t_sym(const vec &v)
Converts a 6 component vector {11,22,33,12,13,23} into a 3x3 symmetric matrix
vec v = randu(6); mat m = t2v_sym(m);
-
mat v2t_skewsym(const vec &v)
Converts a 6 component vector {11,22,33,12,13,23} into a 3x3 antisymmetric matrix, while keeping the diagonal components
\[\begin{split}m = \left( \begin{array}{ccc} v_1 & v_4 & v_5 \\ -v_4 & v_2 & v_6 \\ v_5 & -v_6 & v_3 \end{array} \right)\end{split}\]vec v = randu(6); mat m = t2v_sym(m);
-
mat v2t(const vec &v)
Converts a 9 component vector {11,12,13,21,22,23,31,32,33} into a 3x3 symmetric matrix
vec v = randu(9);
mat m = t2v(m);
-
Tensor1<double, 3> vec_FTensor1(const vec &v)
Converts an armadillo colvec of size 3 to a FTensor Tensor of the 1st rank
vec v = randu(3); FTensor::Tensor1<double,3> = vec_FTensor1(v);
-
Tensor1<double, 3> vec_FTensor1(const vec &v)
Converts an armadillo colvec of size 3 to a FTensor Tensor of the 1st rank
vec v = randu(3); FTensor::Tensor1<double,3> = vec_FTensor1(v);
-
Tensor2<double, 3, 3> mat_FTensor2(const mat &m)
Converts an armadillo 3x3 matrix to a FTensor Tensor of the 2nd rank
mat m = randu(3,3);
FTensor::Tensor2<double,3,3> = mat_FTensor2(m);
-
Tensor2<double, 3, 3> v_FTensor2_strain(const vec &v)
Converts an armadillo column vector (6) that correspond to a strain vector in Voigt notation to a FTensor Tensor of the 2nd rank
mat m = randu(3,3);
vec v = t2v_strain(m);
FTensor::Tensor2<double,3,3> = v_FTensor2_strain(v);
-
Tensor2<double, 3, 3> v_FTensor2_stress(const vec &v)
Converts an armadillo column vector (6) that correspond to a stress vector in Voigt notation to a FTensor Tensor of the 2nd rank
mat m = randu(3,3); vec v = t2v_stress(m); FTensor::Tensor2<double,3,3> = v_FTensor2_stress(v);
-
mat FTensor4_mat(const Tensor4<double, 3, 3, 3, 3> &C)
Converts a FTensor 4th order tensor with minor symmetries into an armadillo 6x6 matrix
Tensor4<double,3,3,3,3> C; ... fill L_tilde to obtain a stiffness 4th order tensor mat L = FTensor4_mat(C);
-
Tensor4<double, 3, 3, 3, 3> mat_FTensor4(const mat &L)
Converts a FTensor 4th order tensor with minor symmetries into an armadillo 6x6 matrix
mat L = L_iso(70000,0.3,’Enu’); Tensor4<double,3,3,3,3> C = mat_FTensor4(L);
-
mat B_klmn(const vec &b_i, const vec &b_j)