Collisions¶
Test-case based on reproducing figure 2 of [SKK+09].
Compile Program¶
First build and compile the test case using the ./scripts/build_compile.sh helper script.
E.g. for a OpenMP build in /work/mh0731/m300950/validating_cleo/build using the intel compiler
and source directory in /home/m/m300950/validating_cleo/src/:
$ ./scripts/build_compile.sh \
openmp \
intel \
/home/m/m300950/validating_cleo/src/ \
/work/mh0731/m300950/validating_cleo/build
Then compile the example with the colls_golovin and colls_long and colls_testikstraub
executables with:
$ ./scripts/compile_only.sh \
[colls_golovin or colls_long or colls_testikstraub] \
openmp \
intel \
/home/m/m300950/validating_cleo/src/ \
/work/mh0731/m300950/validating_cleo/build
Initial conditions¶
First use scripts/collisions/initconds.py to generate the configuration files, the initial
superdroplet condition and gridbox binary files. E.g. with pySD module in /home/m/m300950/CLEO/
for a build in /work/mh0731/m300950/validating_cleo/build, and with plots of the initial
conditions, you would run:
$ python ./scripts/collisions/initconds.py \
/home/m/m300950/CLEO \
/work/mh0731/m300950/validating_cleo/build \
/home/m/m300950/validating_cleo/src/collisions/config.yaml \
TRUE TRUE
Run Model¶
Use ./scripts/run_allcollisions.sh to run all the executables.
E.g.
$ ./scripts/collisions/run_allcollisions.sh \
/work/mh0731/m300950/validating_cleo/build \
openmp
Plot Results¶
Plot the results of the model run using the python script ./scripts/collisions/plot_results.py.
E.g.
$ python ./scripts/collisions/plot_results.py \
/home/m/m300950/CLEO \
/work/mh0731/m300950/validating_cleo/build/share/collisions/dimlessGBxboundaries.dat \
/work/mh0731/m300950/validating_cleo/build/bin/collisions \
/work/mh0731/m300950/validating_cleo/build/bin/collisions
Breakup Comparison¶
To compare the results of the collision test cases including breakup, first build and compile the
breakup excutables colls_testikstraub, colls_straub_schlottke, colls_straub_fixednfrags and
constcoalbu_fixednfrags as above, as well as the long executable colls_long.
To run and plot the breakup comparison with the marshall palmer distribution you first need to
set use_marshall_parmer and plot_marshall_parmer
to True in the scripts for initconds_compare_breakup.py and plot_compare_breakup,
and in run_compare_breakup.sh you need to set label=bucomp_marshpam
The generate the initial conditons similarly but with the initconds_compare_breakup.py script
and config_compare_breakup.yaml.
E.g.
$ python ./scripts/collisions/initconds_compare_breakup.py \
/home/m/m300950/CLEO \
/work/mh0731/m300950/validating_cleo/build \
/home/m/m300950/validating_cleo/src/collisions/config_compare_breakup.yaml \
TRUE TRUE
Similarly use ./scripts/run_compare_breakup.sh to run the executables.
E.g.
$ ./scripts/collisions/run_compare_breakup.sh \
/work/mh0731/m300950/validating_cleo/build \
openmp
Similarly plot the results of the model runs using the python script
./scripts/collisions/plot_compare_breakup.py.
E.g.
$ python ./scripts/collisions/plot_compare_breakup.py`` \
/home/m/m300950/CLEO \
/work/mh0731/m300950/validating_cleo/build/share/collisions/dimlessGBxboundaries_bucomp[_marshpam].dat \
/work/mh0731/m300950/validating_cleo/build/bin/collisions \
/work/mh0731/m300950/validating_cleo/build/bin/collisions