def stresses(ε_x, ε_z, A): r"""Calculate the membrane and vertical shear stresses for the given horizontal and shear strain rates and fluidity""" I = Identity(2) tr = trace(ε_x) ε_e = sqrt((inner(ε_x, ε_x) + inner(ε_z, ε_z) + tr**2) / 2) μ = 0.5 * A**(-1 / n) * ε_e**(1 / n - 1) return 2 * μ * (ε_x + tr * I), 2 * μ * ε_z
def M(ε, A): r"""Calculate the membrane stress for a given strain rate and fluidity""" I = Identity(2) tr_ε = trace(ε) ε_e = sqrt((inner(ε, ε) + tr_ε**2) / 2) μ = 0.5 * A**(-1 / n) * ε_e**(1 / n - 1) return 2 * μ * (ε + tr_ε * I)
def M(ε, B): I = Identity(2) tr_ε = trace(ε) ε_e = sqrt((inner(ε, ε) + tr_ε**2) / 2) μ = 0.5 * B * ε_e**(1 / n - 1) return 2 * μ * (ε + tr_ε * I)