-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Checking in some test cases to help debug nonoverlapping Schwarz:
a bar pulled from 1 or both directions decomposed into 2 or 3 subdomains, and a cylinder test case. 3 subdomain doesn't work with non-overlapping Schwarz. Need to debug. Cylinder works with neohookean material model and realistic material parameters, but not linear elastic, curiously.
- Loading branch information
Showing
30 changed files
with
1,388 additions
and
0 deletions.
There are no files selected for viewing
38 changes: 38 additions & 0 deletions
38
examples/debug-cases/2-cuboid-symmetry-bc/nonoverlap/cuboid-1.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
type: single | ||
input mesh file: cuboid-1.g | ||
output mesh file: cuboid-1.e | ||
model: | ||
type: solid mechanics | ||
material: | ||
blocks: | ||
fine: hyperelastic | ||
hyperelastic: | ||
model: linear elastic | ||
elastic modulus: 1.0e+09 | ||
Poisson's ratio: 0.25 | ||
density: 1000.0 | ||
time integrator: | ||
type: quasi static | ||
boundary conditions: | ||
Dirichlet: | ||
- node set: nsx- | ||
component: x | ||
function: "0.0" | ||
- node set: nsy- | ||
component: y | ||
function: "0.0" | ||
- node set: nsz- | ||
component: z | ||
function: "-1.0 * t" | ||
Schwarz nonoverlap: | ||
- side set: ssz+ | ||
source: cuboid-2.yaml | ||
source block: coarse | ||
source side set: ssz- | ||
solver: | ||
type: Hessian minimizer | ||
step: full Newton | ||
minimum iterations: 1 | ||
maximum iterations: 96 | ||
relative tolerance: 1.0e-10 | ||
absolute tolerance: 1.0e-06 |
38 changes: 38 additions & 0 deletions
38
examples/debug-cases/2-cuboid-symmetry-bc/nonoverlap/cuboid-2.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
type: single | ||
input mesh file: cuboid-2.g | ||
output mesh file: cuboid-2.e | ||
model: | ||
type: solid mechanics | ||
material: | ||
blocks: | ||
coarse: hyperelastic | ||
hyperelastic: | ||
model: linear elastic | ||
elastic modulus: 1.0e+09 | ||
Poisson's ratio: 0.25 | ||
density: 1000.0 | ||
time integrator: | ||
type: quasi static | ||
boundary conditions: | ||
Dirichlet: | ||
- node set: nsx- | ||
component: x | ||
function: "0.0" | ||
- node set: nsy- | ||
component: y | ||
function: "0.0" | ||
- node set: nsz+ | ||
component: z | ||
function: "1.0 * t" | ||
Schwarz nonoverlap: | ||
- side set: ssz- | ||
source: cuboid-1.yaml | ||
source block: fine | ||
source side set: ssz+ | ||
solver: | ||
type: Hessian minimizer | ||
step: full Newton | ||
minimum iterations: 1 | ||
maximum iterations: 96 | ||
relative tolerance: 1.0e-10 | ||
absolute tolerance: 1.0e-06 |
116 changes: 116 additions & 0 deletions
116
examples/debug-cases/2-cuboid-symmetry-bc/nonoverlap/cuboids.jou
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
${side = 1.0} | ||
${height = 2.0} | ||
${overlap_vol_frac = 0.0} | ||
${h_fine = 0.5} | ||
${h_coarse = 0.5} | ||
|
||
${area = side * side} | ||
${volume = area * height} | ||
${overlap_volume = overlap_vol_frac * volume} | ||
${overlap_length = overlap_volume / area} | ||
${domain_height = (height + overlap_length) / 2.0} | ||
${offset = abs(domain_height - overlap_length) / 2.0} | ||
|
||
create brick x {side} y {side} z {domain_height} | ||
move volume 1 z {-offset} include_merged | ||
#volume 1 scheme tetmesh | ||
volume 1 size {h_fine} | ||
mesh volume 1 | ||
block 1 volume 1 | ||
#block 1 element type tetra4 | ||
block 1 name "fine" | ||
nodeset 1 surface 4 | ||
nodeset 1 name "nsx-" | ||
nodeset 2 surface 6 | ||
nodeset 2 name "nsx+" | ||
nodeset 3 surface 3 | ||
nodeset 3 name "nsy-" | ||
nodeset 4 surface 5 | ||
nodeset 4 name "nsy+" | ||
nodeset 5 surface 2 | ||
nodeset 5 name "nsz-" | ||
nodeset 6 surface 1 | ||
nodeset 6 name "nsz+" | ||
sideset 1 surface 4 | ||
sideset 1 name "ssx-" | ||
sideset 2 surface 6 | ||
sideset 2 name "ssx+" | ||
sideset 3 surface 3 | ||
sideset 3 name "ssy-" | ||
sideset 4 surface 5 | ||
sideset 4 name "ssy+" | ||
sideset 5 surface 2 | ||
sideset 5 name "ssz-" | ||
sideset 6 surface 1 | ||
sideset 6 name "ssz+" | ||
set large exodus file off | ||
export mesh "cuboid-1.g" overwrite | ||
delete mesh | ||
move volume 1 z {2 * offset} include_merged | ||
#volume 1 scheme tetmesh | ||
volume 1 size {h_coarse} | ||
mesh volume 1 | ||
block 1 volume 1 | ||
#block 1 element type tetra4 | ||
block 1 name "coarse" | ||
nodeset 1 surface 4 | ||
nodeset 1 name "nsx-" | ||
nodeset 2 surface 6 | ||
nodeset 2 name "nsx+" | ||
nodeset 3 surface 3 | ||
nodeset 3 name "nsy-" | ||
nodeset 4 surface 5 | ||
nodeset 4 name "nsy+" | ||
nodeset 5 surface 2 | ||
nodeset 5 name "nsz-" | ||
nodeset 6 surface 1 | ||
nodeset 6 name "nsz+" | ||
sideset 1 surface 4 | ||
sideset 1 name "ssx-" | ||
sideset 2 surface 6 | ||
sideset 2 name "ssx+" | ||
sideset 3 surface 3 | ||
sideset 3 name "ssy-" | ||
sideset 4 surface 5 | ||
sideset 4 name "ssy+" | ||
sideset 5 surface 2 | ||
sideset 5 name "ssz-" | ||
sideset 6 surface 1 | ||
sideset 6 name "ssz+" | ||
set large exodus file off | ||
export mesh "cuboid-2.g" overwrite | ||
delete mesh | ||
move volume 1 z {2 * offset} include_merged | ||
#volume 1 scheme tetmesh | ||
volume 1 size {h_coarse} | ||
mesh volume 1 | ||
block 1 volume 1 | ||
#block 1 element type tetra4 | ||
block 1 name "coarse" | ||
nodeset 1 surface 4 | ||
nodeset 1 name "nsx-" | ||
nodeset 2 surface 6 | ||
nodeset 2 name "nsx+" | ||
nodeset 3 surface 3 | ||
nodeset 3 name "nsy-" | ||
nodeset 4 surface 5 | ||
nodeset 4 name "nsy+" | ||
nodeset 5 surface 2 | ||
nodeset 5 name "nsz-" | ||
nodeset 6 surface 1 | ||
nodeset 6 name "nsz+" | ||
sideset 1 surface 4 | ||
sideset 1 name "ssx-" | ||
sideset 2 surface 6 | ||
sideset 2 name "ssx+" | ||
sideset 3 surface 3 | ||
sideset 3 name "ssy-" | ||
sideset 4 surface 5 | ||
sideset 4 name "ssy+" | ||
sideset 5 surface 2 | ||
sideset 5 name "ssz-" | ||
sideset 6 surface 1 | ||
sideset 6 name "ssz+" | ||
set large exodus file off | ||
export mesh "cuboid-3.g" overwrite | ||
|
13 changes: 13 additions & 0 deletions
13
examples/debug-cases/2-cuboid-symmetry-bc/nonoverlap/cuboids.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
type: multi | ||
domains: ["cuboid-1.yaml", "cuboid-2.yaml"] | ||
Exodus output interval: 1 | ||
CSV output interval: 0 | ||
initial time: 0.0 | ||
final time: 1.0 | ||
time step: 0.1 | ||
same time step for domains: true | ||
minimum iterations: 1 | ||
maximum iterations: 64 | ||
relative tolerance: 1.0e-13 | ||
absolute tolerance: 1.0e-09 | ||
relaxation parameter: 0.473 |
38 changes: 38 additions & 0 deletions
38
examples/debug-cases/2-cuboid-symmetry-bc/overlap/cuboid-1.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
type: single | ||
input mesh file: cuboid-1.g | ||
output mesh file: cuboid-1.e | ||
model: | ||
type: solid mechanics | ||
material: | ||
blocks: | ||
fine: hyperelastic | ||
hyperelastic: | ||
model: linear elastic | ||
elastic modulus: 1.0e+09 | ||
Poisson's ratio: 0.25 | ||
density: 1000.0 | ||
time integrator: | ||
type: quasi static | ||
boundary conditions: | ||
Dirichlet: | ||
- node set: nsx- | ||
component: x | ||
function: "0.0" | ||
- node set: nsy- | ||
component: y | ||
function: "0.0" | ||
- node set: nsz- | ||
component: z | ||
function: "-1.0 * t" | ||
Schwarz overlap: | ||
- side set: ssz+ | ||
source: cuboid-2.yaml | ||
source block: coarse | ||
source side set: ssz- | ||
solver: | ||
type: Hessian minimizer | ||
step: full Newton | ||
minimum iterations: 1 | ||
maximum iterations: 96 | ||
relative tolerance: 1.0e-10 | ||
absolute tolerance: 1.0e-06 |
38 changes: 38 additions & 0 deletions
38
examples/debug-cases/2-cuboid-symmetry-bc/overlap/cuboid-2.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
type: single | ||
input mesh file: cuboid-2.g | ||
output mesh file: cuboid-2.e | ||
model: | ||
type: solid mechanics | ||
material: | ||
blocks: | ||
coarse: hyperelastic | ||
hyperelastic: | ||
model: linear elastic | ||
elastic modulus: 1.0e+09 | ||
Poisson's ratio: 0.25 | ||
density: 1000.0 | ||
time integrator: | ||
type: quasi static | ||
boundary conditions: | ||
Dirichlet: | ||
- node set: nsx- | ||
component: x | ||
function: "0.0" | ||
- node set: nsy- | ||
component: y | ||
function: "0.0" | ||
- node set: nsz+ | ||
component: z | ||
function: "1.0 * t" | ||
Schwarz overlap: | ||
- side set: ssz- | ||
source: cuboid-1.yaml | ||
source block: fine | ||
source side set: ssz+ | ||
solver: | ||
type: Hessian minimizer | ||
step: full Newton | ||
minimum iterations: 1 | ||
maximum iterations: 96 | ||
relative tolerance: 1.0e-10 | ||
absolute tolerance: 1.0e-06 |
Oops, something went wrong.