Skip to content

Commit

Permalink
Merge branch 'main' into schwarz_inclined_contact
Browse files Browse the repository at this point in the history
  • Loading branch information
brianphung committed Feb 5, 2025
2 parents 3a66d3a + 6015a56 commit b423f3b
Show file tree
Hide file tree
Showing 41 changed files with 18 additions and 44 deletions.
1 change: 0 additions & 1 deletion examples/ahead/nonoverlap/clamped/dynamic/clamped.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 1
initial time: 0.0
final time: 1.0e-3
time step: 1.0e-6
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
1 change: 0 additions & 1 deletion examples/ahead/nonoverlap/cuboid/quasistatic/cuboids.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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: 32
relative tolerance: 1.0e-12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 256
relative tolerance: 1.0e-05
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 1.0
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 32
relative tolerance: 1.0e-05
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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: 16
relative tolerance: 1.0e-08
Expand Down
1 change: 0 additions & 1 deletion examples/ahead/overlap/clamped/dynamic/clamped.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 1
initial time: 0.0
final time: 1.0e-5
time step: 1.0e-7
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ CSV write sidesets: true
initial time: 0.0
final time: 1.0
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Exodus output interval: 1
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
1 change: 0 additions & 1 deletion examples/ahead/overlap/cuboid/dynamic/cuboids.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 1.0
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
1 change: 0 additions & 1 deletion examples/ahead/overlap/cuboid/quasistatic/cuboids.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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: 16
relative tolerance: 1.0e-12
Expand Down
1 change: 0 additions & 1 deletion examples/ahead/overlap/laser-weld/dynamic/laser-weld.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-10
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 1.0
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 32
relative tolerance: 1.0e-05
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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: 16
relative tolerance: 1.0e-12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-06
final time: .001
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: true
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-06
final time: .001
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: true
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-06
final time: .001
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: true
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-06
final time: .001
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: true
minimum iterations: 1
Expand Down
1 change: 0 additions & 1 deletion examples/contact/implicit-dynamic/2_bars/bars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-08
final time: 3.0e-06
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: false
minimum iterations: 1
Expand Down
1 change: 0 additions & 1 deletion examples/contact/implicit-dynamic/3_bars/bars.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.0e-06
time step: 1.e-07
final time: 5.0e-06
same time step for domains: true
relaxation parameter: 1.0
minimum iterations: 1
maximum iterations: 32
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.e-4
time step: 1.e-4
final time: 3.0
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: false
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.e-4
time step: 1.e-4
final time: 3.0
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: false
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.e-4
time step: 1.e-4
final time: 3.0
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: false
minimum iterations: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: -1.e-4
time step: 1.e-4
final time: 3.0
same time step for domains: true
relaxation parameter: 1.0
naive stabilized: false
minimum iterations: 1
Expand Down
1 change: 0 additions & 1 deletion examples/contact/static/cubes/cubes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["cube-1.yaml", "cube-2.yaml"]
initial time: -4.0
final time: 4.0
time step: 1.0
same time step for domains: false
relaxation parameter: 0.5
minimum iterations: 1
maximum iterations: 16
Expand Down
1 change: 0 additions & 1 deletion examples/contact/static/inclined-cubes/cubes-test1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["cube-test1-1.yaml", "cube-test1-2.yaml"]
initial time: -4.0
final time: 4.0
time step: 1.0
same time step for domains: false
relaxation parameter: 0.5
minimum iterations: 1
maximum iterations: 16
Expand Down
1 change: 0 additions & 1 deletion examples/contact/static/inclined-cubes/cubes-test2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["cube-test2-1.yaml", "cube-test2-2.yaml"]
initial time: -4.0
final time: 4.0
time step: 1.0
same time step for domains: false
relaxation parameter: 0.5
minimum iterations: 1
maximum iterations: 16
Expand Down
1 change: 0 additions & 1 deletion examples/contact/static/inclined-cubes/cubes-test3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["cube-test3-1.yaml", "cube-test3-2.yaml"]
initial time: -4.0
final time: 4.0
time step: 1.0
same time step for domains: false
relaxation parameter: 0.5
minimum iterations: 1
maximum iterations: 16
Expand Down
1 change: 0 additions & 1 deletion examples/contact/static/inclined-cubes/cubes-test4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["cube-test4-1.yaml", "cube-test4-2.yaml"]
initial time: -4.0
final time: 4.0
time step: 1.0
same time step for domains: false
relaxation parameter: 0.5
minimum iterations: 1
maximum iterations: 16
Expand Down
1 change: 0 additions & 1 deletion examples/contact/transfer_operators/transfer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ domains: ["src.yaml", "dst.yaml"]
initial time: -1.0
final time: 1.0
time step: 1.0
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.5
time step: 0.1
same time step for domains: true
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-13
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.5
time step: 0.1
same time step for domains: true
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-13
Expand Down
1 change: 0 additions & 1 deletion examples/debug-cases/cylinder/nonoverlap/cylinder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-09
Expand Down
1 change: 0 additions & 1 deletion examples/debug-cases/cylinder/overlap/cylinder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 0.1
time step: 0.01
same time step for domains: true
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-09
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ CSV output interval: 0
initial time: 0.0
final time: 1.0
time step: 1.0
same time step for domains: true
minimum iterations: 1
maximum iterations: 64
relative tolerance: 1.0e-13
Expand Down
3 changes: 1 addition & 2 deletions examples/overlap/static-same-time-step/cuboids/cuboids.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ CSV output interval: 0
initial time: 0.0
final time: 1.0
time step: 1.0
same time step for domains: true
minimum iterations: 1
maximum iterations: 16
relative tolerance: 1.0e-12
absolute tolerance: 1.0e-08
absolute tolerance: 1.0e-08
11 changes: 11 additions & 0 deletions src/evolve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,17 @@ function regress_time(sim::SingleDomainSimulation)
sim.integrator.stop -= 1
end

