## page was renamed from User's Guide ## page was renamed from User Guide ##master-page:HelpTemplate ##master-date:Unknown-Date #format wiki #language en #Please change following line to BDF module name = BDF User's guide = <> == 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. {{attachment:bdf_module_chart.jpg||width=640,align="middle"}} == 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. [[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]]