Esempio n. 1
0
def test_lame_coefficients():
    a = CoordSysCartesian('a')
    a._set_lame_coefficient_mapping('spherical')
    assert a.lame_coefficients() == (1, a.x, sin(a.y) * a.x)
    a = CoordSysCartesian('a')
    assert a.lame_coefficients() == (1, 1, 1)
    a = CoordSysCartesian('a')
    a._set_lame_coefficient_mapping('cartesian')
    assert a.lame_coefficients() == (1, 1, 1)
    a = CoordSysCartesian('a')
    a._set_lame_coefficient_mapping('cylindrical')
    assert a.lame_coefficients() == (1, a.y, 1)
Esempio n. 2
0
def test_transformation_equations():
    from sympy import symbols
    x, y, z = symbols('x y z')
    a = CoordSysCartesian('a')
    # Str
    a._connect_to_standard_cartesian('spherical')
    assert a._transformation_equations() == (a.x * sin(a.y) * cos(a.z),
                                             a.x * sin(a.y) * sin(a.z),
                                             a.x * cos(a.y))
    assert a.lame_coefficients() == (1, a.x, a.x * sin(a.y))
    a._connect_to_standard_cartesian('cylindrical')
    assert a._transformation_equations() == (a.x * cos(a.y), a.x * sin(a.y),
                                             a.z)
    assert a.lame_coefficients() == (1, a.y, 1)
    a._connect_to_standard_cartesian('cartesian')
    assert a._transformation_equations() == (a.x, a.y, a.z)
    assert a.lame_coefficients() == (1, 1, 1)
    # Variables and expressions
    a._connect_to_standard_cartesian(((x, y, z), (x, y, z)))
    assert a._transformation_equations() == (a.x, a.y, a.z)
    assert a.lame_coefficients() == (1, 1, 1)
    a._connect_to_standard_cartesian(
        ((x, y, z), ((x * cos(y), x * sin(y), z))))
    assert a._transformation_equations() == (a.x * cos(a.y), a.x * sin(a.y),
                                             a.z)
    assert simplify(a.lame_coefficients()) == (1, sqrt(a.x**2), 1)
    a._connect_to_standard_cartesian(
        ((x, y, z), (x * sin(y) * cos(z), x * sin(y) * sin(z), x * cos(y))))
    assert a._transformation_equations() == (a.x * sin(a.y) * cos(a.z),
                                             a.x * sin(a.y) * sin(a.z),
                                             a.x * cos(a.y))
    assert simplify(a.lame_coefficients()) == (1, sqrt(a.x**2),
                                               sqrt(sin(a.y)**2 * a.x**2))
    # Equations
    a._connect_to_standard_cartesian(
        (a.x * sin(a.y) * cos(a.z), a.x * sin(a.y) * sin(a.z), a.x * cos(a.y)))
    assert a._transformation_equations() == (a.x * sin(a.y) * cos(a.z),
                                             a.x * sin(a.y) * sin(a.z),
                                             a.x * cos(a.y))
    assert simplify(a.lame_coefficients()) == (1, sqrt(a.x**2),
                                               sqrt(sin(a.y)**2 * a.x**2))
    a._connect_to_standard_cartesian((a.x, a.y, a.z))
    assert a._transformation_equations() == (a.x, a.y, a.z)
    assert simplify(a.lame_coefficients()) == (1, 1, 1)
    a._connect_to_standard_cartesian((a.x * cos(a.y), a.x * sin(a.y), a.z))
    assert a._transformation_equations() == (a.x * cos(a.y), a.x * sin(a.y),
                                             a.z)
    assert simplify(a.lame_coefficients()) == (1, sqrt(a.x**2), 1)