3. Create a codeΒΆ

Now we need to add the code (in this case representing the VASP executable) to the current AiiDA profile. The verdi subcommand code makes it possible to set up a code that later can be used to execute a given calculation. Please consult the AiiDA documentation for more details. The VASP code should be installed on a computer, preferably on a HPC cluster. In this example, we assume you have already added a computer with a label mycluster according to the AiiDA documentation. Before configuring the code in AiiDA, please make sure it runs and functions as normal on the computer mycluster.

  1. Let us now add the code, which we will call vasp as follows:

    % verdi code create core.code.installed
    Report: enter ? for help.
    Report: enter ! to ignore the default and set no value.
    Computer: mycluster
    Absolute filepath executable: /cluster/software/vasp/vasp6.3.2/vasp
    Label: vasp
    Description: VASP 6.3.2 standard version
    Default `CalcJob` plugin: vasp.vasp
    Escape using double quotes [y/N]:
    Success: Created InstalledCode<6>
    

    The Absolute filepath executable is the full path to the VASP executable installed on the remote computer, here labeled mycluster. In many cases, you might need to utilize different versions of a VASP executable, for instance in the gamma only or non-collinear configuration. Or with additional auxiliary libraries, like BEEF included. You need to add a dedicated code for each VASP version you want to utilize. Also, note that your identifier, or PK, which is here 6 will likely be different for you, depending on how many existing things are present in your AiiDA profile.

    During the end of the setup, you are asked to enter the prepend and append text. The prepend section is any command you would run before your code is executed. For most cluster systems you would need to load the correct modules in the prepend text. That is the first file we edit. Enter something along the lines of:

    module purge
    module load <myvaspmodule>
    

    in the first open section of the file. Read the comments if you are unsure where to add it. Here, myvaspmodule is the name of the VASP module you will associate with the addded code. The Absolute filepath executable can be obtain with for instance module show <myvaspmodule> under the PATH environment variable. You will have to check what the name of the actual VASP executable is as this could be tailored by your HPC maintainers. The default VASP build system yields the vasp_std, vasp_ncl and vasp_gam, which is maybe a good start. Save and close the file. A new file opens, which is related to the append, e.g. what is done after the executable has been executed. In the append text section you typically enter cleanup routines etc. If you have none, just save and close the file.

  2. We can now check if the code is present by issuing:

    % verdi code list
    Full label                                                                                     Pk  Entry point
    -------------------------------------------------------------------------------------------  ----  -------------------
    vasp@mycluster                                                                                  6  core.code.installed
    
    Use `verdi code show IDENTIFIER` to see details for a code
    

    This might of course be different for you if you have multiple entries or have named things differently than in this example.

  3. Also, let us inspect look its details:

    % verdi code show 6
    --------------  -------------------------------------
    PK              6
    UUID            e5de4c5a-ca44-4a3b-a42c-e5f7e1c21cbb
    Label           vasp
    Description     VASP 6.3.2 standard version
    Default plugin  vasp.vasp
    Prepend text    module purge
                    module load <myvaspmodule>
    Append text
    --------------  ------------------------------------