In [1]:
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from simmit import smartplus as sim
import os
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 :
In [2]:
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)
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’.
In [3]:
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)
In [4]:
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)
In [5]:
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)
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.
In [6]:
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)
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);
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.
In [7]:
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)
Provides the elastic stiffness tensor for an orthotropic material. Arguments are either (convention 'EnuG'):
or the list of Cii (C11, C12, C13, C22, C23, C33, C44, C55, C66) (convention 'Cii')
In [8]:
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)
Provides the elastic compliance tensor for an orthotropic material. Arguments are either (convention 'EnuG'):
or the list of Cii (C11, C12, C13, C22, C23, C33, C44, C55, C66) (convention 'Cii')
In [9]:
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)
In [ ]: