| ... | ... | @@ -3,12 +3,12 @@ |
|
|
|
[[_TOC_]]
|
|
|
|
|
|
|
|
# Introduction
|
|
|
|
The number of self-consistent iterations till convergence strongly depends on the quality of the starting point: the closer the initial state to the solution, the fewer iterations there are to converge. W-SLDA Toolkit implements a mechanism supporting the derivation of good-quality initial states. Namely, one can use a lattice of lower resolution to generate an approximation of the solution and next interpolate to a larger/target lattice and use it as a starting point. The idea is presented in the figure below. The same mechanism can be used for testing the stability of results with respect to the lattice resolution.
|
|
|
|
The number of self-consistent iterations till convergence strongly depends on the quality of the starting point: the closer the initial state is to the solution, the fewer iterations it takes to converge. The W-SLDA Toolkit implements a mechanism for deriving high-quality initial states. Namely, one can use a lower-resolution lattice to generate an approximation of the solution, then interpolate onto a larger/target lattice and use it as a starting point. The idea is presented in the figure below. The same mechanism can be used to test the stability of results with respect to lattice resolution.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
# Automatic interpolations
|
|
|
|
_Step 1_: Generate solution with initial lattice. For example:
|
|
|
|
_Step 1_: Generate a solution with an initial lattice. For example:
|
|
|
|
`predefines.h`
|
|
|
|
```c
|
|
|
|
/**
|
| ... | ... | @@ -28,7 +28,7 @@ outprefix l-32 |
|
|
|
checkpoint 1 # do checkpoints after each iteration
|
|
|
|
```
|
|
|
|
|
|
|
|
_Step 2_: Run the code compiled for the lattice with larger resolution:
|
|
|
|
_Step 2_: Run the code compiled for the lattice with a larger resolution:
|
|
|
|
`predefines.h`
|
|
|
|
```c
|
|
|
|
/**
|
| ... | ... | @@ -63,13 +63,13 @@ Once running the code, you should see this type of message on `stdout`: |
|
|
|
```
|
|
|
|
|
|
|
|
# Changing the volume
|
|
|
|
Automatic interpolations were designed to work correctly if the spatial extent has not changed. It means that `[LX,LY,LZ]` is the same for the input lattice and target lattice. However, if this criterion is not satisfied, the code will make an attempt to load the checkpoint data, squeeze/stretch it accordingly, and then interpolate to the new lattice. Note that the result of this operation may be unpredictable. The code will provide the following warning:
|
|
|
|
Automatic interpolations were designed to work correctly if the spatial extent has not changed. It means that `[LX,LY,LZ]` is the same for the input lattice and target lattice. However, if this criterion is not satisfied, the code will attempt to load the checkpoint data, squeeze/stretch it as needed, and then interpolate onto the new lattice. Note that the result of this operation may be unpredictable. The code will provide the following warning:
|
|
|
|
```
|
|
|
|
# !!! --- WARNING --- WARNING --- WARNING --- WARNING --- WARNING --- WARNING --- !!!
|
|
|
|
# Checkpoint files is incompatible with code settings!
|
|
|
|
# The code will upload the data however the result of this operation may be unpredictable!
|
|
|
|
# Checkpoint file is incompatible with code settings!
|
|
|
|
# The code will upload the data; however, the result of this operation may be unpredictable!
|
|
|
|
# Make sure you understand what you are doing!
|
|
|
|
# !!! --- ------- --- ------- --- ------- --- ------- --- ------- --- ------- --- !!!
|
|
|
|
```
|
|
|
|
# Disable mixing in the first iteration
|
|
|
|
For advanced functionals that have a dependence on quantities that are cut-off dependent, it is recommended to [disable mixing in the first iteration](https://gitlab.fizyka.pw.edu.pl/wtools/wslda/-/wikis/Convergence-control#disabling-mixing-in-the-first-iteration). |
|
|
|
For advanced functionals that have a dependence on quantities that are cut-off dependent, it is recommended to [disable mixing in the first iteration](Convergence-control#disabling-mixing-in-the-first-iteration). |