Example #1
0
def test_combine_meshes_vertex_loc_type():
    m1 = simple_line_mesh(1)
    m2 = simple_line_mesh(1, (-2.0, 1.0), (0.0, 1.0))
    m3 = combine_meshes(m1, m2)
    assert(type(m1.vertices[0].loc) == np.ndarray)
    assert(type(m2.vertices[0].loc) == np.ndarray)
    assert(type(m3.vertices[0].loc) == np.ndarray)
Example #2
0
def test_equivalent_pairs():
    m1 = simple_line_mesh(1, (-1.0, 0.0), (0.0, 1.0))
    m2 = simple_line_mesh(1, (0.0, 1.0), (1.0, 0.0))
    m = combine_meshes(m1, m2)
    equivalent_pairs = m._find_equivalent_pairs(1e-6)
    assert(equivalent_pairs[0][0] == m.vertices[1])
    assert(equivalent_pairs[0][1] == m.vertices[2])
Example #3
0
def test_complicated_mesh_problem():
    main_surface_left = (-1.0, 0.0)
    main_surface_right = (1.0, 0.0)
    mesh1 = simple_line_mesh(1, main_surface_left, main_surface_right)
    ray_lengths = [1.0]
    ray_left_dir = (-1.0, 0.0)
    mesh2 = ray_mesh(main_surface_left, ray_left_dir,
                     ray_lengths, flip = True)
    ray_right_dir = (1.0, 0.0)
    mesh3 = ray_mesh(main_surface_right, ray_right_dir,
                     ray_lengths, flip = True)
    # It was a problem with the mesh orientation flipping at the joint between
    # the sections
    with raises(MisorientationException):
        mesh = combine_meshes(mesh2, combine_meshes(mesh1, mesh3),
                              ensure_continuity = True)
        mesh.check_misorientation()
Example #4
0
def test_combine_meshes():
    m = simple_line_mesh(1)
    m2 = simple_line_mesh(1, (-2.0, 1.0), (0.0, 1.0))
    m3 = combine_meshes(m, m2)
    assert((m3.vertices[0].loc == (-1.0, 0.0)).all())
    assert((m3.vertices[1].loc == (1.0, 0.0)).all())
    assert((m3.vertices[2].loc == (-2.0, 1.0)).all())
    assert((m3.vertices[3].loc == (0.0, 1.0)).all())
    assert(m3.elements[1].vertex1 == m3.vertices[2])
    assert(m3.elements[1].vertex2 == m3.vertices[3])
Example #5
0
def test_multisegment_mesh():
    m1 = simple_line_mesh(1, (-1.0, 0.0), (0.0, 1.0))
    m2 = simple_line_mesh(1, (0.0, 1.0), (1.0, 0.0))
    m = combine_meshes(m1, m2, ensure_continuity = True)
    assert(m.elements[0].vertex1 == m.vertices[0])
    assert(m.elements[0].vertex2 == m.vertices[1])
    assert(m.elements[1].vertex1 == m.vertices[1])
    assert(m.elements[1].vertex2 == m.vertices[2])
    assert(m.is_neighbor(0, 1, 'right'))
    assert(m.is_neighbor(1, 0, 'left'))