PRONY SERIES GENERATOR¶
Fits a Prony series representation to viscoelastic relaxation data, accepting either engineering stress–strain curves or relaxation-function-vs-time curves as input. The worker optimises the Prony term coefficients (Gi, βi) and outputs the fitted parameters together with a ready-to-use LS-DYNA MAT_181 keyword block.
When to use¶
Tagged: MAT_181, curve_fitting, material_calibration, prony_series, relaxation, simulation, viscoelastic.
Inputs¶
| Label | ID | Type | Default | Required | Description |
|---|---|---|---|---|---|
| Curve to Fit | input_curves | vector | — | ✓ | One or more curves to fit; interpretation depends on input_type — either engineering stress–strain pairs (Pa or MPa vs dimensionless strain) or normalised relaxation-function-vs-time pairs (dimensionless vs seconds). |
| Input Type | input_type | select | eng_stress_vs_strain | ✓ | Specifies the physical meaning of input_curves: eng_stress_vs_strain for engineering stress–strain data (default) or relaxation_function for a pre-computed relaxation modulus vs time curve. |
| Source of Viscosity | viscosity_from | select | tension | ✓ | Selects which loading direction is used to derive the viscosity (damping) parameters: tension (default) or compression; choose compression when only compressive test data are available. |
| Number of Prony Terms | num_prony_terms | select | — | ✓ | Number of Prony exponential terms (1–12) used in the series expansion; higher values improve fit accuracy but increase solver cost — start with 3–5 and increase if residuals are large. |
| G Max | g_sum | scalar | 0.0 | ✓ | Maximum shear modulus G_max (same unit as input stress data); set to 0.0 (default) to let the worker auto-detect it as the peak initial modulus across the input curves. |
| Beta Min | beta_min | scalar | 0.01 | ✓ | Lower bound for the relaxation-rate parameters βi (1/s); constrains the optimiser search space — default 0.01; reduce for very slow relaxation processes. |
| Beta Max | beta_max | scalar | 1.0 | ✓ | Upper bound for the relaxation-rate parameters βi (1/s); constrains the optimiser search space — default 1.0; increase for fast relaxation processes. |
| Number of Timesteps | num_timesteps | scalar | 1000 | ✓ | Number of internal time steps used when reconstructing and verifying the fitted relaxation curve; default 1000 — increase for smoother reference curves or higher-frequency data. |
| Fit Verification Method | verification_method | select | analytical | Method used to verify the Prony fit against the input data; currently only analytical is supported (default), which evaluates the closed-form Prony sum. | |
| Optimize Method | opt_method | select | pareto | Optimisation strategy for selecting the best Prony coefficients: pareto (default) applies a Pareto-optimal multi-objective search balancing fit accuracy and term count. | |
| Sampling Type | sampling_type | select | lhs | ||
| Number of Samples | num_sampling | scalar | 100 | Number of samples to use to find the Optimum | |
| Initial Length | initial_length | scalar | 1.0 | Required when the method = Analytical | |
| Strain-rate or velocity | strain_rate | scalar | 1.0 | Strain-rate or velocity. Units must be consistent with the input curves. | |
| Type of loading input | strain_rate_input | select | strain_rate | ||
| Quasi-Static Strain Rate | quasi_static_strain_rate | scalar | 0 | Strain rate at which the quasi-static input curve was acquired. After the optimal Prony terms are picked the worker runs an extra forward simulation at this rate and emits the predicted quasi-static engineering stress vs strain curve so it can be visually compared with the input quasi-static measurement. Leave at 0 to default to the configured beta_min value (slowest decay constant — a reasonable proxy for a quasi-static rate). | |
| Quasi-Static Stress vs Strain | quasi_static_stress_strain | vector | — | Quasi-static Stress vs Strain. Required for method=Analytical | |
| User Experiments | experiments | dataset | — | If provided, these will be used for evalating the analytical method | |
| Error Type | error_type | select | raw | Error type by default is RAW (yanalytical-yactual). | |
| Fit Type | fit_type | select | max | Fit type to fit parameters for single max curve or for all curves | |
| Use log scale for BETA DOE values | use_log_scale | select | no | ✓ | |
| Split input ranges for DOE | split_input_ranges | select | no | When yes, the DOE sampler subdivides variable ranges into buckets before sampling, producing better coverage at range boundaries. | |
| Split step percentage | step_percentage | scalar | 20 | Bucket step size as a percentage of each variable’s range. Only used when split is enabled. | |
| Apply split to all variables | apply_split_to_all_variables | select | no | When yes, splitting is applied across all variables simultaneously. When no, only one variable is split at a time. | |
| Include analytical curve in experiments dataset | include_analytical_curve | select | yes | When yes, each row in the experiments dataset includes the per-experiment analytical curve. When no, the analytical curve columns are stripped (the optimal fit curve is still emitted separately). | |
| Include Overstress curve in experiments dataset | include_overstress_curve | select | yes | When yes, each row in the experiments dataset includes the per-experiment overstress curve. When no, the overstress curve columns are stripped (the optimal fit curve is still emitted separately). | |
| Allow negative G values | allow_negative_g | select | yes | When yes, Gmin is sete to -1.0 * Gmax | |
| Number of Curve Portions (incremental fit) | num_portions | select | 1 | When greater than 1, the fitter runs in incremental mode: the reference curve is split into N equal portions along x, and at each portion exactly one new Prony term is fitted while the terms locked in by previous portions are held fixed. The total number of Prony terms equals num_portions. Capped at 12 (the same limit as num_prony_terms). Default 1 keeps the existing single-shot global fit using num_prony_terms. |
Outputs¶
| Label | ID | Type | Description |
|---|---|---|---|
| Optimal Prony Terms | optimal_prony_terms | dataset | Dataset containing the optimised Prony series coefficients (Gi and βi for each term) that minimise the fitting residual; primary result for downstream material-card authoring. |
| Experiments | experiments | dataset | Dataset summarising each candidate Prony-term configuration evaluated during optimisation, including per-experiment residual and parameter values; useful for auditing the optimisation sweep. |
| Reference Curve | ref_curve | vector | Reference relaxation-function curve (dimensionless G/G_max vs time in seconds) reconstructed from the input data and used as the optimisation target. |
| Shear Modulus Max | gmax | scalar | Resolved maximum shear modulus G_max (scalar, same units as input stress) — either the user-supplied value or the auto-detected peak initial modulus. |
| Optimal Fit | optimal_curve | vector | Fitted Prony-series relaxation curve (dimensionless G/G_max vs time) evaluated at the optimal coefficients; compare visually against ref_curve to assess fit quality. |
| Predictions (Dynamic + Quasi-Static) | comparison_curves | vector | Predicted engineering stress vs strain curves at both the dynamic strain rate and the quasi-static strain rate, computed from the optimal Prony terms. Drop alongside the input curves on a slide to visually compare the fit against both measurements at once. Empty for relaxation_function input (no quasi-static stress-strain context). |
| Keyword for MAT_181 with Prony Terms | keyword | textarea | Ready-to-paste LS-DYNA MAT_181 keyword block containing the optimised Prony series parameters; copy directly into a simulation deck or pipe to a deck-authoring worker. |
| ML Predictions | ml_predictions | dataset | Dataset of ML-model predictions produced during the surrogate-assisted optimisation phase; can be used to inspect model accuracy or diagnose extrapolation regions. |
Disciplines¶
- ai_ml.supervised.regression
- cae.preprocessing.deck_authoring
- design_exploration.optimization
- engineering.material.calibration
- engineering.material.characterization
Runnable example¶
A runnable example is registered for this worker. Open the example workflow on the d3VIEW canvas: /api/workflow/example?id=prony_series_generator
Auto-generated from platform schema. Worker id: prony_series_generator. Schema hash: e24c508ce7fc. Hand-curated docs in workerexamples/ override this page when present.