Tutorials
Please note: Make sure you activate your environment before running any python code that invoke Simcoon.
The python script and input files for this tutoial can be found here:
To be able to follow these tutorials it is much better to install the ipython environment and a few more libraries:
Composite simulation with mean field methods
Please note: Be careful with the data type while you pass numpy arrays. Make sure you define them as dtype=’float’ unless specified, since they will be interpreted as float by Simcoon, i.e.: x = np.array([1, 2, 3, 4, 5], dtype=’float’)
In this tutorial we will study the evolution of the mechanical properties of a composite material considering spherical reinforcement (sew figure below)
Elastic properties will be evaluated depending on the volume fraction of reinforcement (up to 50% volume fraction).
The following elastic properties for the matrix is considered: \(E = 2250\) MPa, \(\nu = 0.19\). The following elastic properties for the reinforcement is considered: \(E = 2250\) MPa, \(\nu = 0.19\)
A: Effective properties of the composite with 20% of reinforcement
The first thing we want to do is to add a file in a ‘data’ folder, named ‘Nellipsoids0.dat’. This file can be downloaded here:
Number | Coatingof | umat | save | c | psi_mat | theta_mat | phi_mat | a1 | a2 | a3 | psi_geom | theta_geom | phi_geom | nprops | nstatev | props | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | ELISO | 1 | 0.8 | 0. | 0. | 0. | 1 | 1 | 1 | 0. | 0. | 0. | 3 | 1 | 2250 | 0.19 | 0. |
1 | 0 | ELISO | 1 | 0.2 | 0. | 0. | 0. | 1 | 1 | 1 | 0. | 0. | 0. | 3 | 1 | 73000 | 0.19 | 0. |
Next we shall inform the number of internal state variables (if any) at the macroscopic level and the material properties:
There is a possibility to consider a misorientation between the test frame of reference and the composite material orientation, considering Euler angles with the z-x-z. The stiffness tensor will be returned in the test frame of reference. Also, we shall inform which micrmechanical scheme will be used. Enter umat_name = ‘MIMTN’ for a Mori-Tanaka scheme and umat_name = ‘MISCN’ for a self-consistent scheme
We are now ready to run the simulation, get the effective isotropic elastic properties (since both phases are isotropic and the reinforcements are spherical) and print them:
The result is a python numpy array containing the material parameters (here two, the Young’s modulus and the Poisson ratio):
Notice: Note that despite the Poisson ratio is the same between the two materials, the stiffness mismatch between the two phases lead to a different effective Poisson ratio.
B: Effective properties of the composite as a function of the reinforcements
02: Cubic symmetry and directional stiffness
In this tutorial we will plot the directional stiffness of a cubic material. Make sure first that you have matplotlib installed:
We shall first import the libraries required, i.e. lumpy, matplotlib and simcoon. We also indicate to use \(\LaTeX\) into the matplotlib plots:
We explore next the possible direction in the three-dimensional space using a unit vector \(\vec{n}\), and the result is stored into a numpy array:
\(\vec{n} = \left( \begin{array}{c} \sin (\theta) \cos (\phi) \\ \sin (\theta) \sin (\phi) \\ \cos (\theta) \end{array} \right)\)
Next we are using Simcoon to determine the elastic stiffness matrix \(\mathcal{L}\) from the cubic stiffness components \((C_{11}, C_{12}, C_{44})\) and to invert it to obtain the compliance matrix \(\mathcal{M}\):
We write now a numpy array that performs the operation \(\vec{n} \cdot \mathcal{M} \cdot \vec{n}\) and invert it to obtain the elastic stiffness for all the directions of the vector \(\vec{n}\). The last operation is to get the components \((x,y,z)\) of this stiffness to be able to plot a surface plot:
The last part consist in plotting the results into a surface plot and get the nice following picture: