Thermoelasticity plotting API
These functions build frontend-neutral plot specifications. They do not
import or configure Matplotlib directly. Pass the returned
quantas.api.plotting.PlotCollection to
quantas.api.rendering.render_plots().
Result-aware discovery
- quantas.api.thermoelasticity.describe_plots(result)
Return result-aware thermoelastic plot families and scientific context.
- Parameters:
- resultResultData
Complete thermoelastic result envelope.
- Returns:
- PlotInventory
Available calibration, P-T, profile, comparison, and domain families, together with exact stored grids, components, tensor conditions, and profile names.
- Parameters:
result (ResultData)
- Return type:
The returned quantas.api.plotting.PlotInventory describes cumulative
workflow capabilities rather than assigning one exclusive result type. A
thermoelastic archive may expose any compatible subset of:
fitIndependent elastic-volume calibration fits and residual diagnostics.
ptIsothermal or adiabatic stiffness values and uncertainty quantities on a two-dimensional pressure-temperature grid.
profileAbsolute or reference-relative stiffness along archived depth paths.
compareIsothermal–adiabatic sections at fixed pressure or temperature when both tensor fields are valid.
domainEquilibrium-volume coverage, extrapolation masks, and optional profile paths.
Point and one-dimensional analysis archives do not advertise contour families. The public default builder falls back to the archived calibration fits instead of attempting to construct an invalid P–T contour. Comparison coordinates are evaluated through the calibrated public analysis engine; they are not nearest-grid selections.
Component resolution
- quantas.api.thermoelasticity.resolve_components(result, components=None, *, group='independent', nonzero_tolerance=1e-12)
Resolve explicit components or one semantic component group.
- Parameters:
- resultThermoelasticResult
Thermoelastic result containing component metadata and, optionally, reconstructed tensors.
- componentssequence of str or None, optional
Explicit component labels. When supplied,
groupis ignored.- groupThermoelasticComponentGroup, optional
Semantic component group.
- nonzero_tolerancefloat, optional
Absolute GPa threshold used when full reconstructed tensors are available.
- Returns:
- tuple of str
Ordered canonical component labels.
- Raises:
- ValueError
If a requested component or group is unavailable.
- Parameters:
result (ThermoelasticResult)
components (tuple[str, ...] | list[str] | None)
group (Literal['independent', 'normal', 'shear', 'coupling', 'offdiagonal', 'all'])
nonzero_tolerance (float)
- Return type:
tuple[str, …]
P–T maps
- quantas.api.thermoelasticity.build_pt_plots(result, components=None, *, component_group='independent', options=None)
Build pressure-temperature maps for selected stiffness components.
- Parameters:
- resultResultData or ThermoelasticResult
Reconstructed thermoelastic result.
- componentssequence of str or None, optional
Explicit components. When omitted,
component_groupis resolved.- component_groupThermoelasticComponentGroup, optional
Semantic group used when explicit components are absent.
- optionsThermoelasticPTPlotOptions or None, optional
Quantity, contour, extrapolation, and layout controls.
- Returns:
- PlotCollection
Separate or faceted contour specifications.
- Raises:
- ValueError
If the archive does not contain a two-dimensional P-T grid.
- Parameters:
result (ResultData | ThermoelasticResult)
components (Sequence[str] | None)
component_group (Literal['independent', 'normal', 'shear', 'coupling', 'offdiagonal', 'all'])
options (ThermoelasticPTPlotOptions | None)
- Return type:
Profile plots
- quantas.api.thermoelasticity.build_profile_plots(result, *, profile_name=None, components=None, component_group='independent', options=None)
Build absolute or relative stiffness plots along a depth profile.
- Parameters:
- resultResultData or ThermoelasticResult
Thermoelastic result containing one or more archived depth profiles.
- profile_namestr or None, optional
Name of the profile to plot. When omitted, the sole archived profile is selected; an archive with several profiles requires an explicit name.
- componentssequence of str or None, optional
Explicit stiffness components.
- component_groupThermoelasticComponentGroup, optional
Semantic group used when explicit components are absent.
- optionsThermoelasticProfilePlotOptions or None, optional
Profile mode, layout, uncertainty, color, and annotation controls.
- Returns:
- PlotCollection
Overlay, faceted, or separate neutral profile specifications.
- Raises:
- ValueError
If the requested profile or component data are unavailable.
- Parameters:
result (ResultData | ThermoelasticResult)
profile_name (str | None)
components (Sequence[str] | None)
component_group (Literal['independent', 'normal', 'shear', 'coupling', 'offdiagonal', 'all'])
options (ThermoelasticProfilePlotOptions | None)
- Return type:
Isothermal–adiabatic comparison
- quantas.api.thermoelasticity.build_compare_plots(result_data, *, components=None, component_group='independent', options=None)
Build line plots comparing \(C^T_{IJ}\) and \(C^S_{IJ}\).
One pressure or one temperature is held fixed exactly, while the opposite archived coordinate is varied. The model is re-evaluated at the requested coordinate rather than selecting the nearest stored grid plane.
- Parameters:
- result_dataResultData
Fit or analysis archive containing a thermoelastic payload.
- componentssequence of str or None, optional
Explicit stiffness components.
- component_groupstr, optional
Semantic component group when explicit labels are absent.
- optionsThermoelasticComparePlotOptions or None, optional
Fixed coordinate and presentation controls.
- Returns:
- PlotCollection
Frontend-neutral line or panel specifications.
- Raises:
- ValueError
If adiabatic stiffness is unavailable at any requested state.
- Parameters:
result_data (ResultData)
components (tuple[str, ...] | list[str] | None)
component_group (Literal['independent', 'normal', 'shear', 'coupling', 'offdiagonal', 'all'])
options (ThermoelasticComparePlotOptions | None)
- Return type:
Domain diagnostics
- quantas.api.thermoelasticity.build_domain_plot(result, *, profile_names=None, options=None)
Build a P-T domain map with volume coverage and optional profiles.
- Parameters:
- resultResultData or ThermoelasticResult
Thermoelastic result containing the QHA grid and optional profiles.
- profile_namessequence of str or None, optional
Explicit archived profiles to overlay.
Noneselects all profiles whenoptions.show_profilesis enabled.- optionsThermoelasticDomainPlotOptions or None, optional
Contour, profile, and extrapolation controls.
- Returns:
- PlotCollection
Collection containing one contour specification.
- Raises:
- ValueError
If the archive lacks a two-dimensional QHA grid or a requested profile.
- Parameters:
result (ResultData | ThermoelasticResult)
profile_names (Sequence[str] | None)
options (ThermoelasticDomainPlotOptions | None)
- Return type: