DMol |
A DMol run can be set up in a standalone manner, completely outside the Insight environment. To do this, you need two files: an input file (run_name.input or run_name.inmol) containing command keywords to control the calculation and a file containing the numeric basis sets (any name is allowed; the convention is run_name.basis). If the .input file is used, molecular coordinates may be specified in a separate file (e.g., a run_name.car file).
Using DMol in the standalone mode
> dmol_master run_namewhere run_name is the name you select for the calculation and its associated files, and dmol_master is the name of the standalone input-preparation interface. The dmol_master interface steps you through the process of setting up a DMol job, as outlined under DMol input preparation utility: dmol_master. The output from the calculation is sent to the file .outmol; and messages from any serious errors that may occur are placed in the file .stderr.
> dmol h2oOptionally, you may provide a basis set file, as follows:
> dmol h2o h2o.basisThe keyword input file in this example would be h2o.input; and dmol would expect coordinates and molecular information to be found in h2o.car. The basis file may have any name. (Users who prefer to use the INMOL file format should omit the run_name.input file and use run_name.inmol instead.)
Point charge and Hessian filenames are specified in the input file, using the Point_Charges and Hessian_File keywords.
As mentioned under General Methodology, four basic steps are involved in a DMol calculation:
Basics steps for a DMol calculation
After input generation, a .job file and, if needed, a .basis file (see Commands--Standalone Mode) are created and used. You would usually run these as batch jobs rather than as interactive sessions because of the large computational requirements of the program. Upon completion, the primary output is written to a file called .outmol. A brief summary of the output is contained in the .sum file.
This utility is designed to be user-friendly. It runs interactively, querying you for information. Its greatest value lies in its ability to select reasonable default values for the various input options.
You can, in fact, go a long way just by invoking dmol_master (see below) and answering the program's queries. By simply selecting the default options, you can run a job to completion and obtain output values with some level of confidence. You may want to become more familiar with all the input options. A discussion of the input commands is contained in Commands--Standalone Mode.
This section overviews the DMol input preparation interface dmol_master, and The resulting test.input file and Files show sample .input files.
DMol input preparation utility: dmol_master
The dmol_master utility assists in:
> dmol_master run_nameIf run_name is omitted, the program prompts you for it. dmol_master allows you to enter values for each keyword in the .input file. After all keywords have been entered, an .input file is written with the name run_name.input. These steps of dmol_master are discussed below in more detail.
When dmol_master is run, the program first checks for the existence of a file named run_name.input, which is a keyword input file file (see below). The description in this section assumes that no previous files exist.
dmol_master checks for the existence of a basis set file, which is assumed to be a file in the current working directory. This file can be used in DMol calculations if you explicitly request it. Otherwise, a run_name.basis file is generated by DMol.
(If there is no run_name.input file or if you want to modify the input, dmol_master calls the interactive dialog input system. You can also run dialog independent of dmol_master by entering dialog at the UNIX prompt.)
New input can be now entered. You are first prompted for a title. This is a string up to 50 characters long. Following this, the program asks for a geometry. This may be entered interactively or extracted from one of several types of files:
After the geometry and symmetry are found, the geometry is written to a run_name.car file, and the program displays a table of each of the keywords and its current value. New values can be entered at this time, by typing the name of the keyword you want to update. The program then prompts you for the new value. The following rules apply to entering values:
The program also prompts for the name of a scratch directory in which the job is executed (<Enter> means to use the current directory). This ultimately results in the creation of a .job file, named run_name.job.
After entering the scratch directory, the program asks you where to store the results of the calculation and if you want to delete the scratch files at the end of a calculation (Y or N, default = Y). Generally, you always delete scratch files because they are so large.
Finally, you are prompted to start the job, and the job is run in the background. The primary output file is run_name.outmol, with a brief summary written to file run_name.sum. These appear in the specified storage directory.
> dmol_master test
***************************************** DMol 960/400 input preparation utility ***************************************** Enter the object name (<RETURN> = QUIT) Enter HELP to learn the main features of the Dmol_master script >>water Welcome to Dialog *************************************************************************** Welcome to **DMol/Dialog** interactive Input system Dialog can read and prepare job.input for DMol 960/400. It will check for correctness of keywords and their values. It will assist you in preparing the standard DMol input. It can read various input formats and convert them to .car file. For non-standard DMol options please refer to the DMol manual. (To learn about current limitations of Dialog type: limit to continue press: enter) ========: <CR> :======== -------------------------------------------------- DMol/Dialog prepares input data for system: water -------------------------------------------------- Enter the title for the run ========: geometry optimization of water :======== Do you want to enter the geometry in Bohr or in angstrom units? Current default is ANGSTROM ========: a :======== To read the geometry from a MOPAC-type Z-matrix enter ZMAT To read the geometry from a Gaussan-type Z-matrix enter GZMAT To read the geometry from a Discover .car file enter CAR To read the geometry from a DMol .coord file enter COORD To edit the existing geometry enter EDIT To enter the geometry by hand (USER option) type for each atom: - the number of the atom (i.e., 1,2,3,...) - the atomic number (e.g., 6 for C, 7 for N, etc.) - the x y z coordinates in ANGSTROM units - Terminate with a blank line ========: 1 8 0 0 0 :======== updated atom 1 ========: 2 1 1 1 0 :======== updated atom 2 ========: 3 1 -1 1 0 :======== updated atom 3 ========: <CR> :======== -------------------------------------------------- Current geometry in ANGSTROM 1 8 0.000000 0.000000 0.000000 2 1 1.000000 1.000000 0.000000 3 1 -1.000000 1.000000 0.000000 Coordinates have been symmetrized Current geometry in ANGSTROM 1 8 0.000000 0.000000 -0.666667 2 1 -1.000000 0.000000 0.333333 3 1 1.000000 0.000000 0.333333 -------------------------------------------------- Molecule has the following symmetry ===> [ C2v ] Do you want to use this symmetry in calculations (YES, default): ========: <CR> :======== The new geometry is written to file water.car Current Flags: ________________________________________________________ Calculate ENERGY Basis DNP Geometry CAR ANGSTROM Symmetry C2v Spin RESTRICTED Charge 0.000000 Occupation DEFAULT Integration_Grid MEDIUM Functionals VWN Electric_Field OFF Point_Charges OFF Solvate OFF Electrostatic_Moments OFF Mulliken_Analysis 0 Bond_Order OFF Hirshfeld_Analysis 0 ESP_Charges OFF Nuclear_EFG OFF Optical_Absorption OFF Plot OFF Grid BOX Ndiff 1 Vibdiff 0.010000 Project ON FrqRestart OFF Frozen INNER_CORE Lmax DEFAULT Fixoc 1000 Print OFF Smear 0.000000 SCF_Energy_Convergence 0.000001 Number_Bad_Steps 9 SCF_Density_Convergence OFF SCF_Iterations 25 Direct_SCF ON Mixing_Alpha 0.250000 Partial_DOS OFF Diis 4 Mixing_Beta 0.250000 SCF_Restart OFF Locate MINIMUM Opt_Coordinate_System AUTO Opt_Print 2 Opt_Use_Symmetry ON Gradient_Convergence 0.001000 Hessian_Update BFGS Displacement_Convergence 0.001000 Hessian_File OFF GDIIS OFF Opt_Energy_Convergence 0.000010 Opt_Cycles 20 Max_Displacement 0.300000 ________________________________________________________ To update an input flag, type the flag name and the flag value. If not conclusive, program will then prompt you for input. Useful commands: HELP (for help); QUIT,EXIT (to finish); UNDO (undo previous command); BACK (go back to the last flag). ================================================================ ========: cal :======== ________________________________________________________ The current Calculation type is ==: ENERGY Valid types are: 1) ENERGY -- Compute energy only 2) GRADIENT -- Compute energy and gradient 3) OPTIMIZE -- Perform geometry optimization 4) FREQUENCY -- Compute harmonic frequencies at input geometry 5) OPTIMIZE_FREQUENCY -- Optimization followed by frequencies ========: help :======== ___________DMol / Dialog / Interactive Input Help_______ You are being asked to input value of the keyword; you can do this in various ways: 1) Just type the value or any part of the value name; if however, there are two values with the same beginning, Dialog will ask you to be more specific and to repeat the value 2) You can enter the number of the value from the list of available values; in some cases, when the number or a string is a value, enter this value 3) Just enter blank and then Dialog will take default Dialog will try to check if your entered value is correct one; if it is not an allowed value, then will ask to repeat input ________________________________________________________ The current Calculation type is ==: ENERGY Valid types are: 1) ENERGY -- Compute energy only 2) GRADIENT -- Compute energy and gradient 3) OPTIMIZE -- Perform geometry optimization 4) FREQUENCY -- Compute harmonic frequencies at input geometry 5) OPTIMIZE_FREQUENCY -- Optimization followed by frequencies ========: 3 :======== Current Flags: Your last change is marked by ** ________________________________________________________ ** Calculate OPTIMIZE Basis DNP Geometry CAR ANGSTROM Symmetry C2v Spin RESTRICTED Charge 0.000000 Occupation DEFAULT Integration_Grid MEDIUM Functionals VWN Electric_Field OFF Point_Charges OFF Solvate OFF Electrostatic_Moments OFF Mulliken_Analysis 0 Bond_Order OFF Hirshfeld_Analysis 0 ESP_Charges OFF Nuclear_EFG OFF Optical_Absorption OFF Plot OFF Ndiff 1 Vibdiff 0.010000 Project ON FrqRestart OFF Frozen INNER_CORE Lmax DEFAULT Fixoc 1000 Print OFF Smear 0.000000 SCF_Energy_Convergence 0.000001 Number_Bad_Steps 9 SCF_Density_Convergence OFF SCF_Iterations 25 Direct_SCF ON Mixing_Alpha 0.250000 Partial_DOS OFF Diis 4 Mixing_Beta 0.250000 SCF_Restart OFF Locate MINIMUM Opt_Coordinate_System AUTO Opt_Print 2 Opt_Use_Symmetry ON Gradient_Convergence 0.001000 Hessian_Update BFGS Displacement_Convergence 0.001000 Hessian_File OFF GDIIS OFF Opt_Energy_Convergence 0.000010 Opt_Cycles 20 Max_Displacement 0.300000 ________________________________________________________ To update an input flag, type the flag name and the flag value. If not conclusive, program will then prompt you for input. Useful commands: HELP (for help); QUIT,EXIT (to finish); UNDO (undo previous command); BACK (go back to the last flag). ================================================================ ========: quit :======== All flags processed. Writing input deck ==> water.input You may write a short or full input file: short - has basic and nondefault keyword values full - has all the keyword values Do you want to write only short input (YES) or full input (NO): ========: y :======== Exit DMol-Dialog ************************************************************** Now requesting data for job submission. Enter scratch directory (where the job will be run) Scratch directory is defined with respect to the current directory: <RETURN> = /usr2/people/jwa/dmol3/dialog/test >>water1 Directory could not be found - I will create ==: water1 Error output will be in water.stderr ************************************************************** Please decide how you want to dispose of Dmol result files? Enter storage directory (where the output files will be saved) Storage directory is defined with respect to the current directory: <RETURN> = /usr2/people/jwa/dmol3/dialog/test >>water2 Directory could not be found - I will create ==: water2 Dmol output will be stored in the ==: water2 directory ************************************************************** Which files do you want to save? Enter the number of the chosen option: 0) leave all the files in ==: water1 directory (you need that to continue frequency calculations) (or to keep your files for visualization) 1) copy DMol outmol and car file to ==: water2 directory 2) in addition copy Hessian restart (hessian) and Cosmo file 3) in addition copy DMol SCF restart (tpotl) file >>3 ************************************************************** Do you wish to delete directory ==: water1 after run is completed? Enter (Y or N) Careful, did you save all the files you will need? >>y Script to run DMol ==: water.job is ready Job is being run in: water1. Enter any character to run job; enter <CR> for NO submit. >>xThe resulting test.job file
Please consult your system administrators for adding NQS-related commands to this .csh script.
# A shell script to run DMol 960 #!/bin/csh -f #Home directory: set orig_dir = /usr2/people/jwa/dmol3/dialog/test cd $orig_dir set jobname = water # Run directory: set run_dir = water1 mkdir $run_dir set jobrun = $run_dir/$jobname # Copy input files: foreach i (coord gzmat zmat car mdf inmol input tpotl cosinp hess hessian) if (-e $orig_dir/$jobname.$i) then cp $orig_dir/$jobname.$i $run_dir endif end cd $run_dir # Run DMol: dmol $jobname # Copy output files: cd $orig_dir set store_dir = water2 mkdir $store_dir if (-e $jobrun.outmol) then cp $jobrun.outmol $store_dir endif if (-e $jobrun.car) then cp $jobrun.car $store_dir endif if (-e $jobrun.hessian) then cp $jobrun.hessian $store_dir endif if (-e $jobrun.cosmo) then cp $jobrun.cosmo $store_dir endif if (-e $jobrun.tpotl) then cp $jobrun.tpotl $store_dir endif # Remove working directory: rm -rf water1 # exit DMol job scriptThe resulting test.input file
This is the short version of the file.
# geometry optimization of water # Product DMol Version 960 Calculate OPTIMIZE Basis DNP Symmetry C2v Spin RESTRICTED Charge 0.000000 Functionals VWN Integration_Grid MEDIUM Frozen INNER_CORE Lmax DEFAULT
Fixed Cartesian coordinates
Cartesian coordinates are input between the keywords Fixed and Endfix in format I4,2X,A3 where the integer refers to which atom is being constrained in the order it appears in the .car file, and the character string can be any of X, Y, or Z, depending on which coordinates of the atom are to be fixed.
Dummy atoms
All dummy atoms (pseudoatoms) are defined with reference to a list of real atoms, and dummy atom coordinates are generated from the coordinates of the real atoms in its defining list. There are two types of dummy atom:
Dummy atoms are used only to help define constraints.
The snap_to_sym standalone utility accepts these command-line options:
> snap_to_sym run_name [threshold -poll -no_xform pchg_file]where this argument is required:
The .input file differs from the usual DMol .input file in that the value of the Solvate parameter is changed and the name of the COSMO input file is added.
For example, a DMol/COSMO calculation for the water molecule requires the following changes in the DMol .input file:
Solvate cosmo cosmo water.cosinpThe COSMO input file can be created using a dialog session. An example of a dialog session for a water molecule is given below. After the dialog program is invoked and the geometry of the molecule is assigned, you can select the Solvate keyword. The following explanatory message appears (bold type indicates user input):
The current value of Solvate keyword is ==: OFF Valid values are: 1) OFF -- no solvation effects 2) ON -- include effects of the solvent using COSMO 3) COSMO -- include effects of the solvent using COSMO ========: 2 :======== COSMO input file -- .cosinp will be created. The current COSMO parameters are used: ___________________________________________________ Dielectric Constant (eps) = 78.40 Basic Grid Size (nppa) = 1082 Number of Segments (nspa) = 162 Solvent Radius (rsolv) = 1.00 A-Matrix Cutoff (disex) = 7.0 Radius Increment (radd) = 0.2 Non-Electrostatic Energy = A+B*area; A (ane) = 1.67274; B (bne) = 0.020520 The current van der Waals radii are: atomic symbol and radius:= 1 O 1.36000 atomic symbol and radius:= 2 H 1.0800 ___________________________________________________ Do you wish to modify these COSMO parameters (NO, default)? If YES then enter the full name of the parameter you want to change, e.g., to set new value of Dielectric Constant enter: eps value To modify van der Waals radii of the element enter: element_symbol new_van_der_Waals_radius (e.g.: O 1.45) This information will help you to select COSMO parameters: ==: Dielectric constants of typical solvents are: acetone (20.7) benzene (2.274) chlorobenzene (5.621) chloroform (4.806) cyclohexane (2.015) ethyl ether (4.335) methanol (32.63) tetrachloromethane (2.228) water (78.40) infinity (1000.0) ==: The allowed values of nppa and nspa are: 12,32,42,92,122,162,272,362,482,642,812,1082,1442,1922 Number of Segments (nspa) should be < Basic Grid Size (nppa) ==: Solvent Radius (rsolv) should be 0.1 < rsolv < 2.0 ==: A-Matrix Cutoff (disex) should be > 2.0 ==: Radius Increment (radd) should be -0.2 < rsolv < 2.0 ========:The meanings of the COSMO keywords are self-explanatory. After the input files have been written, the dmol script may be invoked as usual.
You can choose nondefault values for the atomic radii, grid spacing, and layer border diffusion parameter and can select initial or fixed values for the atomic charges. This can be accomplished by providing an espfit.inp input file (HSOH example including ESP-fitted point charges). This file can be located in your current working directory, your home directory, or the $BIOSYM/data/dmol directory. In fact, the default values are contained in the espfit.inp input file located in the $BIOSYM/data/dmol directory. The contents of this file are listed under Default espfit.inp file contents. The default values are included in the DMol program as well, so there is no need to have any espfit.inp file to run the calculations.
Point charges are now fully supported in DMol. Standalone users can easily access the point charge functionality by using the Point_Charges keyword to specify the point charge file. The point charge file can be in the form of a .car file or in a generic .pchg format. The .pchg format is:
Notes on point charges
@PCHARGES number-of-charges (for this example, 2) X Y Z CHARGE X Y Z CHARGEWhere number of charges is an integer corresponding to the number of charges, and all fields are in floating-point format.
We do not recommend using point charges with symmetry, although DMol allows this. If you nevertheless use point charges with symmetry, you will have to validate that the resulting system still exhibits the desired symmetry.