Skip to content

polykin.transport.rheology¤

mu_Cross_modified ¤

mu_Cross_modified(
    gdot: float | FloatArray, mu0: float, C: float, n: float
) -> float | FloatArray

Calculate the viscosity of a fluid using the modified Cross model.

The viscosity \(\mu\) at a given shear rate \(\dot{\gamma}\) is calculated using the following equation:

\[ \mu = \frac{\mu_0}{1 + (C \mu_0 \dot{\gamma})^{1-n}} \]

where \(\mu_0\) is the zero-shear viscosity, \(C\) is the relaxation constant, and \(n\) is the power-law index.

PARAMETER DESCRIPTION
gdot

Shear rate (1/s).

TYPE: float | FloatArray

mu0

Zero-shear viscosity (Pa·s).

TYPE: float

C

Relaxation constant (1/Pa).

TYPE: float

n

Power-law index.

TYPE: float

RETURNS DESCRIPTION
float | FloatArray

Viscosity at the given shear rate (Pa·s).

See also
  • mu_Cross: unmodified version of the Cross model.

Examples:

Determine the viscosity of a fluid with a zero-shear viscosity of 1e6 Pa·s, a relaxation constant of 2e-5 1/Pa, and a power-law index of 0.2, at a shear rate of 1.0 1/s.

>>> from polykin.transport import mu_Cross_modified
>>> gdot = 1.0  # 1/s
>>> mu0 = 1e6   # Pa·s
>>> C = 2e-5    # 1/Pa
>>> n = 0.2
>>> mu = mu_Cross_modified(gdot, mu0, C, n)
>>> print(f"mu={mu:.2e} Pa.s")
mu=8.34e+04 Pa.s
Source code in src/polykin/transport/rheology.py
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
def mu_Cross_modified(gdot: float | FloatArray,
                      mu0: float,
                      C: float,
                      n: float
                      ) -> float | FloatArray:
    r"""Calculate the viscosity of a fluid using the modified Cross model.

    The viscosity $\mu$ at a given shear rate $\dot{\gamma}$ is calculated
    using the following equation:

    $$ \mu = \frac{\mu_0}{1 + (C \mu_0 \dot{\gamma})^{1-n}} $$

    where $\mu_0$ is the zero-shear viscosity, $C$ is the relaxation constant,
    and $n$ is the power-law index.

    Parameters
    ----------
    gdot : float | FloatArray
        Shear rate (1/s).
    mu0 : float
        Zero-shear viscosity (Pa·s).
    C : float
        Relaxation constant (1/Pa).
    n : float
        Power-law index.

    Returns
    -------
    float | FloatArray
        Viscosity at the given shear rate (Pa·s).

    See also
    --------
    * [`mu_Cross`](mu_Cross.md): unmodified version of the Cross model.

    Examples
    --------
    Determine the viscosity of a fluid with a zero-shear viscosity of 1e6 Pa·s,
    a relaxation constant of 2e-5 1/Pa, and a power-law index of 0.2, at a shear
    rate of 1.0 1/s.
    >>> from polykin.transport import mu_Cross_modified
    >>> gdot = 1.0  # 1/s
    >>> mu0 = 1e6   # Pa·s
    >>> C = 2e-5    # 1/Pa
    >>> n = 0.2
    >>> mu = mu_Cross_modified(gdot, mu0, C, n)
    >>> print(f"mu={mu:.2e} Pa.s")
    mu=8.34e+04 Pa.s
    """
    return mu0/(1 + (C * mu0 * gdot) ** (1 - n))