function regress_time(sim::MultiDomainSimulation)
sim.schwarz_controller.time = sim.schwarz_controller.prev_time
stop = sim.schwarz_controller.stop - 1
final_time = sim.schwarz_controller.final_time
initial_time = sim.schwarz_controller.initial_time
num_stops = sim.schwarz_controller.num_stops
prev_time = (final_time - initial_time) * Float64(stop) / Float64(num_stops - 1) + initial_time
sim.schwarz_controller.prev_time = prev_time
sim.schwarz_controller.stop = stop
end

function start_runtimer(sim::SingleDomainSimulation)
sim.integrator.runtime_step = time()
end
Expand Down
10 changes: 6 additions & 4 deletions src/simulation.jl
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ function MultiDomainSimulation(params::Dict{String,Any})
initial_time = params["initial time"]
final_time = params["final time"]
time_step = params["time step"]
same_step = get(params, "same time step for domains", false)
same_step = true
exodus_interval = get(params, "Exodus output interval", 1)
csv_interval = get(params, "CSV output interval", 0)
sim_type = "none"
Expand All @@ -88,12 +88,13 @@ function MultiDomainSimulation(params::Dict{String,Any})
subparams["name"] = domain_name
subparams["time integrator"]["initial time"] = initial_time
subparams["time integrator"]["final time"] = final_time
if same_step == true
subparams["time integrator"]["time step"] = time_step
end
subparams["time integrator"]["time step"] = time_step
subparams["Exodus output interval"] = exodus_interval
subparams["CSV output interval"] = csv_interval
subsim = SingleDomainSimulation(subparams)
if subsim.integrator.time_step time_step
same_step = false
end
params[domain_name] = subsim.params
subsim_type =
get_analysis_type(subsim.integrator) * " " * subparams["model"]["type"]
Expand All @@ -107,6 +108,7 @@ function MultiDomainSimulation(params::Dict{String,Any})
subsim_index += 1
end
params["subdomains type"] = sim_type
params["same time step for domains"] = same_step
schwarz_controller = create_schwarz_controller(params)
failed = false
sim = MultiDomainSimulation(
Expand Down

0 comments on commit b423f3b

Please sign in to comment.