Skip to content

Commit aa4a859

Browse files
authored
Merge pull request #89 from KratosMultiphysics/MLMC/correct-problem-0
[MLMC] Update problems
2 parents 2963af6 + 21ebb35 commit aa4a859

File tree

97 files changed

+196754
-520575
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+196754
-520575
lines changed

README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,6 @@ Unit tests should *not* be uploaded to this repository. Please put them in the `
140140
- [Compressible potential flow problem](multilevel_monte_carlo/use_cases/compressible_potential_flow/README.md)
141141
- [Fluid dynamics building problem](multilevel_monte_carlo/use_cases/fluid_dynamics_building)
142142
- [Wind engineering rectangle problem](multilevel_monte_carlo/use_cases/wind_engineering_rectangle)
143-
- [Deterministic wind engineering rectangle problem with ensemble average approach](multilevel_monte_carlo/use_cases/wind_engineering_rectangle/deterministic_ensemble_average)
144-
- [Stochastic wind engineering rectangle problem](multilevel_monte_carlo/use_cases/wind_engineering_rectangle/stochastic_MC)
145-
- [Stochastic wind engineering rectangle problem with ensemble average approach](multilevel_monte_carlo/use_cases/wind_engineering_rectangle/stochastic_MC_ensemble_average)
146143
- [Wind engineering CAARC problem](multilevel_monte_carlo/use_cases/wind_engineering_CAARC)
147144
- [Steady inlet wind engineering CAARC problem with ensemble average approach](multilevel_monte_carlo/use_cases/wind_engineering_CAARC/steady_inlet_monte_carlo)
148145
- [Turbulent inlet wind engineering CAARC problem with ensemble average approach](multilevel_monte_carlo/use_cases/wind_engineering_CAARC/turbulent_inlet_monte_carlo)

multilevel_monte_carlo/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
- [Compressible potential flow problem](use_cases/compressible_potential_flow/README.md)
55
- [Fluid dynamics building problem](use_cases/fluid_dynamics_building)
66
- [Wind engineering rectangle problem](use_cases/wind_engineering_rectangle)
7-
- [Deterministic wind engineering rectangle problem with ensemble average approach](use_cases/wind_engineering_rectangle/deterministic_ensemble_average)
8-
- [Stochastic wind engineering rectangle problem](use_cases/wind_engineering_rectangle/stochastic_MC)
9-
- [Stochastic wind engineering rectangle problem with ensemble average approach](use_cases/wind_engineering_rectangle/stochastic_MC_ensemble_average)
107
- [Wind engineering CAARC problem](use_cases/wind_engineering_CAARC)
118
- [Steady inlet wind engineering CAARC problem with ensemble average approach](use_cases/wind_engineering_CAARC/steady_inlet_monte_carlo)
129
- [Turbulent inlet wind engineering CAARC problem with ensemble average approach](use_cases/wind_engineering_CAARC/turbulent_inlet_monte_carlo)

multilevel_monte_carlo/use_cases/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ This folder contains the use cases:
55
- [Compressible potential flow problem](compressible_potential_flow/README.md)
66
- [Fluid dynamics building problem](fluid_dynamics_building)
77
- [Wind engineering rectangle problem](wind_engineering_rectangle)
8-
- [Deterministic wind engineering rectangle problem with ensemble average approach](wind_engineering_rectangle/deterministic_ensemble_average)
9-
- [Stochastic wind engineering rectangle problem](wind_engineering_rectangle/stochastic_MC)
10-
- [Stochastic wind engineering rectangle problem with ensemble average approach](wind_engineering_rectangle/stochastic_MC_ensemble_average)
118
- [Wind engineering CAARC problem](wind_engineering_CAARC)
129
- [Steady inlet wind engineering CAARC problem with ensemble average approach](wind_engineering_CAARC/steady_inlet_monte_carlo)
1310
- [Turbulent inlet wind engineering CAARC problem with ensemble average approach](wind_engineering_CAARC/turbulent_inlet_monte_carlo)

multilevel_monte_carlo/use_cases/compressible_potential_flow/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Compressible Potential Flow problem
22

3-
**Author:** [Riccardo Tosi](https://github.com/riccardotosi)
3+
**Author:** [Riccardo Tosi](https://riccardotosi.github.io)
44

55
**Kratos version:** 8.1
66

@@ -22,7 +22,7 @@ The problem can be run with four different algorithms:
2222
* Synchronous Multilevel Monte Carlo (SMLMC),
2323
* Asynchronous Multilevel Monte Carlo (AMLMC),
2424

25-
and by default AMC and AMLMC are selected. If one is interested in running SMC or SMLMC, it is needed to select `asynchronous = false` in the solver wrapper settings.
25+
and by default AMC and AMLMC are selected. If one is interested in running SMC or SMLMC, it is needed to select `asynchronous = false` in the solver wrapper settings. Please observe that for running you may want to increase the number of realizations per level.
2626

2727
The Quantities of Interest of the problem are the lift coefficient and the pressure coefficient. Statistical convergence is assessed for the lift coefficient.
2828

multilevel_monte_carlo/use_cases/compressible_potential_flow/source/run_mc_Kratos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
with open(parameters["solverWrapperInputDictionary"]["projectParametersPath"],'r') as parameter_file:
9696
project_parameters = json.load(parameter_file)
9797
pickled_model = algo.monteCarloSampler.indices[0].sampler.solvers[0].pickled_model[0]
98-
serialized_model = pickle.loads(pickled_model)
98+
serialized_model = pickle.loads(get_value_from_remote(pickled_model))
9999
current_model = KratosMultiphysics.Model()
100100
serialized_model.Load("ModelSerialization",current_model)
101101
model_part_of_interest = "model.Body2D_Body"

multilevel_monte_carlo/use_cases/compressible_potential_flow/source/run_mlmc_Kratos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
with open(parameters["solverWrapperInputDictionary"]["projectParametersPath"][0],'r') as parameter_file:
9797
project_parameters = json.load(parameter_file)
9898
pickled_model = algo.monteCarloSampler.indices[0].sampler.solvers[0].pickled_model[0]
99-
serialized_model = pickle.loads(pickled_model)
99+
serialized_model = pickle.loads(get_value_from_remote(pickled_model))
100100
current_model = KratosMultiphysics.Model()
101101
serialized_model.Load("ModelSerialization",current_model)
102102
model_part_of_interest = "model.Body2D_Body"
Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,34 @@
11
#!/usr/bin/env bash
22

3-
path_to_folder=$(pwd)
3+
path_to_examples_folder=$(pwd)
4+
5+
materials_path_to_replace_poisson="problem_settings/materials.json"
6+
materials_new_path_poisson="$path_to_examples_folder/problem_settings/materials.json"
7+
mdpa_path_to_replace_0="problem_settings/naca0012Mesh4"
8+
mdpa_new_path_0="$path_to_examples_folder/problem_settings/naca0012Mesh4"
9+
mdpa_path_to_replace_1="problem_settings/CPS_MONTECARLO_MeshInterpError1e-2"
10+
mdpa_new_path_1="$path_to_examples_folder/problem_settings/CPS_MONTECARLO_MeshInterpError1e-2"
11+
mdpa_path_to_replace_2="problem_settings/CPS_MONTECARLO_MeshInterpError5e-3"
12+
mdpa_new_path_2="$path_to_examples_folder/problem_settings/CPS_MONTECARLO_MeshInterpError5e-3"
13+
14+
# set absolute path in Kratos parameters
15+
sed -i "s|$materials_path_to_replace_poisson|$materials_new_path_poisson|g" "problem_settings/parameters_potential_naca_lev0.json"
16+
sed -i "s|$materials_path_to_replace_poisson|$materials_new_path_poisson|g" "problem_settings/parameters_potential_naca_lev1.json"
17+
sed -i "s|$materials_path_to_replace_poisson|$materials_new_path_poisson|g" "problem_settings/parameters_potential_naca_lev2.json"
18+
sed -i "s|$mdpa_path_to_replace_0|$mdpa_new_path_0|g" "problem_settings/parameters_potential_naca_lev0.json"
19+
sed -i "s|$mdpa_path_to_replace_1|$mdpa_new_path_1|g" "problem_settings/parameters_potential_naca_lev1.json"
20+
sed -i "s|$mdpa_path_to_replace_2|$mdpa_new_path_2|g" "problem_settings/parameters_potential_naca_lev2.json"
21+
422
runcompss \
523
--lang=python \
624
--python_interpreter=python3 \
725
--pythonpath=$path_to_folder \
826
./run_mc_Kratos.py problem_settings/parameters_xmc_asynchronous_mc_potentialFlow.json
27+
28+
# revert change in Kratos parameters
29+
sed -i "s|$materials_new_path_poisson|$materials_path_to_replace_poisson|g" "problem_settings/parameters_potential_naca_lev0.json"
30+
sed -i "s|$materials_new_path_poisson|$materials_path_to_replace_poisson|g" "problem_settings/parameters_potential_naca_lev1.json"
31+
sed -i "s|$materials_new_path_poisson|$materials_path_to_replace_poisson|g" "problem_settings/parameters_potential_naca_lev2.json"
32+
sed -i "s|$mdpa_new_path_0|$mdpa_path_to_replace_0|g" "problem_settings/parameters_potential_naca_lev0.json"
33+
sed -i "s|$mdpa_new_path_1|$mdpa_path_to_replace_1|g" "problem_settings/parameters_potential_naca_lev1.json"
34+
sed -i "s|$mdpa_new_path_2|$mdpa_path_to_replace_2|g" "problem_settings/parameters_potential_naca_lev2.json"

multilevel_monte_carlo/use_cases/fluid_dynamics_building/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Fluid dynamics building problem
22

3-
**Author:** [Riccardo Tosi](https://github.com/riccardotosi)
3+
**Author:** [Riccardo Tosi](https://riccardotosi.github.io)
44

55
**Kratos version:** 8.1
66

7-
**XMC version:** 2.0
7+
**XMC version:** Kratos default version
88

9-
**PyCOMPSs version:** 2.7
9+
**PyCOMPSs version:** Kratos default version to run in serial, >2.8 to run with `runcompss`
1010

1111
**Source files:** [Asynchronous Monte Carlo and Asynchronous Multilevel Monte Carlo](source)
1212

@@ -22,7 +22,7 @@ The problem can be run with four different algorithms:
2222
* Synchronous Multilevel Monte Carlo (SMLMC),
2323
* Asynchronous Multilevel Monte Carlo (AMLMC),
2424

25-
and by default AMC and AMLMC are selected. If one is interested in running SMC or SMLMC, it is needed to select `asynchronous = false` in the solver wrapper settings.
25+
and by default AMC and AMLMC are selected. If one is interested in running SMC or SMLMC, it is needed to select `asynchronous = false` in the solver wrapper settings. Please observe that for running you may want to increase the number of realizations per level and the time horizon of each realization.
2626

2727
The Quantities of Interest of the problem are the drag force and the pressure field. Statistical convergence is assessed for the drag force.
2828

0 commit comments

Comments
 (0)