Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wslda wslda
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wtools
  • wsldawslda
  • Wiki
  • Initialization of the td wslda solvers

Last edited by Gabriel Wlazłowski May 09, 2022
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Initialization of the td wslda solvers

General info

The time-dependent code td-wslda evolves wave-functions provided from outside. For test purposes, the solver can be initialized by uniform solution, in the same way as in the case of static solver st-wslda, for more info see here.

In practical applications solution generated by st-wslda codes is used as starting point for the evolution. Figure below shows relations between initial state generators and time revolvers. inittypes

Writing wave-functions to files

In order to be able to use a solution generated by the st-wslda codes as input for td-wslda simulation user must store wave-functions in binary files. Following tags in input file control :

# Tags from st-wslda input file
outprefix               st-run   # all output file with start with this prefix

writewf                 1       # write wf at the end of computation yes=1, no=0
iogroups                8       # number of IO groups used for parallel wf writing, default=1
                                # It indicates the number of processes that can write to files simultaneously.
                                # Note: Too many iogroups may degrade writing performance. 

After the run is completed in folder outprefix you will find many binary files with extensions .wfu, .wfv, .en, etc. They contain wave-functions.

See here for more info related to the processing of wave-functions.

Reading wave-functions by time-dependent codes

In order to read the wave-functions by td-wslda code you need to set following flags in the input file:

# Tags from td-wslda input file                                                                                                                                                                                                 
inittype                2       # Select: 
                                #  1 - start from st-wslda-1d solution, inprefix points to folder with s1dpca binary files 
                                #  2 - start from st-wslda-2d solution, inprefix points to folder with s2dpca binary files 
                                #  3 - start from st-wslda-3d solution, inprefix points to folder with s3dpca binary files 
                                
inprefix                st-run    # point to folder with binary files, generated by st-wslda code
                                  # no "/" at the end
   
iogroups                8       # number of IO groups used for parallel reading of data
                                # it must be the same as the value used for static calculations.

Reading process in reported in stdout, for example:

...
# ST-WSLDA-2D: file_name=`../st-testcase-uniform/test/s2dpca.info`
# ST-WSLDA-2D: nwf (with -kz's)=982
# ST-WSLDA-2D: nx=8, ny=10, nz=12, dx=1.000000, dy=1.000000, dz=1.000000
# ST-WSLDA-2D: kF=1.025823, mu_a=-0.031347, mu_b=0.489476, ec=4.907524, beta=190.057402
# ST-WSLDA-2D: nwf in binary files=552
# INIT2: nwf=552 wave-functions to scatter
# INIT2: BLOCK ID[0] CONSITING WITH 32 PROCESSES READS DATA...
# INIT2: LOADING POTENTIALS `../st-testcase-uniform/test/s2dpca.pud`...
# INIT2: TOTAL NUMBER OF PARTICLES: SPIN_A=              17 SPIN_B=              18 TOTAL=              35
...

Control sums

To check the correctness of transferring wave-functions from st-wslda to td-wslda code compare content of check.stamp files. This file contains control sums, which are integrated quantities, like densities and energies, which are recalcualated from wave-functions. They shoule agree up to machine precision. For example:

[gabrielw@dell st-my-project]$ cat st-run_check.stamp 
CHECK STAMP DATE: 02/05/21-09:36:32                                                                                                                                         
SUM(DENSITY[ 0])=       20.333313                                                                                                                                           
SUM(DENSITY[ 1])=       20.333313                                                                                                                                           
SUM(DENSITY[ 2])=              17                                                                                                                                           
SUM(DENSITY[ 3])=       19.139264                                                                                                                                           
SUM(DENSITY[ 4])=               0                                                                                                                                           
SUM(DENSITY[ 5])=               0                                                                                                                                           
SUM(DENSITY[ 6])=               0                                                                                                                                           
SUM(DENSITY[ 7])=              18                                                                                                                                           
SUM(DENSITY[ 8])=        19.77459                                                                                                                                           
SUM(DENSITY[ 9])=               0                                                                                                                                           
SUM(DENSITY[10])=               0                                                                                                                                           
SUM(DENSITY[11])=               0                                                                                                                                           
ENERGY[ 0])=     21.27885025                                                                                                                                                
ENERGY[ 1])=     -5.82010539                                                                                                                                                
ENERGY[ 2])=    -10.64741289                                                                                                                                                
ENERGY[ 3])=      0.00000000
ENERGY[ 4])=      0.00000000
ENERGY[ 5])=      0.00000000
ENERGY[ 6])=      0.00000000
[gabrielw@dell td-my-project]$ cat td-run_check.stamp                                                                                                                  
CHECK STAMP DATE: 02/05/21-13:30:06                                                                                                                                         
SUM(DENSITY[ 0])=       20.333313                                                                                                                                           
SUM(DENSITY[ 1])=       20.333313                                                                                                                                           
SUM(DENSITY[ 2])=              17                                                                                                                                           
SUM(DENSITY[ 3])=       19.139264
SUM(DENSITY[ 4])=   1.5239524e-17
SUM(DENSITY[ 5])=  -4.8037775e-17
SUM(DENSITY[ 6])=               0
SUM(DENSITY[ 7])=              18
SUM(DENSITY[ 8])=        19.77459
SUM(DENSITY[ 9])=   1.2655183e-17
SUM(DENSITY[10])=  -2.2704154e-17
SUM(DENSITY[11])=               0
ENERGY[ 0])=     21.27885025
ENERGY[ 1])=     -5.82010539
ENERGY[ 2])=    -10.64741289
ENERGY[ 3])=      0.00000000
ENERGY[ 4])=      0.00000000
ENERGY[ 5])=      0.00000000
ENERGY[ 6])=      0.00000000
ENERGY[ 7])=     16.99999998
ENERGY[ 8])=     18.00000002
ENERGY[ 9])=      0.00000000
ENERGY[10])=     -0.00000000
Clone repository
  • API version
  • Automatic interpolations
  • Auxiliary tools
  • Browsing the code
  • Broyden algorithm
  • C and CUDA
  • Campaign of calculations
  • Checking correctness of settings
  • Chemical potentials control
  • Code & Results quality
  • Common failures of static codes
  • Common failures of time dependent codes
  • Computation domain
  • Configuring GPU machine
  • Constraining densities and potentials
View All Pages