Quick View¶
Here is a brief gallery of some stress distribution plots produced from LamAna.
Single Geometry Plots¶
We can plot stress distributions for a single laminate as a function of height, d or normalized thicknesses, k (default).
In [5]:
case1 = la.distributions.Case(load_params, mat_props) # instantiate a User Input Case Object through distributions
case1.apply(single_geo)
case1.plot(normalized=False)
Converting mat_props to Standard Form.
User input geometries have been converted and set to Case.
In [6]:
case1.plot(normalized=True, grayscale=True)
We can superimpose insets and adjust the colors for publications quality.
In [7]:
case1.plot(annotate=True, colorblind=True, inset=True)
Multiple Geometry Plots¶
With normalized layers, we can superimpose multiple stress distributions
fpr laminates different geometries. Data for multiple laminates are
encapsulated in a Case
object.
In [10]:
case2.plot(title, colorblind=True, annotate=True)
These distributions can be separated as desired into a panel of various plots.
In [11]:
case2.plot(title, colorblind=True, annotate=True, separate=True)
Halfplots¶
The following has not been fully implemented yet, but demonstrates several multi-plots of tensile data. Each plot shows some pattern of interest, for example:
- constant total thickness; varied layer thicknesses
- constant outer layer
- constant inner layer
- constant middle layer
Panels of multi-plots are possible with a Cases
object, a container
for several Case
objects.
In [13]:
cases1.plot(extrema=False)
Data Analysis¶
Using a prior case, we can analyze the data calculations based on a given theorical model.
In [15]:
case1.model
Out[15]:
'Wilson_LT'
Data for each laminate is contained in a
pandas DataFrame
, a powerful data
structure for data analysis.
In [17]:
#df = case1.frames
df = case1.frames[0]
df
#df.style # pandas 0.17.1, css on html table
#df.style.bar(subset=['stress_f (MPa/N)', 'strain'], color='#d65f5f')
Accessing frames method.
Out[17]:
layer | side | type | matl | ... | strain_t | stress_r (Pa/N) | stress_t (Pa/N) | stress_f (MPa/N) | |
---|---|---|---|---|---|---|---|---|---|
0 | 1 | Tens. | outer | HA | ... | 5.965e-06 | 274182.824 | 378730.663 | 0.379 |
1 | 1 | Tens. | outer | HA | ... | 3.579e-06 | 164509.695 | 227238.398 | 0.227 |
2 | 2 | Tens. | inner | PSu | ... | 3.579e-06 | 9854.181 | 12915.334 | 0.013 |
3 | 2 | Tens. | inner | PSu | ... | 2.386e-06 | 6569.454 | 8610.223 | 0.009 |
4 | 3 | Tens. | middle | HA | ... | 2.386e-06 | 109673.130 | 151492.265 | 0.151 |
5 | 3 | Comp. | middle | HA | ... | -2.386e-06 | -109673.130 | -151492.265 | -0.151 |
6 | 4 | Comp. | inner | PSu | ... | -2.386e-06 | -6569.454 | -8610.223 | -0.009 |
7 | 4 | Comp. | inner | PSu | ... | -3.579e-06 | -9854.181 | -12915.334 | -0.013 |
8 | 5 | Comp. | outer | HA | ... | -3.579e-06 | -164509.695 | -227238.398 | -0.227 |
9 | 5 | Comp. | outer | HA | ... | -5.965e-06 | -274182.824 | -378730.663 | -0.379 |
10 rows × 22 columns
Exporting Data¶
Finally, we can export data and parameters to Excel or .csv formats.
case1.to_xlsx()Conclusion¶
With a few simple lines of code, we can use LamAna to quickly perform laminate analysis calculations, visulalize stress distributions and export data.
...and it’s FREE.