2002
Comment:
|
← Revision 75 as of 2022-10-12 07:51:38 ⇥
6267
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
Line 11: | Line 10: |
Line 15: | Line 12: |
{{{ Insert introduction of BDF module at here. }}} |
== How to run BDF == |
Line 19: | Line 14: |
== How to run BDF == | |
Line 23: | Line 17: |
#!/bin/bash # Set BDF home directory export BDFHOME=~/work/0.5.dev |
|
Line 24: | Line 22: |
##!/bin/bash # specify BDF home directory export BDFHOME=~/work/0.5.dev # specify BDF scratch directory export BDF_TMPDIR=/scratch/bbs/$RANDOM |
# run BDF driver with input file $1 $BDFHOME/sbin/bdfdrv.py -r $1 |
Line 30: | Line 25: |
if [ -e $BDF_TMPDIR ]; then echo "Temperory directory " $BDF_TMPDIR "exist! STOP!" else mkdir $BDF_TMPDIR fi # run BDF driver with input file $1 $BDFHOME/sbin/bdfdrv.py -r $1 ls -l $BDF_TMPDIR rm -rf $BDF_TMPDIR |
|
Line 42: | Line 26: |
For example, you can copy the file named "$BDFHOME/Tests/input/test002.inp" to a work directory. Then, you write done the shell script and store it in you work directory. To evoke BDF calculation, you just use command |
For example, you can copy the file named "$BDFHOME/Tests/input/test002.inp" to a work directory. Then, you write down the shell script and store it in you work directory. To evoke BDF calculation, you just use command |
Line 46: | Line 29: |
$./run.sh test001.inp | $./run.sh test001.inp |
Line 48: | Line 31: |
The output will print on standard output. Thus, it is better to redirect output by, |
The output will be printed on standard output. Thus, it is better to redirect output to a file. |
Line 54: | Line 36: |
Tips: |
== Some tips to run BDF == |
Line 57: | Line 38: |
1 There are a lot of testing inputs saved in directory of $BDFHOME/Tests/input. 2 BDF driver is assume input file has the name *.inp. Thus, you can run BDF with command |
1. There are a lot of testing inputs saved in directory of $BDFHOME/Tests/input. 2. BDF driver assume input file has the name *.inp. Thus, you can run BDF with command |
Line 60: | Line 41: |
3. If BDF is compiled with OpenMP supporting, you can can set OpenMP environment variables in running script. For example, export OMP_NUM_THREADS=4 export OMP_STACKSIZE=1024M # this is for GCC-compiled BDF; please change OMP_STACKSIZE to KMP_STACKSIZE if you compiled BDF with the Intel compiler 4. You can use shell command in BDF input files. For example, you can backup HF canonical orbitals after SCF calculation. $SCF $END %cp $BDF_WORKDIR/$BDFTASK.scforb $BDF_WORKDIR/myscforb.bak 5. A sample run.sh file is available in bdf-pkg/sbin/run.sh. 6. If you have chosen gfortran as the Fortran compiler, the resulting BDF program will use buffered output, i.e. the output file will "lag behind" the actual calculation by a few tens of lines. If this is undesirable, please add the following line to run.sh: export GFORTRAN_UNBUFFERED_ALL=1 |
|
Line 62: | Line 53: |
== BDF Flowchat == | == BDF easy input == BDF easy input is in developing ... [[ bdfeasyinput ]] == BDF Flowchart == Note this is the execution order of the modules, which is usually, but not always, the same as the order of input blocks in the input file. {{attachment:bdf_module_chart.jpg||width=640,align="middle"}} |
Line 66: | Line 65: |
== Environmental variables used in BDF == There are some important environmental variables used in BDF. {{{ 1.BDF_WORKDIR - Work directory used in running BDF program. 2.BDF_TMPDIR - Scratch directory used in running BDF program. This directory can be removed after the calculation. 3.BDFTASK - Task name of a BDF work. }}} |
|
Line 70: | Line 74: |
[[ autofrag ]] - Automatic fragmentation driver, for FLMO/iOI calculations. | |
Line 71: | Line 76: |
[[compass]] | [[ bdfopt ]] - Molecular geometry optimizer. [[compass]] - Molecule geometry and basis set preprocess. |
Line 75: | Line 82: |
[[ Elecoup ]] - Electron transfer integral, electric excited states coupling etc. [[expandmo]] - Expand molecular orbital from the small basis set to large basis set. [[genfrag]] - Generate or optimize fragments and fragments pairs in Local orbital based Frag-MP2/CCSD. |
|
Line 77: | Line 90: |
[[mcscf]] - Multi-configrational self-consistent-field program | [[numgrad]] - Numerical gradient. Supporting SCF,MCSCF, CCSD, etc. [[mcscf]] - Multi-configuration self-consistent-field program |
Line 83: | Line 98: |
[[local]] - Localization of molecule orbital. | [[localmo]] - Localization of molecule orbital. |
Line 85: | Line 100: |
[[scf]] - Self-consistent-field program | [[scf]] - Self-consistent-field program. |
Line 87: | Line 102: |
[[tddft]] | [[tddft]] - Time dependent density functional program. |
Line 89: | Line 104: |
[[vgmfci]] | [[vgmfci]] - electron-nucleus mean field configuration interaction program. |
Line 93: | Line 108: |
[[genfrag]] - Generate or optimize fragments and fragments pairs in Local orbital based Frag-MP2/CCSD. | [[resp]] - Module for response properties based on HF and DFT [[ Traint ]] - AO to MO integral transformation. [[xianci]] - Module for MRCISD and MRPT2 calculations. Interfaced with the Xian-CI package [[nmr]] - Module for the NMR chemical shieldings == QM/MM calculation == [[External charge]] -- Input point charges. A file named $BDFTASK.extcharge should be prepared. Here is an example. [[H2O.inp]] {{{ $COMPASS Title water molecule in backgroud of exteral charges Basis 6-31g Geometry O 0.000000 0.000000 0.106830 H 0.000000 0.785178 -0.427319 H 0.000000 -0.785178 -0.427319 End Geometry Extcharge # required if external charge exists. point # required if external charge exists. "point" specifies the type of external charge is point charge. Check Skeleton $END $XUANYUAN direct schwarz $END $SCF RHF $END }}} [[H2O.extcharge]] {{{ External charge, Point charge # title line 6 # number of point charges. Next six lines are label, x,y,z coordinates, charge. Unit: angstrom(default) C1 -0.732879 0.000000 5.000000 0.114039 C2 0.366440 0.000000 5.780843 -0.456155 C3 0.366440 0.000000 4.219157 -0.456155 C4 -0.732879 0.000000 10.00000 0.114039 C5 0.366440 0.000000 10.78084 -0.456155 C6 0.366440 0.000000 9.219157 -0.456155 }}} Another example {{{ External charge, Point charge # title line 6 Bohr # number of point charges, Unit: Bohr C1 -0.732879 0.000000 5.000000 0.114039 C2 0.366440 0.000000 5.780843 -0.456155 C3 0.366440 0.000000 4.219157 -0.456155 C4 -0.732879 0.000000 10.00000 0.114039 C5 0.366440 0.000000 10.78084 -0.456155 C6 0.366440 0.000000 9.219157 -0.456155 }}} == PCM solver == To use PCM in BDF, you need add PCMSOLVER in SCF input. Then a pcminput section is required if you would like to change the default parameters in PCM solver. For detail: please check [[PCMinput]] parameters. {{{ $SCF ... PCMSOLVER # require PCM module $END &PCMINPUT # PCM input Solvent Chloroform # Set solvent as CHCl3 &END }}} == Useful tools == [[bdffrag]] |
BDF User's guide
Contents
How to run BDF
To run BDF, you can write a shell script named "run.sh" with following content,
#!/bin/bash # Set BDF home directory export BDFHOME=~/work/0.5.dev # run BDF driver with input file $1 $BDFHOME/sbin/bdfdrv.py -r $1
For example, you can copy the file named "$BDFHOME/Tests/input/test002.inp" to a work directory. Then, you write down the shell script and store it in you work directory. To evoke BDF calculation, you just use command
$./run.sh test001.inp
The output will be printed on standard output. Thus, it is better to redirect output to a file.
$./run.sh test001.inp > test001.out
Some tips to run BDF
1. There are a lot of testing inputs saved in directory of $BDFHOME/Tests/input. 2. BDF driver assume input file has the name *.inp. Thus, you can run BDF with command $./run.sh test001 3. If BDF is compiled with OpenMP supporting, you can can set OpenMP environment variables in running script. For example, export OMP_NUM_THREADS=4 export OMP_STACKSIZE=1024M # this is for GCC-compiled BDF; please change OMP_STACKSIZE to KMP_STACKSIZE if you compiled BDF with the Intel compiler 4. You can use shell command in BDF input files. For example, you can backup HF canonical orbitals after SCF calculation. $SCF $END %cp $BDF_WORKDIR/$BDFTASK.scforb $BDF_WORKDIR/myscforb.bak 5. A sample run.sh file is available in bdf-pkg/sbin/run.sh. 6. If you have chosen gfortran as the Fortran compiler, the resulting BDF program will use buffered output, i.e. the output file will "lag behind" the actual calculation by a few tens of lines. If this is undesirable, please add the following line to run.sh: export GFORTRAN_UNBUFFERED_ALL=1
BDF easy input
BDF easy input is in developing ... bdfeasyinput
BDF Flowchart
Note this is the execution order of the modules, which is usually, but not always, the same as the order of input blocks in the input file.
Input style
Environmental variables used in BDF
There are some important environmental variables used in BDF.
1.BDF_WORKDIR - Work directory used in running BDF program. 2.BDF_TMPDIR - Scratch directory used in running BDF program. This directory can be removed after the calculation. 3.BDFTASK - Task name of a BDF work.
BDF modules
autofrag - Automatic fragmentation driver, for FLMO/iOI calculations.
bdfopt - Molecular geometry optimizer.
compass - Molecule geometry and basis set preprocess.
drt - Generate DRTs in GUGA.
Elecoup - Electron transfer integral, electric excited states coupling etc.
expandmo - Expand molecular orbital from the small basis set to large basis set.
genfrag - Generate or optimize fragments and fragments pairs in Local orbital based Frag-MP2/CCSD.
grad - Gradient.
numgrad - Numerical gradient. Supporting SCF,MCSCF, CCSD, etc.
mcscf - Multi-configuration self-consistent-field program
mp2 - MP2 program
mrci - Multi-reference configuration interaction program.
localmo - Localization of molecule orbital.
scf - Self-consistent-field program.
tddft - Time dependent density functional program.
vgmfci - electron-nucleus mean field configuration interaction program.
xuanyuan - 1e and 2e integrals program.
resp - Module for response properties based on HF and DFT
Traint - AO to MO integral transformation.
xianci - Module for MRCISD and MRPT2 calculations. Interfaced with the Xian-CI package
nmr - Module for the NMR chemical shieldings
QM/MM calculation
External charge -- Input point charges. A file named $BDFTASK.extcharge should be prepared. Here is an example.
$COMPASS Title water molecule in backgroud of exteral charges Basis 6-31g Geometry O 0.000000 0.000000 0.106830 H 0.000000 0.785178 -0.427319 H 0.000000 -0.785178 -0.427319 End Geometry Extcharge # required if external charge exists. point # required if external charge exists. "point" specifies the type of external charge is point charge. Check Skeleton $END $XUANYUAN direct schwarz $END $SCF RHF $END
External charge, Point charge # title line 6 # number of point charges. Next six lines are label, x,y,z coordinates, charge. Unit: angstrom(default) C1 -0.732879 0.000000 5.000000 0.114039 C2 0.366440 0.000000 5.780843 -0.456155 C3 0.366440 0.000000 4.219157 -0.456155 C4 -0.732879 0.000000 10.00000 0.114039 C5 0.366440 0.000000 10.78084 -0.456155 C6 0.366440 0.000000 9.219157 -0.456155
Another example
External charge, Point charge # title line 6 Bohr # number of point charges, Unit: Bohr C1 -0.732879 0.000000 5.000000 0.114039 C2 0.366440 0.000000 5.780843 -0.456155 C3 0.366440 0.000000 4.219157 -0.456155 C4 -0.732879 0.000000 10.00000 0.114039 C5 0.366440 0.000000 10.78084 -0.456155 C6 0.366440 0.000000 9.219157 -0.456155
PCM solver
To use PCM in BDF, you need add PCMSOLVER in SCF input. Then a pcminput section is required if you would like to change the default parameters in PCM solver. For detail: please check PCMinput parameters.
$SCF ... PCMSOLVER # require PCM module $END &PCMINPUT # PCM input Solvent Chloroform # Set solvent as CHCl3 &END