Quick Start

At the heart of viscoelasticity which is at the heart of so much that we formulate, is the fact that all the key potential measurements are the same facts looked at differently. So here we load one set of facts about a system and see the 6 fundamental ways of looking at the data.



A lot to read

What follows is a long read. Stay with it because unless you are one of the very few who (unlike me) really understand the core ideas deep in rheology (e.g. Laplace transforms), I know of no better way to get an idea of what is going on. If I knew a better way then I wouldn't have had to struggle so hard to write this app.

I have only measured viscoelastic materials via G'/G''. I was only vaguely aware that other measurements existed and had no idea that they were inter-related at a fundamental level. You will have had a different rheology background and maybe you are used to a different default measurement.

But there seem to be very few people who are comfortable with all 6 of the views shown here. Hopefully this app will make us all more aware of what is going on within our viscoelastic systems.

The core data and the basic techniques are my amalgam of key books by Ferry1 and Tschoegl2 and a paper by Park & Schapery3. They each stress that arbitrary conversion between real-world datasets is somewhere between difficult and "ill-posed" but the app starts with idealised data so the conversions will have glitches but be fairly reliable. Ferry has 8 key examples plotted in all the different ways and they are reproduced fairly well in the app (and were my way of checking my code). The Ferry-3 example is a classic shape and is the default. There are two Park examples and I have added a Burgers Viscoelastic model that more-or-less replicates the default settings in the Burgers app.

Let's discuss how the data are entered then what the different views are:

The Wiechert (or is it Prony or is it Maxwell) data

For each timescale τi between our minimum and maximum timescales of interest we specify a set of "relaxation strengths" Gi. These can be loaded from one of the pre-set examples are entered by hand - or, at least, you can see what happens if you adjust some values by hand. The data are all in Log10 format and in pairs, τi, Gi. You can specify a maximum of 30 pairs. If you have fewer pairs, just leave columns and rows empty.

For a viscoelastic solid you need an equilibrium value Ge, for a liquid set it to its minimum of 0.01. Your plots can be From and To, again in Log10 units.

G(τ) - The Relaxation Modulus

We can go straight from the Gi data to a plot of the Relaxation modulus G(τ) across the whole time range. This is what you would measure if you applied an instantaneous fixed stress and followed the strain over time, plotting strain/fixed-stress. For a viscoelastic liquid, this will tend to zero, for a viscoelastic solid it will reach a minimum at the elastic limit. If you use the "one datapoint per decade" Park-1 set you will see some gentle bumps in the curve, which disappear with Park-2 where extra data have been interpolated at every half decade.

G' and G'' - The Elastic and Loss modulii

Here the plot is against frequency ω, 1/t. The familiar elastic and loss modulii are plotted. Again you see some gentle bumps with Park-1 and a smooth curve with Park-2.

H(τ) - The Relaxation Spectrum

Conversion from Gi values to H(τ) values is genuinely difficult. I've used the Schwarzl and Staverman double derivative technique recommended by Ferry (p82) which necessarily has problems at either end. And with one data point per decade of Park-1 you see that the minor bumps in the other plots become major issues (but, in fact, show the basics of what is going on!). Park-2 is more realistic. The plots for the Ferry examples are plausibly similar to the examples shown on p61, but given the difficulty of the problem and the fact that I got the Ferry data by reading from rather poor-quality graphs, they aren't so bad.

The Creep equivalents

The J(τ) curve is the creep compliance, what you would see if you created an instant stress and followed the strain, plotted as fixed-strain/stress. J' and J'' are the equivalents of G' and G'', and the Retardation Spectrum, L, is similar to H. My attempt to create it via the double derivative technique was a failure thanks to the problems of converting Gi to Ji values via a matrix inversion4 technique which everyone agrees is subject to subtle numerical errors and false negative coefficients (which I flip to positives). Instead I use the conversion via H, G' and G'' on Ferry p88.


You may be thinking that this whole process is rather unsatisfactory with various approximations and fudges. I agree. But I've read 10s of academic papers saying "Interconversion is hard so here is our special method", only to discover that (a) I probably don't understand their method and can't work out an algorithm to implement it and (b) they only convert between a couple of plots that interest them, leaving me none the wiser about how to do all 6. I don't know why the world of rheology has made it so hard to do even basic conversions - though I acknowledge the real problem that converting real datasets is hard because small errors get magnified and conversions can be ill-posed problems.

1 John Ferry, Viscoelastic Properties of Polymers 3rd Edition, John Wiley, 1980

2 Nicholas Tschoegl,The Phenomenological Theory of Linear Viscoelastic Behavior Springer, 1989. As Tschoegl himself points out, his name can be pronounced by following this Limerick: "An eminent linguist called Tschoegl, at an age when he barely could gurgle, knew Turkish and Frisian, and Old Indonesian, and that the German for birds is Vögel"

3 SW Park and RA Schapery, Methods of interconversion between linear viscoelastic material functions: Part I a numerical method based on Prony series, International Journal of Solids and Structures 36, 1999, 1653-1675

4 I use the excellent Numeric Javascript by Sébastien Loisel, acknowledged with thanks.