Source code
MAELAS code is a software to calculate anisotropic magnetostriction coefficients and magnetoelastic constants up to second order. It generates required input files for VASP code to perform Density Functional Theory calculations, and it deduces the value of magnetostriction coefficients from the calculated energies given by VASP. If the elastic tensor is provided, then it can also calculate the magnetoelastic constants.

MAELAS can also be used with other DFT codes instead of VASP, after file conversion to VASP format files.

Source code
JorGπ [Georgie Pie] is an automatic scheme of mapping an ab-initio system (so far using VASP) onto Heisenberg model
.
It provides utilities for generation and post processing of magnetic structures.

Code description

MAELAS

usage: maelas [-h] [-i POS] [-n NDIST] [-s STRAIN] [-k KP] [-g] [-d] [-r] [-m]
              [-s1 SPIN1 SPIN1 SPIN1] [-s2 SPIN2 SPIN2 SPIN2] [-b] [-e ELAS]
              [-sp SYMPRE] [-sa SYMANG] [-sg SG0] [-c CORE] [-t TIME]
              [-f VASP_FOLD] [-mp MPI] [-a P_ID] [-l LOAD_MODULE] [-q QUEUE]

MAELAS code v1.0

optional arguments:
  -h, --help            show this help message and exit
  -i POS                Name of the initial non-distorted POSCAR file
                        (default: POSCAR)
  -n NDIST              Number of distorted states for each magnetostriction
                        mode (default: 7)
  -s STRAIN             Maximum value of the parameter epsilon for the strain
                        tensor to generate the distorted POSCAR files
                        (default: 0.01)
  -k KP                 VASP automatic k-point mesh generation to create the
                        KPOINTS file (default: 60)
  -g                    Generation of required VASP files for the calculation
                        of magnetostriction coefficients. Notation of the
                        generated output files: POSCAR_A_B (volume-conserving
                        distorted cell where A=magnetostriction mode,
                        B=distorted cell), INCAR_A_C (non-collinear
                        calculation where A=magnetostriction mode, C=spin
                        orientation case), INCAR_std (collinear calculation).
                        How to run the VASP calculations: For each generated
                        POSCAR_A_B one should run first a collinear
                        calculation using INCAR_std and use the generated
                        WAVECAR and CHGCAR files to run non-collinear
                        calculations for each INCAR_A_C using the same
                        POSCAR_A_B. It also generates bash scripts to run VASP
                        calculations easily (vasp_maelas, vasp_jsub, vasp_0)
                        and to get calculated OSZICAR_A_B_C files
                        (vasp_cp_oszicar)
  -d                    Derivation of magnetostriction coefficients from the
                        energy written in the OSZICAR files. WARNING!: OSZICAR
                        files must be in the same folder where you run MAELAS
                        using the notation OSZICAR_A_B_C obtained for
                        POSCAR_A_B and INCAR_A_C. Distorted POSCAR files
                        (POSCAR_A_B) must be in this folder too (jointly with
                        the initial non-distorted POSCAR which should be
                        specified using tag -i). Specify the number of
                        distorted states to be considered in the calculation
                        of magnetostriction coefficients using tag -n. Energy
                        values extracted from OSZICAR_A_B_C files are shown in
                        files ene_A_C.dat and fit_ene_A_C.png. The energy
                        difference between the two spin configurations for
                        each magnetostriction mode are shown in Figs. dE_A.png
  -r                    Generation of required VASP files for the cell
                        relaxation
  -m                    Generation of required VASP files to test MAE
  -s1 SPIN1 SPIN1 SPIN1
                        First spin direction to calculate MAE: s1x s1y s1z
  -s2 SPIN2 SPIN2 SPIN2
                        Second spin direction to calculate MAE: s2x s2y s2z
  -b                    Calculation of the magnetoelastic constants from the
                        calculated magnetostriction coefficients and provided
                        elastic tensor. For this option the tag -d must be
                        included as well as tag -e with the elastic tensor
                        file
  -e ELAS               File with the elastic tensor data in the same format
                        and units (GPa) as it is written by ELAS code (file
                        ELADAT). You can check this format in the Examples
                        folder
  -sp SYMPRE            Tolerance for symmetry finding (default: 0.01)
  -sa SYMANG            Angle tolerance for symmetry finding (default: 5.0)
  -sg SG0               Space group number 1-230. If it is equal to 0, then it
                        will be determined by a symmetry analysis (default: 0)
  -c CORE               Number of cores for the VASP calculation (default: 24)
  -t TIME               Number of maximum CPU hours for the VASP calculation
                        (default: 48)
  -f VASP_FOLD          Folder where you will run VASP calculations (default:
                        /scratch)
  -mp MPI               Command for mpi run of VASP (default: mpiexec.hydra)
  -a P_ID               Project id for running jobs in HPC facilities
                        (default: OPEN-X-X)
  -l LOAD_MODULE        Module of VASP that should be loaded (default:
                        VASP/5.4.4-intel-2017c-mkl=cluster)
  -q QUEUE              Type of queue to be used for VASP calculations in HPC
                        facilities (default: qprod)

