Plot Young modulus as a 3D surface

This example shows how to plot the directional dependence of the Young modulus as a 3D surface.

Define the stiffness tensor for NiTi

We define the stiffness tensor for a monoclinic NiTi material using its elastic constants. They are taken from the Materials Project (mp-1048).

from elasticipy.tensors.elasticity import StiffnessTensor
C = StiffnessTensor.monoclinic(
    phase_name='TiNi',
    C11=231, C12=127, C13=104,
    C22=240, C23=131, C33=175,
    C44=81, C55=11, C66=85,
    C15=-18, C25=1, C35=-3, C46=3
)
print(C)
Stiffness tensor (in Voigt mapping):
[[231. 127. 104.   0. -18.   0.]
 [127. 240. 131.   0.   1.   0.]
 [104. 131. 175.   0.  -3.   0.]
 [  0.   0.   0.  81.   0.   3.]
 [-18.   1.  -3.   0.  11.   0.]
 [  0.   0.   0.   3.   0.  85.]]
Phase: TiNi

Get the Young modulus from the stiffness tensor

E = C.Young_modulus
print("Young's modulus:")
print(E)
Young's modulus:
Spherical function
Min=26.28357770763925, Max=191.396591469876

Plot it as a 3D surface



Use Matplotlib instead of Plotly

By default, elasticipy uses Plotly to render the surface, allowing interactive plot (see above). Matplolib can be used instead:

E.plot3D(backend='matplotlib')
Young 3D
<Axes3D: xlabel='X', ylabel='Y', zlabel='Z'>

Total running time of the script: (0 minutes 0.417 seconds)

Gallery generated by Sphinx-Gallery