Size: 4009
Comment:
|
← Revision 63 as of 2023-05-30 14:27:17 ⇥
Size: 7962
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Bingbing Suo is own page. = | = Bingbing Suo's personal page. = |
Line 11: | Line 11: |
1. Edit the file 'bdftheme.py' and change at least the variable name = "modernized" to {name ="bdftheme" | 1. Edit the file 'bdftheme.py' and change at least the variable name = "modernized" to {name ="bdftheme"} Latex Support https://moinmo.in/ParserMarket/latex Do not forget install latex, dvipng. All of these packages can be installed via apt-get. |
Line 52: | Line 57: |
{{{ Keyword: Real time TDDFT, Real-space, finite element basis set. Octopus is a pseudopotential real-space package aimed at the simulation of the electron-ion dynamics of one-, two-, and three-dimensional finite systems subject to time-dependent electromagnetic fields. The program is based on time-dependent density-functional theory (TDDFT) in the Kohn-Sham scheme. All quantities are expanded in a regular mesh in real space, and the simulations are performed in real time. The program has been successfully used to calculate linear and non-linear absorption spectra, harmonic spectra, laser induced fragmentation, etc. of a variety of systems. The fundamentals of DFT and TDDFT can be found, e.g., in the books [1] and [1] . All information about the octopus package can be found in its homepage, http://www.tddft.org/programs/octopus/, and in the articles [1] and [1] . The main advantage of real-space methods is the simplicity and intuitiveness of the whole procedure. First of all, quantities like the density or the wave-functions are very simple to visualize in real space. Furthermore, the method is fairly simple to implement numerically for 1-, 2-, or 3-dimensional systems, and for a variety of different boundary conditions. For example, one can study a finite system, a molecule, or a cluster without the need of a super-cell, simply by imposing that the wave-functions are zero at a surface far enough from the system. In the same way, an infinite system, a polymer, a surface, or bulk material can be studied by imposing the appropriate cyclic boundary conditions. Note also that in the real-space method there is only one convergence parameter, namely the grid-spacing, and that decreasing the grid spacing always improves the result. Unfortunately, real-space methods suffer from a few drawbacks. For example, most of the real-space implementations are not variational, i.e., we may find a total energy lower than the true energy, and if we reduce the grid-spacing the energy can actually increase. Moreover, the grid breaks translational symmetry, and can also break other symmetries that the system may possess. This can lead to the artificial lifting of some degeneracies, to the appearance of spurious peaks in spectra, etc. Of course all these problems can be minimized by reducing the grid-spacing. }} |
{{{ Keywords: Real time TDDFT, Real-space, finite element basis sets, Pseudopotentials Homepage: http://www.tddft.org/programs/octopus/wiki/index.php/Manual:About_Octopus License: GPL GPU support: }}} === BigDFT === {{{ Keywords: Pseudopotentials, Wavelet basis set, Homepage: http://bigdft.org/Wiki/index.php?title=BigDFT_website License: GPL }}} == List of quantum chemistry program with GPU support == {{{ 1. TeraChem : HF/DFT; GPU, Cuda; GTO s,p,d; gradient and dynamic. http://mtzweb.stanford.edu/research/gpu 2. QUICK: HF/DFT, GPU, Cuda, GTO s,p,d,f for energy, s,p,d for gradient. http://www.merzgroup.org/quick.html 3. Octopus: DFT, GPU, OpenCL, 4. BigDFT: DFT, GPU, Cuda, OpenCL, Wavelet. http://bigdft.org/Wiki/index.php?title=BigDFT_website 5. Gamess-US: HF/DFT, GPU, Cuda, GTO s,p,d, f. ??? }}} == Use BDF with job management system == === qsub === {{{ You should prepare a qsub script. }}} === bsub === You should prepare a bsub script "my job". {{{ For bash users #!/bin/bash # #BSUB -a poe # set parallel operating environment #BSUB -P project_code # project code #BSUB -J hybrid_job_name # job name #BSUB -W 00:10 # wall-clock time (hrs:mins) #BSUB -n 32 # number of tasks in job #BSUB -R "span[ptile=4]" # run four MPI tasks per node #BSUB -q regular # queue #BSUB -e errors.%J.hybrid # error file name in which %J is replaced by the job ID #BSUB -o output.%J.hybrid # output file name in which %J is replaced by the job ID #export OMP_NUM_THREADS=4 #export MP_TASK_AFFINITY=core:$OMP_NUM_THREADS # get host list and create machine file for MPI. echo /dev/null > nodelist for host in $LSB_HOSTS ; do echo $host >> nodelist done #BDF parallel information nnodes=2 # set computing nodes processes=4 # number of processes in a nodes nthreads=2 # number of OpenMP threads in a process. # Start BDF MPI job $BDFHOME/sbin/bdfdrv.py -np nnodes:nprocesses:nthreads -machinefile nodelist jobname.inp #mpirun.lsf ./program_name.exe }}} For csh users {{{ #!/bin/tcsh # #BSUB -a poe # set parallel operating environment #BSUB -P project_code # project code #BSUB -J hybrid_job_name # job name #BSUB -W 00:10 # wall-clock time (hrs:mins) #BSUB -n 32 # number of tasks in job #BSUB -R "span[ptile=4]" # run four MPI tasks per node #BSUB -q regular # queue #BSUB -e errors.%J.hybrid # error file name in which %J is replaced by the job ID #BSUB -o output.%J.hybrid # output file name in which %J is replaced by the job ID setenv OMP_NUM_THREADS 4 setenv MP_TASK_AFFINITY core:$OMP_NUM_THREADS #mpirun.lsf ./program_name.exe }}} === AO-TDDFT === {{{ AO-TDDFT supports R-TDDFT, U-TDDFT, R-TDDFT-SF+1. The possible combinations are imethod=1, itda=0, isf=0 imethod=1, itda=0, isf=1 imethod=2, itda=0, isf=0 AO-TDA supports R-TDA,U-TDA, R-TDA-SF+1, R-TDA-SF-1, U-TDA-SF3. The possible combinations are imethod=1, itda=1, isf=0 imethod=1, itda=1, isf=1 imethod=2, itda=1, isf=0 imethod=2, itda=1, isf=-1 imethod=2, itda=1, isf=3 }}} === Some useful resources === {{{ Present day theoretical chemistry http://simons.hec.utah.edu/TheoryPage/present_day_theoretical_ch.html Gromacs guide. in Chinese http://jerkwin.github.io/9999/10/31/GROMACS%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B/#opennewwindow Transition metal spectra http://www.ipc.shizuoka.ac.jp/~sctokab/Okab.htm }}} === BDF程序组织原则 === {{{ BDF按照计算功能,编译成单独的模块。每个模块相当于Unix命令这样的工具,通过Python调用不同的实现复杂的计算功能。模块之间数据交换通过文件进行。 }}} === BDF计算时间测试数据 === [[bdfbenchmark]] {{{ 页面http://182.92.69.169:7226/bdfbenchmark提供了BDF的测试数据。这些数据不是为了与其他程序比较,只是BDF开发者用以评价BDF优化的如何,也给大家提供了一个对CPU和编译器效能的直观认识。具体时间与操作系统、编译器版本、CPU与内存配置,测试时系统的工作负载都有关。 }}} == Known bugs == {{{ Intel compiler 2018 is buggy. Keep away from it! }}} == MPEC+COSX Keyword == {{{ Coulpot=0 or no Coulpot, ERI Coulpot=7003, Original MPEC Coulpot=1004 or Coulpolt=-1, used as the default for Coulpot, aMPEC4, first SCF step use ERI Coulpot=2004, aMPEC4, first SCF step do not use ERI }}} == BDF source code notes == {{{ A lot of redundent codes will be removed after this commit. commit 03cacfea4a756a112a59cfa72c5cec14a94b356f (HEAD -> master, origin/master, origin/HEAD, bdf-pkg-pro, bdf-pkg-full) Author: Bingbing Suo <bsuo@nwu.edu.cn> Date: Sat Jul 24 21:58:39 2021 +0800 update cmake file }}} == VScode ctags extension == VScode extension "ctags-support". {{{ ext install ctags-support }}} == BDF Compiling problems == {{{ 1 ifort2019+gcc-9.4.2. Linking lsscf error. missing missing GOMP_loop_nonmonotonic_dynamic_next. May disable HILQC calculate Fock since it is not used at present. All gcc compilers >= 9.0 have such a problem. 2 GNU compiler v5-v9, gfortran+gcc/g++, link with MKL, work fine. 3 ifort2021+gcc/g++(GNU 5-9), link with MKL, work fine. 4 ifort+icc/icpc, v2021, should use flag "-I/usr/inlcude/c++/11.x", head file of c++/12.1.0 has compiling problem. }}} == Cmake Rpath handing == https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling == netlib lapack extension for C == It is tricky to compiler lapacke in the lapack package from netlib. See LAPACKE/README. For BDF, you should set -DHAVE_LAPACK_CONFIG_H -DLAPACK_ILP64 to use 64 integer interface. Also, the complex is used in BDF. I guess we should set -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_CPP because the double complex is used by Zhangning. |
Bingbing Suo's personal page.
Wiki logs
1 Add Wiki theme moin-mandarin. Look at the link https://bitbucket.org/thesheep/moin-mandarin
2 Try to edit a bdftheme from modernized theme.
- Make a copy of the 'modern' theme in the static files directory and call it 'bdftheme'
- Copy the script of this theme MoinMoin/theme/modern.py' to data/plugins/theme/bdftheme.py
- Edit the file 'bdftheme.py' and change at least the variable name = "modernized" to {name ="bdftheme"}
Latex Support https://moinmo.in/ParserMarket/latex
Do not forget install latex, dvipng. All of these packages can be installed via apt-get.
Filename for all kind of local orbitals in BDF:
1. localorb - local orbital generated by BDF module localmo. Boys and trust region methods are used in orbital localization. 2. blmo - Boys. 3. tlmo - Trust region. 4. flmoorb - fragment local orbital generated by bottom-up method. 5. pflmo - norm-orthogonal pFLMO.
BDF git version control user's guide
Start from a clean BDF copy bdfpkg
Create directory cd bdfpkg Initial a git bare repository. Notice we also use flag --shared. git init --bare --shared git add git config --global user.name "your name" git config --global user.email "youremail@domain" git commit -m "Creat BDF package store"
get a bdf work copy
Obtain a bdf work copy git clone youname@10.105.153.100:/export/gitroot/bdf-pkg You need set some general information such as user name and user email. git config --global user.name "Your name" git config --global user.email "youremail@domain" Create your own branch git branch myown Switch to your new branch git checkout myown
Some open source Quantum Chemistry program package
Octopus
Keywords: Real time TDDFT, Real-space, finite element basis sets, Pseudopotentials Homepage: http://www.tddft.org/programs/octopus/wiki/index.php/Manual:About_Octopus License: GPL GPU support:
BigDFT
Keywords: Pseudopotentials, Wavelet basis set, Homepage: http://bigdft.org/Wiki/index.php?title=BigDFT_website License: GPL
List of quantum chemistry program with GPU support
1. TeraChem : HF/DFT; GPU, Cuda; GTO s,p,d; gradient and dynamic. http://mtzweb.stanford.edu/research/gpu 2. QUICK: HF/DFT, GPU, Cuda, GTO s,p,d,f for energy, s,p,d for gradient. http://www.merzgroup.org/quick.html 3. Octopus: DFT, GPU, OpenCL, 4. BigDFT: DFT, GPU, Cuda, OpenCL, Wavelet. http://bigdft.org/Wiki/index.php?title=BigDFT_website 5. Gamess-US: HF/DFT, GPU, Cuda, GTO s,p,d, f. ???
Use BDF with job management system
qsub
You should prepare a qsub script.
bsub
You should prepare a bsub script "my job".
For bash users #!/bin/bash # #BSUB -a poe # set parallel operating environment #BSUB -P project_code # project code #BSUB -J hybrid_job_name # job name #BSUB -W 00:10 # wall-clock time (hrs:mins) #BSUB -n 32 # number of tasks in job #BSUB -R "span[ptile=4]" # run four MPI tasks per node #BSUB -q regular # queue #BSUB -e errors.%J.hybrid # error file name in which %J is replaced by the job ID #BSUB -o output.%J.hybrid # output file name in which %J is replaced by the job ID #export OMP_NUM_THREADS=4 #export MP_TASK_AFFINITY=core:$OMP_NUM_THREADS # get host list and create machine file for MPI. echo /dev/null > nodelist for host in $LSB_HOSTS ; do echo $host >> nodelist done #BDF parallel information nnodes=2 # set computing nodes processes=4 # number of processes in a nodes nthreads=2 # number of OpenMP threads in a process. # Start BDF MPI job $BDFHOME/sbin/bdfdrv.py -np nnodes:nprocesses:nthreads -machinefile nodelist jobname.inp #mpirun.lsf ./program_name.exe
For csh users
# #BSUB -a poe # set parallel operating environment #BSUB -P project_code # project code #BSUB -J hybrid_job_name # job name #BSUB -W 00:10 # wall-clock time (hrs:mins) #BSUB -n 32 # number of tasks in job #BSUB -R "span[ptile=4]" # run four MPI tasks per node #BSUB -q regular # queue #BSUB -e errors.%J.hybrid # error file name in which %J is replaced by the job ID #BSUB -o output.%J.hybrid # output file name in which %J is replaced by the job ID setenv OMP_NUM_THREADS 4 setenv MP_TASK_AFFINITY core:$OMP_NUM_THREADS #mpirun.lsf ./program_name.exe
AO-TDDFT
AO-TDDFT supports R-TDDFT, U-TDDFT, R-TDDFT-SF+1. The possible combinations are imethod=1, itda=0, isf=0 imethod=1, itda=0, isf=1 imethod=2, itda=0, isf=0 AO-TDA supports R-TDA,U-TDA, R-TDA-SF+1, R-TDA-SF-1, U-TDA-SF3. The possible combinations are imethod=1, itda=1, isf=0 imethod=1, itda=1, isf=1 imethod=2, itda=1, isf=0 imethod=2, itda=1, isf=-1 imethod=2, itda=1, isf=3
Some useful resources
Present day theoretical chemistry http://simons.hec.utah.edu/TheoryPage/present_day_theoretical_ch.html Gromacs guide. in Chinese http://jerkwin.github.io/9999/10/31/GROMACS%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B/#opennewwindow Transition metal spectra http://www.ipc.shizuoka.ac.jp/~sctokab/Okab.htm
BDF程序组织原则
BDF按照计算功能,编译成单独的模块。每个模块相当于Unix命令这样的工具,通过Python调用不同的实现复杂的计算功能。模块之间数据交换通过文件进行。
BDF计算时间测试数据
页面http://182.92.69.169:7226/bdfbenchmark提供了BDF的测试数据。这些数据不是为了与其他程序比较,只是BDF开发者用以评价BDF优化的如何,也给大家提供了一个对CPU和编译器效能的直观认识。具体时间与操作系统、编译器版本、CPU与内存配置,测试时系统的工作负载都有关。
Known bugs
Intel compiler 2018 is buggy. Keep away from it!
MPEC+COSX Keyword
Coulpot=0 or no Coulpot, ERI Coulpot=7003, Original MPEC Coulpot=1004 or Coulpolt=-1, used as the default for Coulpot, aMPEC4, first SCF step use ERI Coulpot=2004, aMPEC4, first SCF step do not use ERI
BDF source code notes
A lot of redundent codes will be removed after this commit. commit 03cacfea4a756a112a59cfa72c5cec14a94b356f (HEAD -> master, origin/master, origin/HEAD, bdf-pkg-pro, bdf-pkg-full) Author: Bingbing Suo <bsuo@nwu.edu.cn> Date: Sat Jul 24 21:58:39 2021 +0800 update cmake file
VScode ctags extension
VScode extension "ctags-support".
ext install ctags-support
BDF Compiling problems
1 ifort2019+gcc-9.4.2. Linking lsscf error. missing missing GOMP_loop_nonmonotonic_dynamic_next. May disable HILQC calculate Fock since it is not used at present. All gcc compilers >= 9.0 have such a problem. 2 GNU compiler v5-v9, gfortran+gcc/g++, link with MKL, work fine. 3 ifort2021+gcc/g++(GNU 5-9), link with MKL, work fine. 4 ifort+icc/icpc, v2021, should use flag "-I/usr/inlcude/c++/11.x", head file of c++/12.1.0 has compiling problem.
Cmake Rpath handing
https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
netlib lapack extension for C
It is tricky to compiler lapacke in the lapack package from netlib. See LAPACKE/README. For BDF, you should set -DHAVE_LAPACK_CONFIG_H -DLAPACK_ILP64 to use 64 integer interface. Also, the complex is used in BDF. I guess we should set -DHAVE_LAPACK_CONFIG_H -DLAPACK_COMPLEX_CPP because the double complex is used by Zhangning.