File Exchange

image thumbnail


version 1.0.0 (996 KB) by Dennis Netzband
This MATLAB code optimizes Prony parameters for FE-simulation which are generated from DMA measurements of viscoelastic polymer material.


Updated 03 Sep 2018

View License

This MATLAB code is used to determine the parameters of an extended Maxwell model (Prony equation). It optimizes the Prony parameters n, gi and ki considering the best fit for the curves of G´(ω), G´´(ω) and tan delta (ω) using the function lsqnonlin from MATLAB Optimization Toolbox. An Excel-File is needed for input with values from DMA measurement acc. DIN EN ISO 178 (Table of frequency / storage modulus / loss-modulus) and from tensile test acc. DIN EN ISO 527-1 (modulus of elasticity and Poisson’s ratio).

Please find further details (Introduction, Physical Background, MATLAB code, Acknowledgements, Reference List) in attached PDF-manual.

Authors: Dennis Netzband, Soeren Dietrich and Michael Giess, South Westphalia University of Applied Science, Germany.

Cite As

Dennis Netzband (2020). DMA2PRONY_OPT (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (9)

Nicholas Hugenberg

I've encountered an error in the CURVE_FIT script; whenever I run the code, for any number of parameters and using the sample Excel file provided with the code, there is a mismatch in the matrix dimensions for several variables that prevents evaluation of the Prony_Inf and Prony_Zero functions. Has anyone else run into the same issue?

Jakob Bech

Thank you very much for sharing this. It is just what I'm looking for. But I'm missing one, to me, important correlation.
The viscoelastic materials we also consider rate dependent. In the DMA test you apply a sinusoidal load to the test material. Though the strain rate varies from zero to some finite value throughout each cycle, you can compute an average strain rate and maximum strain rate, which are proportional to omega*epsilon_a, where omega is the angular frequency, and epsilon_a is the strain amplitude in a cycle. When you do a DMA temperature sweep with fixed frequeny, your average strain rate is a function of the frequency and the amplitude of the applied sinusoidal displacement (or load). As the stiffness of the material also changes as you sweep over temperatures, your strain rate will change as well, even at a fixed frequency. So the master curves will depend on the test parameters (applied load/displacement). So a master curve should either be given for a fixed strain amplitude or with strain rate (max or average) as the independent parameter to describe the material behavior.
Do you know of a method to account for this? Using your script, could I simply compute the strain rates from my DMA data and put strain rate in the input excel-file where you normally put frequency?
I'm using the visco-elastic paramerters for dynamic modelling of impact on an elastomer.
Hope you can help me here, thanks.
With kind regards


Excellent tool, just what we were searching!

Sharad Goyal

the11th lee

Thanks for sharing. A great tool.

Lucas Volpe

Very useful tool! Thanks!

Geoffrey Chase

Jian Cheng

Great tool! Thank you very much for sharing.

Michael Gieß

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: ReSpect v2.0, Prony Toolbox