Wolfgang Tichy


Obtaining Sgrid

To get the Sgrid source code type:
git clone https://github.com/sgridsource/sgrid.git
Copy the file MyConfig into the newly created sgrid directory.

Type:

cd sgrid
make git_clone

Getting and compiling the TEMPLATES library needed for sgrid

Type:
git clone https://github.com/wofti/Packages.git

Type:

cd Packages/dctemplates_extBlasLapack
make

Compiling Sgrid

To compile you need a file called MyConfig. In it you need to set a few things like the compiler you use or where certain libraries are located. The file linked here is an example that works on Debian 11. Among other things it has the section:
DFLAGS += -DUMFPACK
SPECIALINCS += -I/usr/include/suitesparse
SPECIALLIBS += -lumfpack -lamd -lblas

The DFLAGS line says that we want to use the UMFPACK library. The SPECIALLIBS lines after that simply describe what libraries we want to compile in for that. Of course this only works if they are actually installed. To install them either download SuiteSparse yourself, or if you are e.g. on Debian Linux just install the package libsuitesparse-dev.

There is also the section:

DFLAGS += -DTEMPLATES
TEMPLATESDIR = /home/wolf/Packages/dctemplates_extBlasLapack
SPECIALLIBS += -L$(TEMPLATESDIR) -literatortemplates
SPECIALLIBS += -lblas -llapack
The DFLAGS line says that we want to use the TEMPLATES library. The lines after that describe where this library is, and what libraries we want to compile in. The TEMPLATES library needs to be first downloaded, and then compiled (see above).

Similary we need the GSL library:

DFLAGS += -DGSL
SPECIALLIBS += -lgsl -lgslcblas

In order to make new initial data for binary neutron stars we need the GSL and both UMFPACK and TEMPLATES. In this case the lapack and blas libraries also need to be installed. But if we just need to read in already created data with e.g. the data reader in BAM, Cactus or Nmesh all these lines can be commented out, because none of these libraries are needed.

There are now 2 versions of neutron star initial data in Sgrid. The old private one is called BNSdata and the new public one DNSdata. The new DNSdata can create higher mass and spin configurations, and may also run faster. So it should be preferred. Note that DNSdata also requires the project EoS_T0.


Parameter files for Sgrid

Several example parfiles are in sgrid/src/Projects/DNSdata/ParFiles , with description (to some extent) in sgrid/src/Projects/DNSdata/ParFiles/Note.txt .

Running Sgrid and BAM

Sgrid only uses OpenMP, not MPI, so do not run it with mpirun. Just launch it on a machine with multiple CPU cores. On Koko, Sgrid and also BAM can also be started with the submitjob script found at https://github.com/wofti/WTscripts. For slurm you als need slurm_mpirun_script.

About the non-public git repos of the FAU NR group

Some Sgrid projects that are still under development reside in the non-public FAU NR git repos.