Endgame is a 1D evolution code for simulating growing and fragmenting dust in the presence of snow lines and particle trapping.
This code computes the parallel evolution of n-dust grains in a static disc of gas, i.e. by integrating the dust radial velocity. The user has the possibility to add a few physical processes such as growth, fragmentation, snow lines, pressure bumps and size shift after sublimation/condensation.
The code requires 2 input files : a "disc.in" and a "dust.in" (names are not important, only their content are).
- the disc infile states the disc properties and the physics involved.
- the dust infile specifies the number of grains that need to be simulated as well as their initial radii, sizes and intrinsic densities.
The output consists of a file "px.dat" per particle, where x is the dust grain number formatted at 3 digits. Each file contains the evolution of the particle's properties across the simulatio (e.g. radii, size, density, etc).
To make the executable "endgame", make sure you have the g++ compiler and type:
make all
For those who have time to waste, Thanos can also make some comments throughout the execution of the code. To allow Thanos to monologue, sometimes, compile the code with THANOS=yes
.
To execute endgame, the user needs to provide 2 command line arguments in the order specified below:
- the name of the disc input file.
- the name of the dust input file.
To launch your first endgame simulation, go to the build/
directory and type:
./endgame disc_example.in dust_example.in
which is going to launch the code with the example input files of that directory.
Arnaud@MacBook-Pro-de-Arnaud:~/Documents/Codes.nosync/endgame_Cpp/build
: ./endgame disc_example.in dust_example.in
@@@@@@@@@@@% /@@@@ @@@@@ @@@@@@@@&, @@@@@ @ @@@ @@@@@ @@@@@ @@@@@@@@@@@@
&@@ @% @@@@% @, .@@ .@@@ @@@ @@ &&@@@ @@@@@ @@@@* @@@ @
&@@ @. @#/@@@ @, .@@ ,@@ @@@ @ .@ @@ @@*@@( *@ @@* @@@
&@@@@@@ @# @@@ @, .@@ @@* @@& @@@@@@@ @@ @@@ @ @@* @@@@@@@
&@@ @ @ @# @@@ @, .@@ ,@@ @@@ @@@@@ @, @@@ @@ @@@ @@ @@* @@@ /@ @.
&@@ @@ @# @@@#@, .@@ @@@ .@@/ @@# @@ .@@& @@ @@&@ @@* @@@ .@
@@@@@@@@@@@@ /@@@@ ,@@@, @@@@@@@@@@@ @@@@@@@@*@# @@@@& &&@@@@* @@@@ &@@ @@@@@@ &@@@@@@@@@@@
By Arnaud Vericel (C++ version).
-------------------------------------------------------------------------------------------------------
Reading file disc.in
disc.in is open.
Initializing disc parameters......done.
Reading file dust.in
dust.in is open.
126 dust particles to initialize......done.
--------------
The Physical properties of the disc at 1 AU
sigma_gas = 4.88e+02 kg/m2
cs = 8.44e+02 m/s
rho_gas = 4.59e-08 kg/m3
P_gas = 3.27e-02 Pa
H/R = 2.83e-02
--------------
[====================================================================================================] 100 %
Arnaud@MacBook-Pro-de-Arnaud:~/Documents/Codes.nosync/endgame_Cpp/build
: ./endgame disc_example.in dust_example.in
@@@@@@@@@@@% /@@@@ @@@@@ @@@@@@@@&, @@@@@ @ @@@ @@@@@ @@@@@ @@@@@@@@@@@@
&@@ @% @@@@% @, .@@ .@@@ @@@ @@ &&@@@ @@@@@ @@@@* @@@ @
&@@ @. @#/@@@ @, .@@ ,@@ @@@ @ .@ @@ @@*@@( *@ @@* @@@
&@@@@@@ @# @@@ @, .@@ @@* @@& @@@@@@@ @@ @@@ @ @@* @@@@@@@
&@@ @ @ @# @@@ @, .@@ ,@@ @@@ @@@@@ @, @@@ @@ @@@ @@ @@* @@@ /@ @.
&@@ @@ @# @@@#@, .@@ @@@ .@@/ @@# @@ .@@& @@ @@&@ @@* @@@ .@
@@@@@@@@@@@@ /@@@@ ,@@@, @@@@@@@@@@@ @@@@@@@@*@# @@@@& &&@@@@* @@@@ &@@ @@@@@@ &@@@@@@@@@@@
By Arnaud Vericel (C++ version).
-------------------------------------------------------------------------------------------------------
Reading file disc.in
disc.in is open.
Initializing disc parameters......done.
Reading file dust.in
dust.in is open.
126 dust particles to initialize......done.
Thanos: Fine, I'll do it myself.
--------------
The Physical properties of the disc at 1 AU
sigma_gas = 4.88e+02 kg/m2
cs = 8.44e+02 m/s
rho_gas = 4.59e-08 kg/m3
P_gas = 3.27e-02 Pa
H/R = 2.83e-02
--------------
[====================================================================================================] 100 %
Gamora: Is it done?
Thanos: Y...Yes
Gamora: What did it cost?
Thanos: Everything...
Printing summary after 100 kyrs of simulation:
Accreted | Non-accreted
95 | 31
Creating directory Steep
**************/**,,,,,,,,,,,,,**//////*,,,,,,**,**,,,,,,,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,
************(*,,,,,,,,,,,,,,,,,,,,,,*,,.,*,**,,,*,,,,,,,,,,*,,,*,,,,,,,,,,,,,,,,,,,,,,,,,
**********//,,,,,,,,,,,,,.,,,,,,,,,..,....*,,,,*,,,,,,,,,,,,,,,,**,,,,,,,,,,,,,,,,,,,,,,,
*********#***,**,,,,,,,,,,,.,.,,,***,,***,*,,,.,,,,,,,,,,,,,,,,****,,,,,,,,,,,,,,,,,,,,,,
********/********,,,,,,.....,,,,,,,,,,,,.,,,,,*,,,,*,.,..,,,,,,****/,,,,,,,,,,,,,,,,,,,,,
*******/**/******,,,,..,,,,,,,,,,,,,,*****,,.,,,,,**..,,.,,,.,*,,***/,,,,,,,,,,,,,,,,,,,,
******/**/******,,,,,,,,,,,,,,,,,,,,,,.,,*,,,,,,,,**.,,.,.,,,,*,,,****,,,,,,,,,,,,,,,,,,,
*****#**********,,,,,,,,,,,,,.......,,,,,,,.,,,,,,,*...,...,,,,,,,,****,,,,,,,,,,,,,,,,,,
*****#***********,,,,,*,,,.....................,,,,,,,.......,,,,,,,**/*,,,,,,,,,,,,,,,,,
****/#********,,,,,,,**,,..,.......,...............,,,,,.....,,,,,,,,*/**,,,,,,,,,,,,,,,,
****##*****,***,,,,,,,*,,..,...,,,,.....,............,,,,.,**,,,,,,,,/(**,***,,,,,,,,,,,,
****#((********,,,.,,,,,,,,,,,,........,.,,,...........,*/*,,,,,,,,,,,.,..,...*,,,,,,,,,,
****##**********,,,,*,,............,................,,***,,,,,,,,,,,,,,,,.......,,,,,,,,,
****(%****/***,**,,,**,.................,...........,*,,...,,,,,,,,,**,..,..,,*.,,,,,,,,,
*****%//****,,,,,,,,**,,................,...........,.......,,,,,*****,*,.,....,,*,,,,,,,
*****##**,,,,.......,*,,.....................................,,,,**,,*,,,.,,....,,,,,,,,,
*****%**,,,,,,.......,,.........................,...........,,,**,,,,,***.......,.*,,,,,,
*****(*****,,,.......,,..........................,,........,,****,,,,,***,,,,*,,*,,,,,,,,
******(*,**,,.......,**,,,.................................,,,*,,,,,,,****,,,,**.*,,,,,,,
*******(**,,**,....*/*,,,,,.............................,,,,,,,,,,,,,,,****.,,*,,/,,,,,,,
*******#**,****,,****,,,,,......,.......................,,,,,,,,,,,,,,,,,**...,*/*,,,,,,,
*******(%*******/***...,,,.,............................,*,,,.,,,,,,,,,,,,*,...,*/,,,,,,,
*******(*******,/*,.*..,*,.............................,,,,,,.,,,,,,,,,,,,,*,.,***/,,,,,,
******(#********,,..***,,..,,..........................,,,,,,,,,,,.,,,,,,,**/..,***/,,,,*
******/#********,..,**,*,...,*...........................,,,,,,,,,,,,,,,,****,..****/*,*,
/******#*,******..,,****,...,*,............................,..,,,,,,,,,,,,****..,***/(*,,
********(*****,,..,,,***,..,*..............................,,,..,,,,,,,,,,,***,..,****(,,
****//*//((***,,..,,***,,,,.................................,,*...,,,,,,,,,,***..,,,**/(,
///*/*///*//,*,,.,,,,*,,,,,..................................,,*,,.,,,..,,,,,,,,...**/*/(
///////////(***,.,*,*,.,...,,*,,...,..........................,*,,,,,.,,,,,,,,,,....,,,,(
///////////*(*,,.*,**,.,***,,.,,...............................,*.,*,,,,,,,,,.,..........
///////////**(*,.*,,,,*/**.,...................................,*,,,,,*,*,,,.............
//////////***(*,,*,,.**,.,.,,...................................,*,,,,***,...............
/////////****//,.*,.**,,....,...................................,*,,,*,,.................
/////////*****/*,,,,,,,.,...,,..,.,,............................,,.,,....................
///////////***(*,,,,,,,,.,,,,,,..,,,..............................,......................
///////////***/(,,*,,,,,,,,,,,,..,,,,....................................................
/////////////*/(*,,,,,,,*,,,.,,,..,,.....................................................
/////////////////,,,,,,,,,,,.,,...,,.....................................................
//////////////***/,,,,,,,,,........,.....................................................
//////////////*****,,,,,,,,,...,.....,...................................................
//////////////***..*,,,.,,.,....,....,,..................................................
///////////////*...(,,,.,,.,,...,,....,..................................................
////////////////,...,.,.,,..,....,,......................................................
////////////////*...*,,,.,,.,,....,......................................................
/////////////////,...,,,,.,,.............................................................
/////////////////*.....,,,...............................................................
/////////////////*.........,,.......................................... .................
//////////////////..........,,,,,,.,.....................................................
Thanos: Today, I lost more than you can know. But now is no time to mourn. Now is no time at all.
- Note that the final Thanos punchline is randomly generated from the thanos quotes database, but also depends on the output of the calculations (e.g. : how many particles were accreted).
Enjoy!