mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-18 03:19:21 +00:00
47 lines
1.6 KiB
Julia
47 lines
1.6 KiB
Julia
# This file is a part of JuliaFEM.
|
|
# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md
|
|
|
|
using JuliaFEM
|
|
using JuliaFEM.Preprocess
|
|
using JuliaFEM.Postprocess
|
|
using JuliaFEM.Testing
|
|
|
|
datadir = first(splitext(basename(@__FILE__)))
|
|
|
|
@testset "renumber element nodes" begin
|
|
mesh = Mesh()
|
|
add_element!(mesh, 1, :Tet10, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
|
|
mapping = Dict{Symbol, Vector{Int}}(
|
|
:Tet10 => [1, 2, 4, 3, 5, 6, 7, 8, 9, 10])
|
|
reorder_element_connectivity!(mesh, mapping)
|
|
@test mesh.elements[1] == [1, 2, 4, 3, 5, 6, 7, 8, 9, 10]
|
|
invmapping = Dict{Symbol, Vector{Int}}()
|
|
invmapping[:Tet10] = invperm(mapping[:Tet10])
|
|
reorder_element_connectivity!(mesh, invmapping)
|
|
@test mesh.elements[1] == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
|
end
|
|
|
|
@testset "add_nodes! and add_elements!" begin
|
|
mesh = Mesh()
|
|
dic = Dict(1 => [1.,1.,1.], 2 => [2.,2.,2])
|
|
add_nodes!(mesh, dic)
|
|
@test mesh.nodes == dic
|
|
|
|
vec = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
|
add_elements!(mesh,Dict(1=>(:Tet10,vec),
|
|
11=>(:Tet10,vec)))
|
|
@test mesh.elements[1] == vec
|
|
@test mesh.elements[11] == vec
|
|
end
|
|
|
|
@testset "find nearest nodes from mesh" begin
|
|
meshfile = joinpath(datadir, "block_2d.med")
|
|
mesh = aster_read_mesh(meshfile)
|
|
create_node_set_from_element_set!(mesh, "LOWER_LEFT", "UPPER_BOTTOM")
|
|
# nid 1 coords = (0.0, 0.5), nid 13 coords = (0.0, 0.5)
|
|
nid = find_nearest_node(mesh, [0.0, 0.5]; node_set="LOWER_LEFT")
|
|
@test first(nid) == 1
|
|
nid = find_nearest_node(mesh, [0.0, 0.5]; node_set="UPPER_BOTTOM")
|
|
@test first(nid) == 13
|
|
end
|