Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wslda wslda
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wsldawslda
  • Wiki
  • Setting up calculations

Setting up calculations · Changes

Page history
Update Setting up calculations authored Sep 16, 2021 by Gabriel Wlazłowski's avatar Gabriel Wlazłowski
Hide whitespace changes
Inline Side-by-side
Setting-up-calculations.md
View page @ a21deac1
This instruction assumes that the Toolkit was already installed, and `$WSLDA` system variable is exported. If not follow instructions from [here](Installing the toolkit).
[[_TOC_]]
# Step 1: Creating your project folder
W-SLDA codes execute calculations in specifically prepared folders for this, called *project folders*. In order to create a new *project folder* you need to make copy of the template folder. For example to create new project for static calculations (of name `st-mycalcs`) execute command:
W-SLDA codes execute calculations in specifically prepared folders for this, called *project folders*. In order to create a new *project folder* you need to make a copy of the template folder. For example to create new project for static calculations (of name `st-mycalcs`) execute the command:
```bash
cp -r $WSLDA/st-project-template st-mycalcs
```
Folder with project initially contains following files:
1. [Makefile](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/Makefile) - user must modify this file to be compatible with target system (for more see *Step 2*).
2. [input.txt](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/input.txt) - template of input file for W-SLDA codes, must be modified by the user.
Folder with the project initially contains following files:
1. [Makefile](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/Makefile)
2. [input.txt](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/input.txt) - template of the input file for W-SLDA codes, must be modified by the user.
3. [predefines.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/predefines.h) - here you set compilation parameters of the code.
4. [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/problem-definition.h) - here you specify your physical problem you want to solve. This is the most important file from user's perspective.
4. [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/problem-definition.h) - here you specify the physical problem you want to solve. This is the most important file from the user's perspective.
5. [logger.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/logger.h) - here you customize what information should be printed to *wlog* file (text file).
# Step 2: Updating Makefile (if not provided by admin)
[Makefile](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/Makefile) must be edited in order to be compatible with your target system. You can use one of existing [templates for Makefiles](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/Makefiles-templates) in order to speed up this process. For example, if your target system is `Piz Daint` then you can simply copy appropriate file:
```bash
cp ../Makefiles-templates/Makefile.st.daint ./Makefile
```
Note that typically you need to set correctly environment before compilation. If you use [templates for Makefiles](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/Makefiles-templates), in the header of Makefile you will find information about modules that needs to be loaded.
# Step 3: Setting up compilation predefines.
Before compilation you need to edit [predefines.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/predefines.h) file and set correctly hpc-engine compilation parameters. Specifically, at this stage you need to specify size of computational lattice.
# Step 2: Setting up compilation predefines.
Before compilation, you need to edit [predefines.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/predefines.h) file and set correctly hpc-engine compilation parameters. Specifically, at this stage, you need to specify the size of the computational lattice.
# Step 4: Compiling initial version of the code
# Step 3: Compiling the initial version of the code
Execute
```bash
# optionally load before modules, e.g
# source env.sh
make
```
to compile W-SLDA codes. Note `make` command will compile all available versions of the code, see [here](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/wikis/Types-of-codes) for more info. In order to compile only selected version of the code use:
to compile W-SLDA codes. Note `make` command will compile all available versions of the code, see [here](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/wikis/Types-of-codes) for more info. In order to compile only a selected version of the code use:
```bash
make 3d # to create 3D version of the code only
make 2d # to create 2D version of the code only
......@@ -35,15 +35,15 @@ In order to remove files generated by compilation command use:
```bash
make clean
```
# Step 5: Define your problem
# Step 4: Define your problem
You need to edit [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/problem-definition.h) in order to define your problem. Update also [logger.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/logger.h) file if you need to report more refined quantities than only basic statistics (particle number, energy, etc.).
**Remember** to recompile the code after each modification of [problem-definition.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/problem-definition.h), [logger.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/logger.h), and [predefines.h](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/predefines.h).
# Step 6: Edit input file
Prepare [input.txt](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/input.txt) file for computation. Meaning of each tag is provided in comments.
# Step 5: Edit input file
Prepare [input.txt](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/tree/public/st-project-template/input.txt) file for computation. The meaning of each tag is provided in the comments.
# Step 7: Execute code
This step is strongly dependent on the target system. General structure of execution command is (example for `st-wslda-2d` code):
# Step 6: Execute code
This step is strongly dependent on the target system. Most likely content of the submission script will be provided by the admin. General structure of execution command is (example for `st-wslda-2d` code):
```bash
mpiexec-command resource-definition ./st-wslda-2d input.txt
```
......
Clone repository
  • API version
  • Automatic interpolations
  • Auxiliary tools
  • Browsing the code
  • Broyden algorithm
  • C and CUDA
  • Campaign of calculations
  • Checking correctness of settings
  • Chemical potentials control
  • Code & Results quality
  • Common failures of static codes
  • Common failures of time dependent codes
  • Computation domain
  • Configuring GPU machine
  • Constraining densities and potentials
View All Pages