JorGπ

JorGpi-startup

usage: JorGpi-startup  [-h] [--input INPUT] [--incar INCAR] [--output OUTPUT]
                   [--cutOff CUTOFF | --neighbor NEIGHBOR]
                   [--Wyckoffs WYCKOFFS] [--reference REFERENCE]
                   [--elements ELEMENTS]
                   [--group {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18} [{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18} ...]]
                   [--period {2p,3p,4p,5p,6p,3d,4d,5d,4f,5f} [{2p,3p,4p,5p,6p,3d,4d,5d,4f,5f} ...]]
                   [--block {P,D,F} [{P,D,F} ...]] [--symmetry] [--redundant]
                   [--spin-orbit] [--refined]
                   [--extra-dimentions EXTRA-DIMENTIONS]

Find minimal number of unique spin-flips

optional arguments:
  -h, --help            show this help message and exit
  --input INPUT, -i INPUT
                        input POSCAR file
  --incar INCAR, --INCAR INCAR, -I INCAR
                        input INCAR file
  --output OUTPUT, -o OUTPUT
                        output directory
  --cutOff CUTOFF, -R CUTOFF
                        a cut-off distance (in Å) for calculations
  --neighbor NEIGHBOR, -N NEIGHBOR
                        a rank of the last Neighbor taken into account
  --Wyckoffs WYCKOFFS, -W WYCKOFFS
                        narrows down the atomic selection to the atoms in
                        positions defined by string (eg. 'abc')
  --reference REFERENCE, -r REFERENCE
                        number of reference atom in inputFile
  --elements ELEMENTS, -E ELEMENTS
                        string of all elements taken into account (eg. 'CuO')
  --group {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18} [{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18} ...]
                        group number (eg. 1 <=> 'HLiNaKRbCsFr')
  --period {2p,3p,4p,5p,6p,3d,4d,5d,4f,5f} [{2p,3p,4p,5p,6p,3d,4d,5d,4f,5f} ...]
                        period name (eg. 3d <=>
                        '$Sc$Ti$V$Cr$Mn$Fe$Co$Ni$Cu$Zn$')
  --block {P,D,F} [{P,D,F} ...]
                        block name (eg. P <=> '$B$C$N$O$F$Al$Si$P$S$Cl$Ga$Ge$A
                        s$Se$Br$In$Sn$Sb$Te$I$Tl$Pb$Bi$Po$At$')
  --symmetry, -S        symmetry run only (default False)
  --redundant           creates a redundant system of equations for final
                        calculation of the Heisenberg exchange interaction
                        (default False)
  --spin-orbit, --SOC   (work-in-progress) is sping-orbit coupling enabled
                        (default False)
  --refined             should use refined supercell (default False)
  --extra-dimentions EXTRA-DIMENTIONS, -X EXTRA-DIMENTIONS
                        string "X Y Z" of extra cell copies in each directions
                        (eg. "0 0 1")

JorGpi-pickup

usage: JorGpi-pickup  [-h] [--number-of-interactions #J] --reference dir
                   [--units {eV,meV,Ry,mRy,He,mHe,K}] --elements symbol
                   [symbol ...] --directories dir [dir ...]

Finding Js

optional arguments:
  -h, --help            show this help message and exit
  --number-of-interactions #J, -J #J
                        number of exchange-interaction magnitudes to-be-
                        included in calculations
  --reference dir, --noFlip dir, -R dir
                        reference directory (usually noFlip/)
  --units {eV,meV,Ry,mRy,He,mHe,K}, -U {eV,meV,Ry,mRy,He,mHe,K}
                        units of energy
  --elements symbol [symbol ...], --atoms symbol [symbol ...], -E symbol [symbol ...]
                        Symbol of elements taken into account in calculations
  --directories dir [dir ...], -D dir [dir ...]
                        Directories containing flipped configurations (eg.
                        flip00000/)