weac.analysis.plotter module¶
This module provides plotting functions for visualizing the results of the WEAC model.
- class weac.analysis.plotter.MidpointNormalize(vmin, vmax, midpoint=0, clip=False)[source]¶
Bases:
NormalizeColormap normalization to a specified midpoint. Default is 0.
- class weac.analysis.plotter.Plotter(plot_dir='plots')[source]¶
Bases:
objectModern plotting class for WEAC simulations with support for multiple system comparisons.
This class provides comprehensive visualization capabilities for weak layer anticrack nucleation simulations, including single system analysis and multi-system comparisons.
Features: - Single and multi-system plotting - System override functionality for selective plotting - Comprehensive dashboard creation - Modern matplotlib styling - Jupyter notebook integration - Automatic plot directory management
- Parameters:
plot_dir (str)
- __init__(plot_dir='plots')[source]¶
Initialize the plotter.
- Parameters:
system (SystemModel, optional) – Single system model for analysis
systems (List[SystemModel], optional) – List of system models for comparison
labels (List[str], optional) – Labels for each system in plots
colors (List[str], optional) – Colors for each system in plots
plot_dir (str, default "plots") – Directory to save plots
- plot_slab_profile(weak_layers, slabs, filename='slab_profile', labels=None, colors=None)[source]¶
Plot slab layer profiles for comparison.
- Parameters:
- Returns:
The generated plot figure.
- Return type:
matplotlib.figure.Figure
- plot_rotated_slab_profile(weak_layer, slab, angle=0, weight=0, slab_width=200, filename='rotated_slab_profile', title='Rotated Slab Profile')[source]¶
Plot a rectangular slab profile with layers stacked vertically, colored by density, and rotated by the specified angle.
- Parameters:
weak_layer (WeakLayer) – The weak layer to plot at the bottom.
slab (Slab) – The slab with layers to plot.
angle (float, optional) – Rotation angle in degrees. Default is 0.
slab_width (float, optional) – Width of the slab rectangle in mm. Default is 200.
filename (str, optional) – Filename for saving plot. Default is “rotated_slab_profile”.
title (str, optional) – Plot title. Default is “Rotated Slab Profile”.
weight (float)
- Returns:
The generated plot figure.
- Return type:
matplotlib.figure.Figure
- plot_section_forces(system_model=None, system_models=None, filename='section_forces', labels=None, colors=None)[source]¶
Plot section forces (N, M, V) for comparison.
- Parameters:
system_model (SystemModel, optional) – Single system to plot (overrides default)
system_models (List[SystemModel], optional) – Multiple systems to plot (overrides default)
filename (str, optional) – Filename for saving plot
labels (list of str, optional) – Labels for each system.
colors (list of str, optional) – Colors for each system.
- plot_energy_release_rates(system_model=None, system_models=None, filename='ERR', labels=None, colors=None)[source]¶
Plot energy release rates (G_I, G_II) for comparison.
- Parameters:
system_model (SystemModel, optional) – Single system to plot (overrides default)
system_models (List[SystemModel], optional) – Multiple systems to plot (overrides default)
filename (str, optional) – Filename for saving plot
labels (list of str, optional) – Labels for each system.
colors (list of str, optional) – Colors for each system.
- plot_deformed(xsl, xwl, z, analyzer, dz=2, scale=100, window=np.inf, pad=2, levels=300, aspect=2, field='w', normalize=True, filename='deformed_slab')[source]¶
Plot deformed slab with field contours.
- Parameters:
xsl (np.ndarray) – Slab x-coordinates.
xwl (np.ndarray) – Weak layer x-coordinates.
z (np.ndarray) – Solution vector.
analyzer (Analyzer) – Analyzer instance.
dz (int, optional) – Element size along z-axis (mm). Default is 2 mm.
scale (int, optional) – Deformation scale factor. Default is 100.
window (float, optional) – Plot window width. Default is inf.
pad (int, optional) – Padding around plot. Default is 2.
levels (int, optional) – Number of contour levels. Default is 300.
aspect (int, optional) – Aspect ratio. Default is 2.
field (str, optional) – Field to plot (‘w’, ‘u’, ‘principal’, ‘Sxx’, ‘Txz’, ‘Szz’). Default is ‘w’.
normalize (bool, optional) – Toggle normalization. Default is True.
filename (str, optional) – Filename for saving plot. Default is “deformed_slab”.
- Returns:
The generated plot figure.
- Return type:
matplotlib.figure.Figure
- plot_stress_envelope(system_model, criteria_evaluator, all_envelopes=False, filename=None)[source]¶
Plot stress envelope in τ-σ space.
- Parameters:
system_model (SystemModel) – System to plot
criteria_evaluator (CriteriaEvaluator) – Criteria evaluator to use for the stress envelope
all_envelopes (bool, optional) – Whether to plot all four quadrants of the envelope
filename (str, optional) – Filename for saving plot
- plot_err_envelope(system_model, criteria_evaluator, filename='err_envelope')[source]¶
Plot the ERR envelope.
- Parameters:
system_model (SystemModel)
criteria_evaluator (CriteriaEvaluator)
filename (str)
- Return type:
Figure
- plot_analysis(system, criteria_evaluator, min_force_result, min_crack_length, coupled_criterion_result, dz=2, deformation_scale=100.0, window=np.inf, levels=300, filename='analysis')[source]¶
Plot deformed slab with field contours.
- Parameters:
field (str, default 'w') – Field to plot (‘w’, ‘u’, ‘principal’, ‘sigma’, ‘tau’)
system_model (SystemModel, optional) – System to plot (uses first system if not specified)
filename (str, optional) – Filename for saving plot
system (SystemModel)
criteria_evaluator (CriteriaEvaluator)
min_force_result (FindMinimumForceResult)
min_crack_length (float)
coupled_criterion_result (CoupledCriterionResult)
dz (int)
deformation_scale (float)
window (int)
levels (int)
- Return type:
Figure
- plot_displacements(analyzer, x, z, filename='displacements')[source]¶
Wrap for displacements plot.
- Parameters:
analyzer (Analyzer)
x (ndarray)
z (ndarray)
filename (str)
- Return type:
Figure
- plot_stresses(analyzer, x, z, filename='stresses')[source]¶
Wrap stress plot.
- Parameters:
analyzer (Analyzer)
x (ndarray)
z (ndarray)
filename (str)
- Return type:
Figure
- plot_stress_criteria(analyzer, x, stress)[source]¶
Wrap plot of stress and energy criteria.
- Parameters:
analyzer (Analyzer)
x (ndarray)
stress (ndarray)
- Return type:
Figure
- plot_ERR_comp(analyzer, da, Gdif, Ginc, mode=0)[source]¶
Wrap energy release rate plot.
- Parameters:
analyzer (Analyzer)
da (ndarray)
Gdif (ndarray)
Ginc (ndarray)
mode (int)
- Return type:
Figure
- plot_ERR_modes(analyzer, da, G, kind='inc')[source]¶
Wrap energy release rate plot.
- Parameters:
analyzer (Analyzer)
da (ndarray)
G (ndarray)
kind (str)
- Return type:
Figure