|
---
|
|
---
|
|
title: KKRSusc Quickstart Guide
|
|
title: KKRSusc Quickstart Guide
|
|
---
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Perform a KKRsusc calculation
|
|
# Perform a KKRsusc calculation
|
|
|
|
|
|
In order to investigate spin-excitations via the KKRsusc program please
|
|
In order to investigate spin-excitations via the KKRsusc program please follow the instructions as given hereafter.
|
|
follow the instructions as given hereafter.
|
|
|
|
|
|
|
|
Step 1 and 2 are done with the Jülich-München code,
|
|
Step 1 and 2 are done with the Jülich-München code, step 3 and 4 utilize the KKRimp program as included in the KKRSusc package, and step 5 is finally performed with the KKRsusc program itself.
|
|
step 3 and 4 utilize the KKRimp program as included in the KKRSusc package,
|
|
|
|
and step 5 is finally performed with the KKRsusc program itself.
|
|
|
|
|
|
|
|
## Step 1: Preparation of the system
|
|
## Step 1: Preparation of the system
|
|
|
|
|
... | @@ -31,13 +17,13 @@ and step 5 is finally performed with the KKRsusc program itself. |
... | @@ -31,13 +17,13 @@ and step 5 is finally performed with the KKRsusc program itself. |
|
|
|
|
|
## Step 2: Get the host Green functions for the susceptibility contour
|
|
## Step 2: Get the host Green functions for the susceptibility contour
|
|
|
|
|
|
- To perform a susceptibility calculation, a detailed description of the region around the Fermi level is needed. For that reason the impurity cluster needs to be converged on a new contour, that includes energy points at $E_F$ and goes down to the real axis.
|
|
- To perform a susceptibility calculation, a detailed description of the region around the Fermi level is needed. For that reason the impurity cluster needs to be converged on a new contour, that includes energy points at <span dir="">E_F</span> and goes down to the real axis.
|
|
- To create the contour, use the [meshpanels.dat file](kkrsusc/meshpanels.dat). Substitute the Fermi energy with the one for your system, and run the `emesh.x` executable, included in the KKRSusc package. This will result in a file called `emesh.dat` that includes the 50 energy points of the contour, that goes up to the Fermi energy.
|
|
- To create the contour, use the [meshpanels.dat file](kkrsusc/meshpanels.dat). Substitute the Fermi energy with the one for your system, and run the `emesh.x` executable, included in the KKRSusc package. This will result in a file called `emesh.dat` that includes the 50 energy points of the contour, that goes up to the Fermi energy.
|
|
- Finally do one iteration to write out the kkrflex_* files for a list of complex energy points as provided by the `emesh.dat`. In order to use this file you have to set the [run option (jumu/runoption) `KKRSUSC` in the inputcard. Futhermore, increase the `BZDIVIDE` to a higher value (for thin film a 500x500x1 mesh is usally enough), and the `RCLUSTZ` parameter so that the cluster includes 200-300 atoms (usually a value of 2.5 is enough).
|
|
- Finally one iteration to write out the kkrflex\_\* files for a list of complex energy points as provided by the `emesh.dat`. In order to use this file you have to set the \[run option (jumu/runoption) `KKRSUSC` in the inputcard. Futhermore, increase the `BZDIVIDE` to a higher value (for thin film a 500x500x1 mesh is usally enough), and the `RCLUSTZ` parameter so that the cluster includes 200-300 atoms (usually a value of 2.5 is enough).
|
|
|
|
|
|
## Step 3: Get the Impurity potential
|
|
## Step 3: Get the Impurity potential
|
|
|
|
|
|
- Take the kkrflex_* files from step 2 and the impurity potential from step 1 and converge the impurity cluster on the susceptibility contour.
|
|
- Take the kkrflex\_\* files from step 2 and the impurity potential from step 1 and converge the impurity cluster on the susceptibility contour.
|
|
|
|
|
|
## Step 4: Susceptibility Calculation
|
|
## Step 4: Susceptibility Calculation
|
|
|
|
|
... | @@ -45,26 +31,27 @@ and step 5 is finally performed with the KKRsusc program itself. |
... | @@ -45,26 +31,27 @@ and step 5 is finally performed with the KKRsusc program itself. |
|
|
|
|
|
### MPI Run
|
|
### MPI Run
|
|
|
|
|
|
- Take the kkrflex_* files and the converged potential from step 3, along with `shapefun` and [newinpsusc.dat](newinpsusc.dat)
|
|
- Take the kkrflex\_\* files and the converged potential from step 3, along with `shapefun` and [newinpsusc.dat](newinpsusc.dat)
|
|
- Modify [newinpsusc.dat](newinpsusc.dat) with the preferred parameters. Make sure that the system specific parameters match the information in the kkrflex_* files.
|
|
- Modify [newinpsusc.dat](newinpsusc.dat) with the preferred parameters. Make sure that the system specific parameters match the information in the kkrflex\_\* files.
|
|
- In the parallel run, the code projects the Green function to a new basis, so that the radial dependence is separated from the energy dependence. This process can be done in parallel, so as to increase efficiency that's why the code can be run in mpi.
|
|
- In the parallel run, the code projects the Green function to a new basis, so that the radial dependence is separated from the energy dependence. This process can be done in parallel, so as to increase efficiency that's why the code can be run in mpi.
|
|
- For this run set `lhdio=T` and `lrestart=F`. In the `config.cfg` file set the runflag *KKRSUSC* for one iteration and run the parallel executable.
|
|
- For this run set `lhdio=T` and `lrestart=F`. In the `config.cfg` file set the runflag _KKRSUSC_ for one iteration and run the parallel executable.
|
|
- After it's completed, a plethora of files will be written out, which will be read-in by the serial run. The main one is `outsusc.dat` which contains all the information from `newinpsusc.dat` as well as the coefficients of the projection, and the (ia*.wfn) files that include the wavefunction information.
|
|
- After it's completed, a plethora of files will be written out, which will be read-in by the serial run. The main one is `outsusc.dat` which contains all the information from `newinpsusc.dat` as well as the coefficients of the projection, and the (ia\*.wfn) files that include the wavefunction information.
|
|
|
|
|
|
### Serial Run
|
|
### Serial Run
|
|
|
|
|
|
- For this run set `lhdio=F` and `lrestart=T`. Use one core for the calculation, with a large amount of memory (usually more than 100Gb).
|
|
- For this run set `lhdio=F` and `lrestart=T`. Use one core for the calculation, with a large amount of memory (usually more than 100Gb).
|
|
- In the output, check if the physical quantities agree with the results from the impurity run (ie. spin moment, charge etc). A small difference of ~1% is to be expected. The files containing the susceptibility information are `ia*.chif`, `ia*.chid`, `ia*.chi0`.
|
|
- In the output, check if the physical quantities agree with the results from the impurity run (ie. spin moment, charge etc). A small difference of \~1% is to be expected. The files containing the susceptibility information are `ia*.chif`, `ia*.chid`, `ia*.chi0`.
|
|
|
|
|
|
| keyword | description | specialties |
|
|
| keyword | description | specialties |
|
|
|---------|-------------|-------------|
|
|
|---------|-------------|-------------|
|
|
| *ia*.chif* | Components of the susceptibility matrix | |
|
|
| _ia_.chif\* | Components of the susceptibility matrix | |
|
|
| *ia*.chid* | Components of the susceptibility matrix, in spherical basis | |
|
|
| _ia_.chid\* | Components of the susceptibility matrix, in spherical basis | |
|
|
| *ia*.chi0* | Components of the Kohn-Sham susceptibility matrix | |
|
|
| _ia_.chi0\* | Components of the Kohn-Sham susceptibility matrix | |
|
|
|
|
|
|
- To plot the susceptibility, use a script that creates the ladder operator $\chi^{\pm}$, using the the matrix elements in the output.
|
|
- To plot the susceptibility, use a script that creates the ladder operator <span dir="">\\chi^{\\pm}</span>, using the the matrix elements in the output.
|
|
- **NOTE** The `kernel.dat` file is not overwritten if a serial calculation is relaunched in the same folder.
|
|
- **NOTE** The `kernel.dat` file is not overwritten if a serial calculation is relaunched in the same folder.
|
|
- **NOTE** The program as of now ends by crashing even if it is successful. If the calculation was successful the final lines of the output file should reads like this:
|
|
- **NOTE** The program as of now ends by crashing even if it is successful. If the calculation was successful the final lines of the output file should reads like this:
|
|
|
|
|
|
```
|
|
```
|
|
Dynamic KS susc time= 0.495 s
|
|
Dynamic KS susc time= 0.495 s
|
|
|
|
|
... | @@ -78,9 +65,10 @@ and step 5 is finally performed with the KKRsusc program itself. |
... | @@ -78,9 +65,10 @@ and step 5 is finally performed with the KKRsusc program itself. |
|
## Step 5: Calculate Self-energy and renormalized spectrum
|
|
## Step 5: Calculate Self-energy and renormalized spectrum
|
|
|
|
|
|
To calculate the self-energy and renormalised spectrum of the system, a fitting procedure of the Green function to Padé polynomials is used, to facilitate the computational effort necessary to complete the calculation. For that, a set of `kkrflex_*` files similar to step 2 is needed, that contain the information for the host Green function over a large range of energies. The self-energy needs also the `meshpanel.dat` file to work.
|
|
To calculate the self-energy and renormalised spectrum of the system, a fitting procedure of the Green function to Padé polynomials is used, to facilitate the computational effort necessary to complete the calculation. For that, a set of `kkrflex_*` files similar to step 2 is needed, that contain the information for the host Green function over a large range of energies. The self-energy needs also the `meshpanel.dat` file to work.
|
|
- Use the file [emesh.dat](emesh.dat), that describes an energy contour from $-0.3$ to $1.3$ Ry to run one iteration using the host code with the run flag `KKRSUSC` like in step 2.
|
|
|
|
|
|
- Use the file [emesh.dat](emesh.dat), that describes an energy contour from <span dir="">-0.3</span> to <span dir="">1.3</span> Ry to run one iteration using the host code with the run flag `KKRSUSC` like in step 2.
|
|
- Similarly to the susceptibility calculation in step 4, two runs of the code are needed.
|
|
- Similarly to the susceptibility calculation in step 4, two runs of the code are needed.
|
|
- Set `lfit= T` to instruct the code to run the fitting procedure and set the numerator polynomial degree `numd` and denominator degree `dend` to proper values, with $dend=numd +1$, to match the $1/\omega$ behaviour of the susceptibility in high frequencies. A typical range for `numd` is between 10-30, with the best fits usually in the region of 17-21.
|
|
- Set `lfit= T` to instruct the code to run the fitting procedure and set the numerator polynomial degree `numd` and denominator degree `dend` to proper values, with <span dir="">dend=numd +1</span>, to match the <span dir="">1/\\omega</span> behaviour of the susceptibility in high frequencies. A typical range for `numd` is between 10-30, with the best fits usually in the region of 17-21.
|
|
- Set the bias voltage range (`vbiasmin`, `vbiasmax`) to match the frequency range defined by `omegamin`, `omegamax` and the corresponding parameters described in [newinpsusc.dat](newinpsusc.dat).
|
|
- Set the bias voltage range (`vbiasmin`, `vbiasmax`) to match the frequency range defined by `omegamin`, `omegamax` and the corresponding parameters described in [newinpsusc.dat](newinpsusc.dat).
|
|
- Run the mpi version of the code with `lhdio= T` and `lrestart= F` and `ldos= T` so that the DOS is calculated as well.
|
|
- Run the mpi version of the code with `lhdio= T` and `lrestart= F` and `ldos= T` so that the DOS is calculated as well.
|
|
- Next perform the serial run with `lhdio= F` and `lrestart= T`
|
|
- Next perform the serial run with `lhdio= F` and `lrestart= T`
|
... | @@ -96,4 +84,3 @@ To calculate the self-energy and renormalised spectrum of the system, a fitting |
... | @@ -96,4 +84,3 @@ To calculate the self-energy and renormalised spectrum of the system, a fitting |
|
| `Sigma_real_lw.dat` | l-decomposed real part of the self-energy, in the high frequency regime | |
|
|
| `Sigma_real_lw.dat` | l-decomposed real part of the self-energy, in the high frequency regime | |
|
|
|
|
|
|
- The l-decomposed renormalised spectra are contained in `Renormalized_dos_*` |
|
- The l-decomposed renormalised spectra are contained in `Renormalized_dos_*` |
|
|
|
\ No newline at end of file |
|
|
|
|