welcome: please sign in

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
What is the Admin password?

location: Bingbing Suo

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.

  1. Make a copy of the 'modern' theme in the static files directory and call it 'bdftheme'
  2. Copy the script of this theme MoinMoin/theme/modern.py' to data/plugins/theme/bdftheme.py
  3. 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计算时间测试数据

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.