... | @@ -39,10 +39,30 @@ E_pairext: NEW= 0 OLD= 0 DIFF= 0 CONVS |
... | @@ -39,10 +39,30 @@ E_pairext: NEW= 0 OLD= 0 DIFF= 0 CONVS |
|
```
|
|
```
|
|
|
|
|
|
# Number of iterations
|
|
# Number of iterations
|
|
TODO
|
|
The algorithm iterates until one of the following criteria is met:
|
|
|
|
1. convergence is achieved (see the section above);
|
|
|
|
2. number of iteration exceeded maximal allowed number of iteration specified in *input* file
|
|
|
|
```bash
|
|
|
|
maxiters 200 # maximum number of iterations, default=10000
|
|
|
|
```
|
|
|
|
|
|
# Imposing constraints to speed up convergence
|
|
# Imposing constraints to speed up convergence
|
|
TODO
|
|
Providing additional information about properties of the expected solution (based on physical arguments) may speed-up converging significantly.
|
|
|
|
```bash
|
|
|
|
spinsymmetry 1 # set to 1 if you want to impose Na=Nb, default: 0
|
|
|
|
nocurrents 1 # set to 1 if you want to impose ja=jb=0
|
|
|
|
# (solution has no currents), default: 0
|
|
|
|
```
|
|
|
|
|
|
# Mixing types
|
|
# Mixing types
|
|
TODO |
|
The self-consistent algorithm tracks the behavior of solutions as a function if the iteration number and utilizes this information to create a new prediction for the solution. In the samples scheme (called *linear mixing*) this process is realized via the formula:
|
|
\ No newline at end of file |
|
```c
|
|
|
|
for(ixyz = 0; ixyz < SOLDIM; ixyz++)
|
|
|
|
h_solution[ixyz] = md.linearmixing * h_solution[ixyz] + (1.0-md.linearmixing) * h_solution_old[ixyz];
|
|
|
|
```
|
|
|
|
Here there is subtle issue: what should be treated as the solution vector: [densities of potentials](Physical quantities)? In principle, this should not matter, but in practice, it turns out that converges properties depend on this choice. For this reason W-SLDA toolkit provided a tag in the *input* file that can be used to select meaning of the *solution* vector:
|
|
|
|
```bash
|
|
|
|
mixingtype p # 'd' - mix densities, 'p' - mix potentials (default)
|
|
|
|
```
|
|
|
|
|
|
|
|
Our tests show that typically the algorithm converges faster when *potentials* are used for the mixing procedure. However, we found (rare) cases where mixing of *densities* provides better efficiency. |
|
|
|
\ No newline at end of file |