Skip to content

Commit c66fb06

Browse files
committed
cleaning up duplications in mechanics test.
1 parent 9b21f20 commit c66fb06

File tree

5 files changed

+31
-164
lines changed

5 files changed

+31
-164
lines changed

test/mechanics/TestMechanics.jl

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ output_file = Base.source_dir() * "/mechanics.e"
1111
fixed(_, _) = 0.
1212
displace(_, t) = 1.e-3 * t
1313

14-
function mechanics_test()
14+
function test_mechanics_dirichlet_only(
15+
dev, use_condensed,
16+
nsolver, lsolver
17+
)
1518
mesh = UnstructuredMesh(mesh_file)
1619
V = FunctionSpace(mesh, H1Field, Lagrange)
1720
physics = Mechanics(PlaneStrain())
1821
props = create_properties(physics)
1922

2023
u = VectorFunction(V, :displ)
21-
asm = SparseMatrixAssembler(u)
24+
asm = SparseMatrixAssembler(u; use_condensed=use_condensed)
2225

2326
dbcs = DirichletBC[
2427
DirichletBC(:displ_x, :sset_3, fixed),
@@ -31,15 +34,24 @@ function mechanics_test()
3134
times = TimeStepper(0., 1., 1)
3235
p = create_parameters(mesh, asm, physics, props; dirichlet_bcs=dbcs, times=times)
3336

34-
solver = NewtonSolver(IterativeLinearSolver(asm, :CgSolver))
37+
if dev != cpu
38+
p = p |> dev
39+
asm = asm |> dev
40+
end
41+
42+
solver = nsolver(lsolver(asm))
3543
integrator = QuasiStaticIntegrator(solver)
3644
evolve!(integrator, p)
3745

46+
if dev != cpu
47+
p = p |> cpu
48+
end
49+
50+
U = p.h1_field
51+
3852
pp = PostProcessor(mesh, output_file, u)
3953
write_times(pp, 1, 0.0)
40-
write_field(pp, 1, ("displ_x", "displ_y"), p.h1_field)
54+
write_field(pp, 1, ("displ_x", "displ_y"), U)
4155
# write_field(pp, 1, U)
4256
close(pp)
4357
end
44-
45-
mechanics_test()

test/mechanics/TestMechanicsAMDGPU.jl

Lines changed: 0 additions & 54 deletions
This file was deleted.

test/mechanics/TestMechanicsCUDA.jl

Lines changed: 0 additions & 53 deletions
This file was deleted.

test/poisson/TestPoisson.jl

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -126,52 +126,3 @@ function test_poisson_neumann(
126126
# rm(output_file; force=true)
127127
display(solver.timer)
128128
end
129-
130-
# function test_poisson_iterative(dev, use_condensed)
131-
# mesh = UnstructuredMesh(mesh_file)
132-
# V = FunctionSpace(mesh, H1Field, Lagrange)
133-
# physics = Poisson()
134-
# props = create_properties(physics)
135-
# u = ScalarFunction(V, :u)
136-
# asm = SparseMatrixAssembler(u; use_condensed)
137-
138-
# # setup and update bcs
139-
# dbcs = DirichletBC[
140-
# DirichletBC(:u, :sset_1, bc_func),
141-
# DirichletBC(:u, :sset_2, bc_func),
142-
# DirichletBC(:u, :sset_3, bc_func),
143-
# DirichletBC(:u, :sset_4, bc_func),
144-
# ]
145-
146-
# # iterative solver test
147-
# # setup the parameters
148-
# p = create_parameters(mesh, asm, physics, props; dirichlet_bcs=dbcs)
149-
150-
# if dev != cpu
151-
# p = p |> dev
152-
# asm = asm |> dev
153-
# end
154-
155-
# # setup solver and integrator
156-
# solver = NewtonSolver(IterativeLinearSolver(asm, :CgSolver))
157-
# integrator = QuasiStaticIntegrator(solver)
158-
# @time evolve!(integrator, p)
159-
160-
# display(solver.timer)
161-
162-
# if dev != cpu
163-
# p = p |> cpu
164-
# end
165-
166-
# U = p.h1_field
167-
# pp = PostProcessor(mesh, output_file, u)
168-
# write_times(pp, 1, 0.0)
169-
# write_field(pp, 1, ("u",), U)
170-
# close(pp)
171-
172-
# if !Sys.iswindows()
173-
# @test exodiff(output_file, gold_file)
174-
# end
175-
# rm(output_file; force=true)
176-
# display(solver.timer)
177-
# end

test/runtests.jl

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,22 @@ end
6464
@testset ExtendedTestSet "Mechanics Problem" begin
6565
include("mechanics/TestMechanicsCommon.jl")
6666
include("mechanics/TestMechanics.jl")
67+
68+
cg_solver = x -> IterativeLinearSolver(x, :CgSolver)
69+
70+
test_mechanics_dirichlet_only(cpu, false, NewtonSolver, DirectLinearSolver)
71+
test_mechanics_dirichlet_only(cpu, true, NewtonSolver, DirectLinearSolver)
72+
test_mechanics_dirichlet_only(cpu, false, NewtonSolver, cg_solver)
73+
test_mechanics_dirichlet_only(cpu, true, NewtonSolver, cg_solver)
74+
6775
if AMDGPU.functional()
68-
include("mechanics/TestMechanicsAMDGPU.jl")
76+
test_mechanics_dirichlet_only(rocm, false, NewtonSolver, cg_solver)
77+
test_mechanics_dirichlet_only(rocm, true, NewtonSolver, cg_solver)
6978
end
79+
7080
if CUDA.functional()
71-
include("mechanics/TestMechanicsCUDA.jl")
81+
test_mechanics_dirichlet_only(cuda, false, NewtonSolver, cg_solver)
82+
test_mechanics_dirichlet_only(cuda, true, NewtonSolver, cg_solver)
7283
end
7384
end
7485

0 commit comments

Comments
 (0)