コード例 #1
0
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
コード例 #2
0
ファイル: viscosity.py プロジェクト: jonatanrg/icepack
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)
コード例 #3
0
 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)