welcome: please sign in
location: Diff for "Bingbing Suo"
Differences between revisions 17 and 31 (spanning 14 versions)
Revision 17 as of 2014-04-09 08:56:06
Size: 4009
Editor: 10
Comment:
Revision 31 as of 2016-03-21 14:59:48
Size: 5188
Editor: bsuo
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
}}}

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

Bingbing Suo (last edited 2023-05-30 14:27:17 by bsuo)