-
Notifications
You must be signed in to change notification settings - Fork 0
Running examples
Go to one of the subdirectories ib the Example folders, for example, BBSEqualMassFix and type:
make all -j 4
Assuming this compiles with no errors, an executable would be produced with a name which depends on your compiler options but will look something like:
Main_BBSEqualMassFix3d.Darwin.64.g++-12.gfortran-12.OPT.MPI.OPENMPCC.ex
Normally you will not want to output the resulting hdf5 files to your home directory (where you would normally store the code), so you should amend the following lines in the params.txt file to give the (full, not relative) path to your scratch directory, where large temporary output files may be stored, e.g.
chk_prefix = /scratch/myname/run1/BosonChk__
plt_prefix = /scratch/myname/Bosonp_
The executable can be run in parallel (e.g. on 4 processors) using a command like
mpirun -np 4 ./Main_BBSEqualMassFix3d.Darwin.64.g++-12.gfortran-12.OPT.MPI.OPENMPCC.ex
If you are working on a cluster, you will be required to submit a batch job, instead of running the mpirun
command directly. The batch job will ensure that the simulation is queued and run on the compute nodes. In order to do this, you would usually write a jobscript; for examples and the tips on writing one, please refer to this page. In your jobscript file you will need to provide the number of cores you will be needing, which will depend on the grid configuration you are using. To determine what number of cores you need, we advise you to consult the Performance Optimisation page.
Once your code is running it should produce some directories as well as single files, for example:
-
Lots of hdf5 files - (i) these are checkpointing files from which you can later restart your simulation when you run out of time and (ii) the plot files which you can use to visualise your data (e.g. using Visit or Paraview). For examples on visualising your plot files, please refer to this page.
-
Lots of pout files, which show how far your simulation has progressed, what is the load balancing between all of your processes, and what parameters have been set to the defaults. You can produce more output if you set:
verbose = 1
in your parameter file.
-
Some 1D files with *dat extensions containing useful diagnostics. For example:
- ADMmass.dat -- ADM mass extracted at different radii
- NoetherCharge.dat -- Noether charge as a function of time
- StarCentres.dat -- Star positions (x, y, z) as functions of time
- constraint_norms.dat -- L1 and L2 norms of Hamiltonian and Momentum constraints
-
min_chi.dat -- minimum of the BSSN conformal factor,
$\chi$ -
mod_phi_max.dat -- maximum of the scalar field amplitude,
$|\varphi|$ - stats_AHx.dat -- files with apparent horizon data and many more, if you also enable the computation of the fluxes and gravitational waves!