...
Get the basename (last part of your directory path) of your abs-directory for later use:
Volet |
---|
base_dir=$( basename $PWD ) |
'base_dir' should now be set to 'My_Abs'. You can verify it with:
...
So the object files, libraries and executables will not be under your home, create links for the directories 'build' and 'work'. Pick a place under which you want to keep the object files, libraries and executables under your data space, or example:
Volet |
---|
work_space=/.../${USER}/GEM_WORK_DIR |
Create the directories and the links (using ${base_dir} from above) :
Volet |
---|
mkdir -p ${work_space}/${base_dir}/build mkdir -p ${work_space}/${base_dir}/work ln -s ${work_space}/${base_dir}/build ln -s ${work_space}/${base_dir}/work |
e) Acquire a compiler
Only needed once per window/terminal. Same as for GEM 5.1.1.
Volet |
---|
module add intel/2021.2.0 fftw-intel-2021 |
f) Set the variable 'abs_dir'
Set the variable 'abs_dir' to the name of your executable directory, including the 'gem' directory (needed under e))
Volet |
---|
abs_dir=$PWD |
g) Change into 'build' directory:
...
i) Compile and create executable
Volet |
---|
make mainspsdm |
You can also use n cores in parallel by adding the '-jn', for example to use 4 cores:
...
You need the following config files:
Volet |
---|
configexp.cfg dyn_input_table rpnstd_units.dict |
outcfg.out
SPS does not have the possibility to write and continue from restart files. Therefore, at the end of each job all fields needed to start another simulation need to get outputted. The next job will then use the output of the previous job as initial conditions. To make the output of fields at the end of a job easier, steps=1 and steps=2 are now hard coded to:
...