To configure the code and generate a Makefile
run the following in the root directory: python configure.py [FLAGS]
. Following is a list of all the currently supported flags, to access it, simply run python configure.py -h
.
usage: configure.py [-h] [--cluster {frontera,zaratan,stellar,ginsburg}] [--compiler {intel,aocc,gcc}]
[--vector {intel-avx2,intel-avx512,amd-avx2}] [-hdf5] [-serial] [-mpinonblock] [-avx2 | -avx512]
[-lowmem] [-ifport] [-mpi | -mpi08] [-test]
(--user {user_rad_turb,user_reflect,user_svensson,user_turb,user_twostream,user_weibel,user_2d_rec_compton,user_2d_Waterbag,user_2d_boostedrec,user_2d_rec,user_3d_rec,user_bin_psr,user_bwpp,user_cooling,user_emwave,user_esc_turb,user_full,user_inject_and_cool,user_isolatedparticles,user_jones,user_kink,user_kompaneets,user_langmuir,user_prtlwake,user_psr,user_psr_simple,user_rad_shock,user_sheet} | --unit {unit_alb,unit_bincoupling,unit_bw,unit_chargedmerging,unit_compton,unit_cooling,unit_dipole,unit_dwn,unit_filtering,unit_gca,unit_qed,unit_slb,unit_spec,unit_two_bulbs,unit_weight})
[-double] [--nghosts NGHOSTS] [-extfields] [-absorb] [--debug DEBUG] [-safe] [--gca GCA] [-vay]
[-blinne] [-payload] [-usroutput] (-1d | -2d | -3d) [-dwn] [-alb] [-slb]
[--radiation {no,sync,ic,sync+ic}] [-emit] [-qed] [-bwpp] [-compton] [-annihilation]
optional arguments:
-h, --help show this help message and exit
--cluster {frontera,zaratan,stellar,ginsburg}
choose cluster-specific configurations.
--compiler {intel,aocc,gcc}
choose the compiler.
--vector {intel-avx2,intel-avx512,amd-avx2}
choose the vectorization option.
-hdf5 enable HDF5 & use h5pfc compiler
-serial enable serial output
-mpinonblock enable non-blocking mpi calls (faster simulation but non-reproducible)
-avx2 enable avx2 vectorization
-avx512 enable avx512 vectorization
-lowmem enable low memory regime
-ifport enable IFPORT library (`mkdir` etc)
-mpi enable mpi
-mpi08 enable mpi_f08
-test enable test mode
--user {user_rad_turb,user_reflect,user_svensson,user_turb,user_twostream,user_weibel,user_2d_rec_compton,user_2d_Waterbag,user_2d_boostedrec,user_2d_rec,user_3d_rec,user_bin_psr,user_bwpp,user_cooling,user_emwave,user_esc_turb,user_full,user_inject_and_cool,user_isolatedparticles,user_jones,user_kink,user_kompaneets,user_langmuir,user_prtlwake,user_psr,user_psr_simple,user_rad_shock,user_sheet}
select user file
--unit {unit_alb,unit_bincoupling,unit_bw,unit_chargedmerging,unit_compton,unit_cooling,unit_dipole,unit_dwn,unit_filtering,unit_gca,unit_qed,unit_slb,unit_spec,unit_two_bulbs,unit_weight}
select unit file
-double use double precision
--nghosts NGHOSTS specify the # of ghost cells
-extfields apply external fields
-absorb enable absorbing boundaries
--debug DEBUG enable the debug mode at specific level
-safe enable dynamic memory allocations (safe regime)
--gca GCA enable GCA mover with specific # of iterations
-vay enable Vay pusher
-blinne enable Blinne field solver
-payload enable particle payloads
-usroutput enable user-specified output routines and condition
-1d enable 1d
-2d enable 2d
-3d enable 3d
-dwn enable particle downsampling
-alb enable adaptive load balancing
-slb enable static load balancing
--radiation {no,sync,ic,sync+ic}
choose radiation mechanism
-emit enable photon emission
-qed enable QED step
-bwpp enable Breit-Wheeler pair production
-compton enable Compton scattering
-annihilation enable pair annihilation