Skip to content

Add ahead tests #113

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 39 commits into from
Jun 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
7483c7d
Adding test for non-overlapping torsion problem.
ikalash May 18, 2025
8dfe517
Tightening test tolerances for torsion problem.
ikalash May 18, 2025
efe4de3
Adding overlap Schwarz plate problem to tests.
ikalash May 18, 2025
934b9df
Adding numbers to tests (commented out) to easily see which test you
ikalash May 20, 2025
92e5f92
Correcting misspelling of "schwarz".
ikalash May 20, 2025
bc620cc
Merge branch 'main' into add-ahead-tests. Fix conflicts.
ikalash May 21, 2025
d86f98c
Adding torsion overlap Schwarz test.
ikalash May 22, 2025
9be9c9d
Adding 2 overlap Schwarz bracket tests w/ different meshes.
ikalash May 22, 2025
3a942bf
Modifying plate problem to use non-conformal mesh and dissipation.
ikalash May 22, 2025
b471953
Adding tests for single domain notched cylinder.
ikalash May 22, 2025
f086ad1
Adding single domain laser weld test.
ikalash May 22, 2025
17c4bbd
Clarifying test name.
ikalash May 22, 2025
48ffc48
Adding single-domain torsion test.
ikalash May 22, 2025
1ee1415
Adding single domain bracket problem.
ikalash May 22, 2025
9bb6ccd
Removing lines checked in accidentally.
ikalash May 22, 2025
7bb68db
Adding single domain plate problem.
ikalash May 22, 2025
0f613fc
Adding laser weld non-overlapping Schwarz test.
ikalash May 22, 2025
a726080
Adding non-overlapping Torsion problem test.
ikalash May 22, 2025
94d9a53
Adding plate non-overlapping Schwarz test.
ikalash May 22, 2025
22b36b2
Changing test name.
ikalash May 22, 2025
fb0bef8
Adding non-overlap bracket test.
ikalash May 22, 2025
b60e339
Correcting and expanding bracket non-overlapping tests.
ikalash May 22, 2025
7b7d169
Adding missing .g file needed for tests.
ikalash May 23, 2025
eb48d85
Cleaning up some of ROM input files.
ikalash May 23, 2025
a96d57b
Updating input files.
ikalash May 23, 2025
02c9796
Cleaning up tests, making sure everything passes.
ikalash May 23, 2025
1bef3f6
Tightening test tolerances. Cleaning up tests. Adding single domain
ikalash May 23, 2025
2f8a09d
Removing file checked in by mistake.
ikalash May 23, 2025
70add87
Adding overlapping Clamped test.
ikalash May 23, 2025
4ef1186
Adding clamped .g files.
ikalash May 23, 2025
2f54a89
Adding non-overlapping clamped test.
ikalash May 24, 2025
337be19
Removing print statements.
ikalash May 24, 2025
da91b02
Merge branch 'main' into add-ahead-tests. Resolve conflicts.
ikalash May 24, 2025
fd0b9ca
Adding checking of # Schwarz iters for clamped tests.
ikalash May 24, 2025
46c2919
Fix missing variable
lxmota May 24, 2025
42608a6
Loosing tolerances for new AHeaD tests. Hopefully this will fix some of
ikalash Jun 4, 2025
485ae39
Merge branch 'add-ahead-tests' of github.com:sandialabs/Norma.jl into…
ikalash Jun 4, 2025
a4f49e1
Merge branch 'main' into add-ahead-tests
ikalash Jun 4, 2025
6c079f0
More adjustments to tolerances to hopefully have clean CI dashboard.
ikalash Jun 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added examples/ahead/nonoverlap/bracket/bracket-1.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/bracket/bracket-2.g
Binary file not shown.
81 changes: 81 additions & 0 deletions examples/ahead/nonoverlap/bracket/bracket-tet-tet2.jou
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
reset
#left part of Omega
brick x 0.2 y 0.2 z 0.01
#movie volume 1 -2 -2 0
create Cylinder height 1 radius 0.075
#move Volume 2 midpoint location curve 9 include_merged
subtract volume 2 from volume 1
brick x 0.01 y 0.2 z 0.2
#move Volume 3 midpoint location curve 8 include_merged
volume 3 move -0.1 0 0
unite volume 1 volume 3

webcut volume 1 with plane xplane offset 0.0


delete volume 1

block 1 volume all
block 1 name 'left'

sideset 1 surface 32 33
sideset 1 name "left-frontSS"

nodeset 1 surface 16
nodeset 1 name "left-backNS"
nodeset 2 surface 32 33
nodeset 2 name "left-frontNS"
nodeset 3 volume all
nodeset 3 name "left-nsall"

volume all scheme Tetmesh
volume 4 size auto factor 7
#volume all size auto factor 10
block 1 element type TETRA4
mesh volume all
#refine volume all numsplit 1
export mesh "bracket-1.g" overwrite

