Skip to content

1D evolution code for growing and fragmenting dust in the presence of snow lines and particle trapping

License

Notifications You must be signed in to change notification settings

arnaudvericel/endgame_Cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

endgame (C++ version)

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).


Installation:

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.


Your first endgame simulation:

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.


Command line output examples:

Without Thanos:

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 %

With Thanos:

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!

About

1D evolution code for growing and fragmenting dust in the presence of snow lines and particle trapping

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published