Skip to content

polykin.transport.rheology¤

aT_WLF ¤

aT_WLF(
    T: float,
    T0: float,
    C1: float | None = None,
    C2: float | None = None,
) -> float

Calculate the temperature shift factor using the Williams-Landel-Ferry equation.

The temperature shift factor \(a_T\) at a given temperature \(T\) is calculated using the following equation:

\[ a_T = 10^{\frac{-C_1 (T - T_0)}{C_2 + (T - T_0)}} \]

where \(T_0\) is the reference temperature, and \(C_1\) and \(C_2\) are the WLF constants.

If \(C_1\) and \(C_2\) are not provided, the universal values (\(C_1 = 17.44\) and \(C_2 = 51.60\) K) are used, in which case \(T_0\) is expected to be the glass-transition temperature \(T_g\).

The application of this equation is tipically limited to the range \(T_g \leq T \leq T_g + 100\) K.

References

  • Stephen L. Rosen, "Fundamental principles of polymeric materials", Wiley, 2nd edition, 1993, p. 339.
PARAMETER DESCRIPTION
T

Temperature (K).

TYPE: float

T0

Reference temperature (K), usually taken to be the glass transition temperature.

TYPE: float

C1

WLF constant. If None, the universal value is used.

TYPE: float | None DEFAULT: None

C2

WLF constant (K). If None, the universal value is used.

TYPE: float | None DEFAULT: None

RETURNS DESCRIPTION
float

Temperature shift factor.

Examples:

Determine the temperature shift factor at 120 °C for polystyrene, given that its glass transition temperature is 100 °C.

>>> from polykin.transport import aT_WLF
>>> T = 120 + 273.15  # K
>>> T0 = 100 + 273.15 # K
>>> aT = aT_WLF(T, T0)
>>> print(f"aT={aT:.2e}")
aT=1.34e-05
Source code in src/polykin/transport/rheology.py
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
def aT_WLF(T: float,
           T0: float,
           C1: float | None = None,
           C2: float | None = None,
           ) -> float:
    r"""Calculate the temperature shift factor using the Williams-Landel-Ferry
    equation.

    The temperature shift factor $a_T$ at a given temperature $T$ is calculated
    using the following equation:

    $$ a_T = 10^{\frac{-C_1 (T - T_0)}{C_2 + (T - T_0)}} $$

    where $T_0$ is the reference temperature, and $C_1$ and $C_2$ are the WLF
    constants. 

    If $C_1$ and $C_2$ are not provided, the universal values ($C_1 = 17.44$ 
    and $C_2 = 51.60$ K) are used, in which case $T_0$ is expected to be the 
    glass-transition temperature $T_g$.

    The application of this equation is tipically limited to the range
    $T_g \leq T \leq T_g + 100$ K.

    **References**

    * Stephen L. Rosen, "Fundamental principles of polymeric materials", Wiley,
      2nd edition, 1993, p. 339.

    Parameters
    ----------
    T : float
        Temperature (K).
    T0 : float
        Reference temperature (K), usually taken to be the glass transition 
        temperature.
    C1 : float | None
        WLF constant. If None, the universal value is used.
    C2 : float | None
        WLF constant (K). If None, the universal value is used.

    Returns
    -------
    float
        Temperature shift factor.

    Examples
    --------
    Determine the temperature shift factor at 120 °C for polystyrene, given 
    that its glass transition temperature is 100 °C.
    >>> from polykin.transport import aT_WLF
    >>> T = 120 + 273.15  # K
    >>> T0 = 100 + 273.15 # K
    >>> aT = aT_WLF(T, T0)
    >>> print(f"aT={aT:.2e}")
    aT=1.34e-05
    """

    if C1 is None and C2 is None:
        C1 = 17.44
        C2 = 51.60
    elif C1 is not None and C2 is not None:
        pass
    else:
        raise ValueError("Both C1 and C2 must be provided, or neither.")

    return 10 ** (-C1 * (T - T0) / (C2 + T - T0))