reset
#right part of Omega
brick x 0.2 y 0.2 z 0.01
#movie volume 1 -2 -2 0
create Cylinder height 1 radius 0.075
#move Volume 2 midpoint location curve 9 include_merged
subtract volume 2 from volume 1
brick x 0.01 y 0.2 z 0.2
#move Volume 3 midpoint location curve 8 include_merged
volume 3 move -0.1 0 0
unite volume 1 volume 3

webcut volume 1 with plane xplane offset 0.0
delete volume 4

block 1 volume all
block 1 name 'right'

sideset 1 surface 26 25
sideset 1 name "right-backSS"

nodeset 1 surface 26 25
nodeset 1 name "right-backNS"
nodeset 2 surface 6
nodeset 2 name "right-frontNS"
nodeset 3 volume all
nodeset 3 name "right-nsall"

volume all scheme Tetmesh
volume all size auto factor 7
#volume all size auto factor 14
block 1 element type TETRA4
mesh volume all
refine volume all numsplit 1
export mesh "bracket-2.g" overwrite








40 changes: 40 additions & 0 deletions examples/ahead/nonoverlap/bracket/dynamic/bracket-1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
type: single
input mesh file: ../bracket-1.g
output mesh file: bracket-1.e
model:
type: solid mechanics
material:
blocks:
left: hyperelastic
hyperelastic:
model: neohookean
elastic modulus: 200.0e+09
Poisson's ratio: 0.25
density: 7800.0
time integrator:
type: Newmark
β: 0.49
γ: 0.9
boundary conditions:
Dirichlet:
- node set: left-backNS
component: x
function: "0.0"
- node set: left-backNS
component: y
function: "0.0"
- node set: left-backNS
component: z
function: "0.0"
Schwarz nonoverlap:
- side set: left-frontSS
source: bracket-2
source block: right
source side set: right-backSS
solver:
type: Hessian minimizer
step: full Newton
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-10
absolute tolerance: 1.0e-06
41 changes: 41 additions & 0 deletions examples/ahead/nonoverlap/bracket/dynamic/bracket-2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
type: single
input mesh file: ../bracket-2.g
output mesh file: bracket-2.e
model:
type: solid mechanics
material:
blocks:
right: hyperelastic
hyperelastic:
model: neohookean
elastic modulus: 200.0e+09
Poisson's ratio: 0.25
density: 7800.0
time integrator:
type: Newmark
β: 0.49
γ: 0.9
initial conditions:
velocity:
- node set: right-nsall
component: x
function: "0.0"
- node set: right-nsall
component: y
function: "0.0"
- node set: right-nsall
component: z
function: "ifelse(x > 0.099, 100.0, 0.0)"
boundary conditions:
Schwarz nonoverlap:
- side set: right-backSS
source: bracket-1
source block: left
source side set: left-frontSS
solver:
type: Hessian minimizer
step: full Newton
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-10
absolute tolerance: 1.0e-06
13 changes: 13 additions & 0 deletions examples/ahead/nonoverlap/bracket/dynamic/bracket.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
type: multi
domains: ["bracket-1.yaml", "bracket-2.yaml"]
Exodus output interval: 1
CSV output interval: 0
initial time: 0.0
final time: 2.5e-3
#final time: 20.0e-3 #original final time
time step: 1.0e-6
minimum iterations: 1
maximum iterations: 128
relative tolerance: 1.0e-06
absolute tolerance: 1.0e-06
relaxation parameter: 0.2
Binary file added examples/ahead/nonoverlap/clamped/clamped-1.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/clamped/clamped-2.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/laser-weld/gauge.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/laser-weld/holder-0.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/laser-weld/holder-1.g
Binary file not shown.
4 changes: 2 additions & 2 deletions examples/ahead/nonoverlap/plate/dynamic/plate-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ model:
density: 7800.0
time integrator:
type: Newmark
β: 0.25
γ: 0.5
β: 0.49
γ: 0.9
boundary conditions:
Dirichlet:
- node set: nsx-
Expand Down
4 changes: 2 additions & 2 deletions examples/ahead/nonoverlap/plate/dynamic/plate-2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ model:
density: 7800.0
time integrator:
type: Newmark
β: 0.25
γ: 0.5
β: 0.49
γ: 0.9
initial conditions:
velocity:
- node set: nsall
Expand Down
2 changes: 1 addition & 1 deletion examples/ahead/nonoverlap/plate/dynamic/plate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ minimum iterations: 1
maximum iterations: 128
relative tolerance: 1.0e-12
absolute tolerance: 1.0e-08
relaxation parameter: 0.4
relaxation parameter: 0.1
Binary file added examples/ahead/nonoverlap/plate/plate-1.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/plate/plate-2.g
Binary file not shown.
2 changes: 1 addition & 1 deletion examples/ahead/nonoverlap/plate/plate.jou
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
${side = 0.2}
${height = 0.03}
${overlap_vol_frac = 0.0}
${h_fine = 0.01}
${h_fine = 0.05}
${h_coarse = 0.01}

