<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 constitutive 
Step1:  L_iso
Provides the elastic stiffness tensor for an isotropic material.
The two first arguments are a couple of elastic properties. The third argument specifies which couple has been provided and the nature and order of coefficients.
Exhaustive list of possible third argument 
Step2:  M_iso
Provides the elastic compliance tensor for an isotropic material.
The two first arguments are a couple of elastic properties. The third argument specify which couple has been provided and the nature and order of coefficients.
Exhaustive list of possible third argument 
Step3:  L_cubic
Provides the elastic stiffness tensor for a cubic material. Arguments are the stiffness coefficients C11, C12 and C44, or the elastic constants E, nu, G
Exhaustive list of possible third argument 
Step4:  M_cubic
Provides the elastic compliance tensor for a cubic material. Arguments are the stiffness coefficients C11, C12 and C44, or the elastic constants E, nu, G
Exhaustive list of possible third argument 
Step5:  L_isotrans
Provides the elastic stiffness tensor for an isotropic transverse material.
Arguments are longitudinal Young modulus EL, transverse young modulus, Poisson’s ratio for loading along the longitudinal axis nuTL, Poisson’s ratio for loading along the transverse axis nuTT, shear modulus GLT and the axis of symmetry.
Step6:  bp
Step7:  L_ortho
Provides the elastic stiffness tensor for an orthotropic material.
Arguments are either (convention 'EnuG')
Step8:  M_ortho
Provides the elastic compliance tensor for an orthotropic material.
Arguments are either (convention 'EnuG')
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from simmit import smartplus as sim
import os
Explanation: constitutive : The Constitutive Library
End of explanation
E = 70000.0
nu = 0.3
L = sim.L_iso(E,nu,"Enu")
print np.array_str(L, precision=4, suppress_small=True)
d = sim.check_symetries(L)
print(d['umat_type'])
print(d['props'])
x = sim.L_iso_props(L)
print(x)
Explanation: L_iso
Provides the elastic stiffness tensor for an isotropic material.
The two first arguments are a couple of elastic properties. The third argument specifies which couple has been provided and the nature and order of coefficients.
Exhaustive list of possible third argument :
‘Enu’,’nuE,’Kmu’,’muK’, ‘KG’, ‘GK’, ‘lambdamu’, ‘mulambda’, ‘lambdaG’, ‘Glambda’.
Return a numpy ndarray.
Example :
End of explanation
E = 70000.0
nu = 0.3
M = sim.M_iso(E,nu,"Enu")
print np.array_str(M, precision=2)
L_inv = np.linalg.inv(M)
d = sim.check_symetries(L_inv)
print(d['umat_type'])
print(d['props'])
x = sim.M_iso_props(M)
print(x)
Explanation: M_iso
Provides the elastic compliance tensor for an isotropic material.
The two first arguments are a couple of elastic properties. The third argument specify which couple has been provided and the nature and order of coefficients.
Exhaustive list of possible third argument :
‘Enu’,’nuE,’Kmu’,’muK’, ‘KG’, ‘GK’, ‘lambdamu’, ‘mulambda’, ‘lambdaG’, ‘Glambda’.
End of explanation
E = 70000.0
nu = 0.3
G = 23000.0
L = sim.L_cubic(E,nu,G,"EnuG")
print np.array_str(L, precision=2)
d = sim.check_symetries(L)
print(d['umat_type'])
print(d['props'])
x = sim.L_cubic_props(L)
print(x)
Explanation: L_cubic
Provides the elastic stiffness tensor for a cubic material. Arguments are the stiffness coefficients C11, C12 and C44, or the elastic constants E, nu, G
Exhaustive list of possible third argument : ‘Cii’,’EnuG, the by-default argument is 'Cii'
End of explanation
E = 70000.0
nu = 0.3
G = 23000.0
M = sim.M_cubic(E,nu,G,"EnuG")
print np.array_str(M, precision=2)
L = np.linalg.inv(M)
d = sim.check_symetries(L)
print(d['umat_type'])
print(d['props'])
x = sim.L_cubic_props(L)
print(x)
Explanation: M_cubic
Provides the elastic compliance tensor for a cubic material. Arguments are the stiffness coefficients C11, C12 and C44, or the elastic constants E, nu, G
Exhaustive list of possible third argument : ‘Cii’,’EnuG, the by-default argument is 'Cii'
End of explanation
EL = 70000.0
ET = 20000.0
nuTL = 0.08
nuTT = 0.3
GLT = 12000.0
axis = 3
L = sim.L_isotrans(EL,ET,nuTL,nuTT,GLT,axis)
print np.array_str(L, precision=2)
d = sim.check_symetries(L)
print(d['umat_type'])
print(d['axis'])
print np.array_str(d['props'], precision=2)
x = sim.L_isotrans_props(L,axis)
print np.array_str(x, precision=2)
Explanation: L_isotrans
Provides the elastic stiffness tensor for an isotropic transverse material.
Arguments are longitudinal Young modulus EL, transverse young modulus, Poisson’s ratio for loading along the longitudinal axis nuTL, Poisson’s ratio for loading along the transverse axis nuTT, shear modulus GLT and the axis of symmetry.
End of explanation
EL = 70000.0
ET = 20000.0
nuTL = 0.08
nuTT = 0.3
GLT = 12000.0
axis = 3
M = sim.M_isotrans(EL,ET,nuTL,nuTT,GLT,axis)
print np.array_str(M, precision=2)
x = sim.M_isotrans_props(M,axis)
print np.array_str(x, precision=2)
Explanation: bp::def("L_iso", L_iso);
bp::def("M_iso", M_iso);
bp::def("L_cubic", L_cubic);
bp::def("M_cubic", M_cubic);
bp::def("L_ortho", L_ortho);
bp::def("M_ortho", M_ortho);
bp::def("L_isotrans", L_isotrans);
bp::def("M_isotrans", M_isotrans);
bp::def("check_symetries", check_symetries);
bp::def("L_iso_props", L_iso_props);
bp::def("M_iso_props", M_iso_props);
bp::def("L_isotrans_props", L_isotrans_props);
bp::def("M_isotrans_props", M_isotrans_props);
bp::def("L_cubic_props", L_cubic_props);
bp::def("M_cubic_props", M_cubic_props);
bp::def("L_ortho_props", L_ortho_props);
bp::def("M_ortho_props", M_ortho_props);
bp::def("M_aniso_props", M_aniso_props);
M_isotrans
Provides the elastic compliance tensor for an isotropic transverse material.
Arguments are longitudinal Young modulus EL, transverse young modulus, Poisson’s ratio for loading along the longitudinal axis nuTL, Poisson’s ratio for loading along the transverse axis nuTT, shear modulus GLT and the axis of symmetry.
End of explanation
E_1 = 4500.0
E_2 = 2300.0
E_3 = 2700.0
nu_12 = 0.06
nu_13 = 0.08
nu_23 = 0.3
G_12 = 2200.0
G_13 = 2100.0
G_23 = 2400.0
L = sim.L_ortho(E_1,E_2,E_3,nu_12,nu_13,nu_23,G_12,G_13,G_23,'EnuG')
print np.array_str(L, precision=2)
d = sim.check_symetries(L)
print(d['umat_type'])
print(d['axis'])
print np.array_str(d['props'], precision=2)
x = sim.L_ortho_props(L)
print np.array_str(x, precision=2)
Explanation: L_ortho
Provides the elastic stiffness tensor for an orthotropic material.
Arguments are either (convention 'EnuG'):
The Young modulus of axis 1 $E_1$,
The Young modulus of axis 2 $E_2$,
The Young modulus of axis 3 $E_3$,
The Poisson ratio of direction 1 with respect to 2 $\nu_{12}$,
The Poisson ratio of direction 1 with respect to 3 $\nu_{13}$,
The Poisson ratio of direction 2 with respect to 3 $\nu_{13}$,
The shear modulus of direction 1 with respect to 2 $G_{12}$,
The shear modulus of direction 1 with respect to 3 $G_{13}$,
The shear modulus of direction 2 with respect to 3 $G_{23}$,
The axial coefficient of thermal expansion in direction 1 $\alpha_1$,
The axial coefficient of thermal expansion in direction 1 $\alpha_2$,
The axial coefficient of thermal expansion in direction 1 $\alpha_3$,
or the list of Cii (C11, C12, C13, C22, C23, C33, C44, C55, C66) (convention 'Cii')
End of explanation
E_1 = 4500.0
E_2 = 2300.0
E_3 = 2700.0
nu_12 = 0.06
nu_13 = 0.08
nu_23 = 0.3
G_12 = 2200.0
G_13 = 2100.0
G_23 = 2400.0
M = sim.M_ortho(E_1,E_2,E_3,nu_12,nu_13,nu_23,G_12,G_13,G_23,'EnuG')
print np.array_str(M, precision=2)
x = sim.M_ortho_props(M)
print np.array_str(x, precision=2)
Explanation: M_ortho
Provides the elastic compliance tensor for an orthotropic material.
Arguments are either (convention 'EnuG'):
The Young modulus of axis 1 $E_1$,
The Young modulus of axis 2 $E_2$,
The Young modulus of axis 3 $E_3$,
The Poisson ratio of direction 1 with respect to 2 $\nu_{12}$,
The Poisson ratio of direction 1 with respect to 3 $\nu_{13}$,
The Poisson ratio of direction 2 with respect to 3 $\nu_{13}$,
The shear modulus of direction 1 with respect to 2 $G_{12}$,
The shear modulus of direction 1 with respect to 3 $G_{13}$,
The shear modulus of direction 2 with respect to 3 $G_{23}$,
The axial coefficient of thermal expansion in direction 1 $\alpha_1$,
The axial coefficient of thermal expansion in direction 1 $\alpha_2$,
The axial coefficient of thermal expansion in direction 1 $\alpha_3$,
or the list of Cii (C11, C12, C13, C22, C23, C33, C44, C55, C66) (convention 'Cii')
End of explanation
<END_TASK>