${area = side * height}
Expand Down
Binary file added examples/ahead/nonoverlap/torsion/torsion-1.g
Binary file not shown.
Binary file added examples/ahead/nonoverlap/torsion/torsion-2.g
Binary file not shown.
Binary file added examples/ahead/overlap/bracket/bracket-1-hex.g
Binary file not shown.
Binary file added examples/ahead/overlap/bracket/bracket-1-tet.g
Binary file not shown.
Binary file added examples/ahead/overlap/bracket/bracket-1.g
Binary file not shown.
Binary file added examples/ahead/overlap/bracket/bracket-2-tet.g
Binary file not shown.
Binary file added examples/ahead/overlap/bracket/bracket-2.g
Binary file not shown.
4 changes: 2 additions & 2 deletions examples/ahead/overlap/bracket/dynamic/bracket-1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ model:
density: 7800.0
time integrator:
type: Newmark
β: 0.25
γ: 0.5
β: 0.49
γ: 0.9
boundary conditions:
Dirichlet:
- node set: left-backNS
Expand Down
4 changes: 2 additions & 2 deletions examples/ahead/overlap/bracket/dynamic/bracket-2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ model:
density: 7800.0
time integrator:
type: Newmark
β: 0.25
γ: 0.5
β: 0.49
γ: 0.9
initial conditions:
velocity:
- node set: right-nsall
Expand Down
6 changes: 3 additions & 3 deletions examples/ahead/overlap/bracket/dynamic/bracket.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ final time: 2.5e-3
#final time: 20.0e-3 #original final time
time step: 1.0e-6
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
absolute tolerance: 1.0e-08
maximum iterations: 128
relative tolerance: 1.0e-10
absolute tolerance: 1.0e-06
Binary file added examples/ahead/overlap/clamped/clamped-1.g
Binary file not shown.
Binary file added examples/ahead/overlap/clamped/clamped-2.g
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ boundary conditions:
function: "0.0"
- node set: nodeset_negative_y
component: y
function: "-0.1 * t"
function: "-0.1 * (0.5 - 0.5 * cos(pi * t))"
- node set: nodeset_negative_y
component: z
function: "0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ boundary conditions:
function: "0.0"
- node set: nodeset_positive_y
component: y
function: "0.1 * t"
function: "0.1 * (0.5 - 0.5 * cos(pi * t))"
- node set: nodeset_positive_y
component: z
function: "0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ time integrator:
β: 0.25
γ: 0.5
boundary conditions:
Dirichlet:
- node set: nodeset_negative_y
component: x
function: "0.0"
- node set: nodeset_negative_y
component: z
function: "0.0"
Schwarz overlap:
- side set: sideset_negative_y
source: holder-0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ time integrator:
γ: 0.5
boundary conditions:
Dirichlet:
- node set: nodeset_negative_y
component: x
function: "0.0"
#- node set: nodeset_negative_y
# component: x
# function: "0.0"
- node set: nodeset_negative_y
component: y
function: "-0.1 * t"
- node set: nodeset_negative_y
component: z
function: "0.0"
function: "-0.1 * (0.5 - 0.5 * cos(pi * t))"
#- node set: nodeset_negative_y
#component: z
#function: "0.0"
Schwarz overlap:
- side set: sideset_positive_y
source: gauge
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ time integrator:
γ: 0.5
boundary conditions:
Dirichlet:
- node set: nodeset_positive_y
component: x
function: "0.0"
#- node set: nodeset_positive_y
# component: x
# function: "0.0"
- node set: nodeset_positive_y
component: y
function: "0.1 * t"
- node set: nodeset_positive_y
component: z
function: "0.0"
function: "0.1 * (0.5 - 0.5 * cos(pi * t))"
#- node set: nodeset_positive_y
#component: z
#function: "0.0"
Schwarz overlap:
- side set: sideset_negative_y
source: gauge
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ domains: ["holder-0.yaml", "gauge.yaml", "holder-1.yaml"]
Exodus output interval: 1
initial time: 0.0
final time: 0.1
time step: 0.001
time step: 0.0001
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-10
absolute tolerance: 1.0e-06
relative tolerance: 1.0e-07
absolute tolerance: 1.0e-05
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type: single
input mesh file: notched-cylinder-1.g
input mesh file: ../notched-cylinder-1.g
output mesh file: notched-cylinder-1.e
CSV output interval: 1
CSV write sidesets: true
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
type: single
input mesh file: notched-cylinder-2.g
input mesh file: ../notched-cylinder-2.g
output mesh file: notched-cylinder-2.e
CSV output interval: 1
CSV write sidesets: true
Expand Down Expand Up @@ -37,6 +37,7 @@ boundary conditions:
source: notched-cylinder-1
source side set: +Z_bottomSS
source block: fine
search tolerance: 5.0e-02
solver:
type: Hessian minimizer
step: full Newton
Expand Down
Loading