Frequently Asked Questions About AIMAll (Version 10.07.25)
Does AIMAll have any visualization capabilities?
Yes, a new visualization component for AIMAll, called AIMStudio, has recently been added.
Does AIMAll have a manual?
A basic operating manual, with tutorials, is provided in html format. It is accessible via the Help menu of AIMStudio. Also, see the README file, these FAQs and the list of References. Note that the primary numerical result files from AIMAll calculations, the .sum files, are written to be self-describing.
Does AIMAll have an official mailing list, message board, user forum, etc.?
Not at this time, but this is something that is being investigated. In any event, users are encouraged to contact Todd A. Keith at aim@tkgristmill.com with questions, comments, suggestions or problems related to AIMAll.
Does AIMAll impose any limits on the size of the wavefunction, i.e., the number of nuclei, MOs or primitive functions?
No limits are imposed on computational functionality for either the AIMAll Standard operating mode or the AIMAll Professional operating mode. Visualization-related functionality and multi-processor support is limited to 10 atoms or less and 200 primitives or less for the AIMAll Standard operating mode. No limits are imposed on visualization-related functionality or multi-processor support with the AIMAll Professional operating mode.
Can AIM wavefunctions derived from calculations using Spherical Harmonic / Pure (in other words 5D, 7F, 9G, 11H instead of 6D, 10F, 15G, 21H) Gaussian basis sets be used?
Yes, as long as the Pure Gaussian basis set has been properly converted to the equivalent Cartesian Gaussian basis set when the AIM wavefunction is created. This conversion is done automatically by AIM wavefunction writers. The definition (which is used for historical reasons rather than logical ones) of the Cartesian Gaussian primitive type numbers appearing in both traditional AIM .wfn files and extended AIM .wfx files is as follows (through H shells):
# 1 S
# 2 PX
# 3 PY
# 4 PZ
# 5 DXX
# 6 DYY
# 7 DZZ
# 8 DXY
# 9 DXZ
# 10 DYZ
# 11 FXXX
# 12 FYYY
# 13 FZZZ
# 14 FXXY
# 15 FXXZ
# 16 FYYZ
# 17 FXYY
# 18 FXZZ
# 19 FYZZ
# 20 FXYZ
# 21 GXXXX
# 22 GYYYY
# 23 GZZZZ
# 24 GXXXY
# 25 GXXXZ
# 26 GXYYY
# 27 GYYYZ
# 28 GXZZZ
# 29 GYZZZ
# 30 GXXYY
# 31 GXXZZ
# 32 GYYZZ
# 33 GXXYZ
# 34 GXYYZ
# 35 GXYZZ
# 36 HZZZZZ
# 37 HYZZZZ
# 38 HYYZZZ
# 39 HYYYZZ
# 40 HYYYYZ
# 41 HYYYYY
# 42 HXZZZZ
# 43 HXYZZZ
# 44 HXYYZZ
# 45 HXYYYZ
# 46 HXYYYY
# 47 HXXZZZ
# 48 HXXYZZ
# 49 HXXYYZ
# 50 HXXYYY
# 51 HXXXZZ
# 52 HXXXYZ
# 53 HXXXYY
# 54 HXXXXZ
# 55 HXXXXY
# 56 HXXXXX
Can wavefunctions derived from Semi-Empirical calculations be used?
No.
Can wavefunctions derived from calculations using Effective Core Potential basis sets be used?
Not yet.
Can wavefunctions derived from calculations using typical Kohn-Sham DFT (KS-DFT) methods be used?
Yes, but be aware that the Virial-Based or IQA atomic electronic energy is not as well defined for typical KS-DFT methods as it is for traditional ab initio methods such as Hartree-Fock, MP2, CI, etc. One reason is because the total electronic kinetic energy T is not as well-defined for Kohn-Sham DFT methods, the correlaton contribution Tc being implicitly included in the exchange-correlation energy Exc. In principle, Tc can be extracted from Exc, but to do so requires the functional form of Exc corresponding to the KS-DFT method used, and this information is not available in wavefunction files.
What about AIMAll for other platforms, particularly Linux and MacOS X?
AIMAll for Linux and MacOSX will be available in the future, as time and resources allow.
Does AIMAll support use of multiple processors / cores?
Yes, support for optionally running AIMExt and AIMInt jobs using multiple processors has recently been added (AIMAll Professional only). Support for optionally running multiple AIMInt jobs simultaneously (i.e., calculating more than one atom at a time) using multiple processors has also recently been added (AIMAll Professional Only). Multiprocessor options are specifiable via the "Processors" and "Atoms at a Time" fields of the AIMQB dialog or via the "-nproc" and "-naat" command-line arguments to AIMQB.
How does one calculate magnetic response properties with AIMAll?
Calculation of atomic contributions to magnetizability tensors and NMR shielding tensors requires the selection of either CSGTB, IGAIM or GIAO in the "Magnetic Response Properties" combobox in AIMQB, as well as the use of a CSGT magnetic wavefunction file or a GIAO magnetic wavefunction file.
A CSGT magnetic wavefunction file in traditional AIM format (.wfn) can be produced by Gaussian using the keywords: nmr=csgt iop(10/21=1,99/6=200)
The keyword "CSGT" (without the quotes) must be manually added to the end of the 2nd line (after NUCLEI) of a CSGT magnetic wavefunction file in traditional AIM format so that AIMAll knows it is CSGT wavefunction file.
CSGT magnetic wavefunctions can be used for both the CSGTB and the IGAIM methods of calculating atomic magnetic response properties in AIMAll.
A GIAO magnetic wavefunction file in traditional AIM format (.wfn) can be produced by Gaussian using the keywords: nmr=giao iop(10/21=1,99/6=300)
The keyword "GIAO" (without the quotes) must be manually added to the end of the 2nd line (after NUCLEI) of a GIAO wavefunction file in traditional AIM format so that AIMAll knows it is GIAO wavefunction file.
A GIAO magnetic wavefunction file in either extended AIM format (.wfx) or traditional AIM format (.wfn) can also be automatically produced by AIMQB by opening a Gaussian formatted checkpoint file resulting from an nmr=giao calculation.
What does a message in a sum file about a "significant" or "potentially significant" integration error mean?
Ideally, calculated atomic L(A) values should be zero and the sum of any calculated atomic property over all atoms in a molecule should of course equal the known molecular value. In practice, there will always be some numerical integration errors, usually related to the complexity of atomic surfaces.
A "Warning!  Significant ... integration error ..." message will be written to the sum file if any of the following occurs:
- The magnitude of atom A's calculated L(A) value is > 0.01 au.
- The magnitude of the sum of all calculated L(A) values is > 0.01 au.
- The magnitude of the difference between the actual molecular charge and the sum of all calculated atomic charges q(A) is > 0.01 au.
A "Note.  Potentially significant ... integration error ..." message will be written to the sum file if any of the following occurs:
- The magnitude of atom A's calculated L(A) value is > 0.002 au and < 0.01 au.
- The magnitude of the sum of all calculated L(A) values is > 0.002 au and < 0.01 au.
- The magnitude of the difference between the actual molecular charge and the sum of all calculated atomic charges q(A) is > 0.002 au and < 0.01 au.
The threshold values of 0.01 au for "Significant" and 0.002 au for "Potentially significant" integration errors are reasonable, but may be too conservative or not conservative enough depending on one's purposes.
Note that it is possible (but not likely) that a calculated atomic L(A) value can be fortuituously small in magnitude due to a cancellation of errors.
Users are always advised to monitor themselves the sums of calculated atomic properties as well as the individual calculated L(A) values, and be prepared to recalculate "problem atoms" using higher quadrature and / or a different atomic integration algorithm. The README file gives a few examples of recalculating "problem atoms".
How can dipole polarizability tensors of atoms in molecules be calculated using AIMAll?The components of a molecular dipole polarizability tensor can be calculated as the set of first derivatives of the molecular dipole moment components with respect to the components of an applied electric field, the derivatives being evaluated at the zero-field point. The same is true of an atom in a molecule. To calculate the atomic dipole derivatives it is necessary to use numerical differentation since the atomic surfaces (being defined by the electron density distribution) are dependent on the electric field. A spreadsheet might be helpful.
The basic steps are:
- Do a regular, zero-field ab initio calculation of the molecule of interest and generate a corresponding wavefunction file, say molecule_0.wfn.
- Run AIMAll on molecule_0.wfn to produce molecule_0.sum, which will contains all of the atomic dipole moments of the molecule at the zero-field point.
- Do another ab initio calculation of the molecule at the same geometry, level of theory and basis, but in the presence of a small (say 0.0025 au) electric field applied along the +X axis and generate a corresponding wavefunction file, say molecule_0025_x.wfn.
- Run AIMAll on molecule_0025_x.wfn to produce molecule_0025_x.sum, which will contain all of the atomic dipole moments of the molecule in the presence of the applied electric field.
- For each atom in the molecule, calculate the XX, YX and ZX components of the atomic polarizability tensor as the change in the X, Y and Z components of the atomic dipole moment divided by the change in the applied electric field along the X-axis, i.e. 0.0025 au.
- Repeat steps 3-5, but with the applied electric field along the +Y axis, to calculate XY, YY and ZY elements of the atomic polarizability tensors.
- Repeat steps 3-5, but with the applied electric field along the +Z axis, to calculate XZ, YZ and ZZ elements of the atomic polarizability tensors.
Consider repeating the above steps with the the applied electric field along the -X, -Y and -Z axes.
Consider repeating the above steps with smaller (say 0.001 au) and larger (say 0.005 au) field strengths.
Can AIMQB be run from a command prompt?Yes. For example, to run AIMQB using the default options and the wavefunction file oxirane.wfn, enter the following at a command prompt:
c:\aimall\aimqb oxirane.wfn
All of the option controls in the AIMQB dialog have corresponding command-line arguments. To get a list of command-line arguments, enter the following at a command prompt:
c:\aimall\aimqb -help
This will produce the following usage statement:
AIMQB (Version 10.07.25)
Copyright (c) 1997-2010 by Todd A. Keith
AIMQB is a component of the AIMAll package ( http://aim.tkgristmill.com )
Usage: aimqb [options] [wfxfile | wfnfile | fchkfile]
options: [-help]
[-bim=proaim/promega/promega1/promega3/sculpt]
[-iasmesh=sparse/medium/fine/veryfine/superfine]
[-ucc=0/1/2]
[-boaq=low/medium/high/veryhigh/skyhigh/low_leb/medium_leb/high_leb/veryhigh_leb/skyhigh_leb]
[-briaq=1/1.5/2/2.5/3/3.5/4]
[-ehren=0/1/2]
[-feynman=true/false]
[-iasprops=true/false]
[-magprops=none/igaim/csgtb/giao]
[-iaswrite=true/false
[-encomp=0/1/2/3]
[-warn] [-nowarn]
[-scp=true/false
[-daf=true/false]
[-skipint=true/false]
[-f2w=wfx/wfn]
[-f2wonly=true/false]
[-atoms=all] [-atoms=...]
[-mir=10.0/11.2/etc.]
[-wsp=true/false]
[-nproc=1/2/etc.]
[-naat=1/2/etc.]
[-shm_lmax=-1/0/1/2/etc.]
[-verifyw=true/false/only]
The arguments have the following meaning:
-help
Print command-line usage statement to console window.
-bim=proaim/promega/promega1/promega3/sculpt
Basin integration method. Default is proaim.
-iasmesh=sparse/medium/fine/veryfine/superfine
This option controls the target spacing between adjacent IAS paths (the maximum allowable spacing is 10 percent larger than the target spacing) when the "Proaim" basin integration method is used.  The default IAS Mesh is "Fine", which is usually quite sufficient. In conjunction with large Basin Quadratures, "Very Fine" or "Super Fine" IAS Meshes may sometimes be useful for very accurate atomic integrations. Naturally, calculation time increases with the fineness of the IAS Mesh.
-ucc=0/1/2
Gradient path capture method (currently applicable to Sculpt only). Legal values are currently 0 and 1. 0 is the default and means "Basic Capture". 1 means "Extended Capture", which is significantly faster (but still slow) than "Basic Capture" but has a slight chance of failure.
-boaq=low/medium/high/veryhigh/skyhigh/superhigh/low_leb/medium_leb/high_leb/veryhigh_leb/skyhigh_leb
Basin outer angular quadrature. Default is high. The largest and most expensive grid is "Super High". Lebedev grids are useful for Vee(A,A) calculations but are not generally recommended otherwise.
-briaq=1/1.5/2/2.5/3/3.5/4
Basin radial and inner angular quadrature, specified as a multiple of the default quadrature. Default is 1. Legal values are those listed.
-ehren=0/1/2
Whether and how to calculate atomic Ehrenfest forces. Legal values are 0, 1 and 2. The default is 0, meaning don't calculate any atomic Ehrenfest forces. 1 means yes, using the -<DivStress>(A) expression. 2 means yes, using the expensive -<Psi|Grad1V|Psi>(A) expression (as well as -<DivStress>(A)).
-feynman=true/false
Whether to print Feynman force data to the sum file. Default is true.
-iasprops=true/false
Whether to calculate interatomic surface properties. Default is false.
-magprops=none/igaim/csgtb/giao
Method to use to calculate atomic magnetic response properties. Default is none. These methods require magnetic wavefunction or fchk files.
-iaswrite=true/false
Whether to write interatomic surface data (paths and intersection data) to *.iasviz files for use with the AIMStudio visualization program. Default is false.
-encomp=0/1/2/3
Atomic energy components to calculate. Default is 0, i.e., T(A), Ven(A) and Vnn(A)). 1 means T(A), Ven(A), Vne(A) and Vnn(A). 2 means T(A), Ven(A), Vne(A), Vnn(A) and Vee(A). 3 means T(A), Ven(A), Vne(A), Vnn(A), Vee(A), Vee(A,A) and Vee(A,A').
-warn
Show warning message boxes when appropriate. This is the default.
-nowarn
Do not show warning message boxes.
-scp=true/false
Show calculation progress in the console window. Default is true.
-daf=true/false
Delete atomic files when finished. Default is false. Beware that automatically deleting atomic files when finished will affect later partial reruns of AIMSum.
-skipint=true/false
Skip atomic integrations. Default is false.
-f2w=wfx/wfn
When opening a formatted checkpoint file, whether to create a traditional wavefunction file (wfn) or an extended wavefunction file (wfx). Default is wfx.
-f2wonly=true/false
When opening a formatted checkpoint file, whether to stop after creating the wavefunction file, i.e., no calculations by AIMExt, AIMInt or AIMSum. Default is false.
-atoms=all or -atoms=...
Which atoms to calculate. Default is all. When listing atoms to calculate, use a comma-separated list of atom numbers without spaces. For example, -atoms=2,5,12
-mir=10.0/11.2/etc.
Maximum atomic integration radius. Default is 10.0. Any number between 7.0 and 13.0 is allowed. Values larger than 10.0 are sometimes helpful for some anions and excited states.
-wsp=true/false
Whether to write molecular graph and other special GradRho paths to a *.mgpviz file (which also contains the same critical point data as the *.mgp file) for use with the AIMStudio visualization program. Default is true.
-nproc=1/2/etc.
The number of processors to use for AIMExt and AIMInt jobs. Default is 1. Must be less than or equal to the number of logical processors of the system. If more than one atom at a time is calculated (see description of the -naat argument below), then the number of processors to use per atom will be (number of processors)/(number of atoms at a time).
-naat=1/2/etc.
The number of atoms to calculate at a time. Must be less than or equal to the number of processors to use. If the number of atoms to calculate at a time is less than the number of processors to use, then the number of processors to use per atom will be (number of processors)/(number of atoms at a time). For example, if -nproc=4 -naat=2 is specified (and you have at least a 4 processor system), then two AIMInt jobs will be run at a time, each using 2 processors.
-shm_lmax=-1/0/1/2/etc.
This option controls the calculation of real Spherical Harmonic Moments Q[l,|m|,?] of the atomic electronic charge distributions. The default behavior is to calculate all moments from l = 0 up to an l value of 5, i.e., -shm_lmax=5 is the default. Specifying a maximum l value of -1 will result in no SHM's being calculated. The real Spherical Harmonic Moment values are written to the atomic .int files following the Cartesian moments section.
-verifyw=true/false/only
Options controlling whether a normalization check of traditional AIM wavefunctions will be done before proceeding with the AIMAll calculations. Default is true, meaning a normalization check will be done and if the wavefunction is not acceptable then a warning will be issued and the AIMAll calculations will not proceed. Specifying "-verifyw=false" will skip the normalization check, which is NOT advisable. Specifying "-verifyw=only" will check the normalization of the wavefunction, inform the user of whether the wavefunction is acceptable or not and then stop, i.e., no calculations will be done even if the wavefunction is acceptable.
For example, to run AIMQB for just atoms 3 and 4 using the wavefunction file n4c2_c2h.wfx and using "Sky High" outer angular basin quadrature, enter the following at the command prompt:
C:\aimall\aimqb -atoms=3,4 -boaq=skyhigh n4c2_c2h.wfx
How does one make objects semi-transparent in a 3D Window in AIMStudio?
Any type of object (including text) can be made semi-transparent in a 3D window of AIMStudio by using the "Alpha channel" field in the corresponding Color Dialog for the object type. Alpha channel values can range from 255 (opaque) to 0 (invisible). Most object types are opaque by default.
How can one get smoother lines/curves/text in AIMStudio?
Anti-Aliasing may (depending on the quality of your computer's graphics card) improve the appearance (smoothness) of paths and points (and possibly text). Anti-Aliasing is on by default but can be turned off via the "View->Anti-Aliasing" menu items. Anti-Aliasing may not work well with some low-end graphics systems. In many cases, anti-aliasing support for the graphics system can be adjusted using the graphics system's "Control Panel" GUI.
How does one zoom the objects in and out in a 3D Window in AIMStudio?
Any of the following can be used to zoom:
- Use the mouse scroll wheel
- Use the F5 and F6 keys on the keyboard
- Move the mouse horizontally with the right mouse button held down and the Shift key pressed
- Rotate about the screen Y-axis by moving the mouse cursor left and right in the window with the left mouse button held down.
- Rotate about the screen Y-axis by using the left and right arrow keyboard keys.
- Rotate about the screen X-axis by moving the mouse cursor back and forth in the window with the left mouse button held down.
- Rotate about the screen X-axis by using the up and down arrow keyboard keys.
- Rotate about the screen Z-axis by moving the mouse cursor left and right in the window with the right mouse button held down.
- Rotate about the screen Z-axis by using the Page Up and Page Down keyboard keys.
- Move along the screen X-axis by moving the mouse cursor left and right in the window with the middle mouse button (or possibly scroll wheel) held down.
- Move along the screen X-axis by moving the mouse cursor left and right in the window with the left mouse button held down and the Shift key pressed.
- Move along the screen X-axis by using the left and right arrow keyboard keys with the Shift key pressed.
- Move along the screen Y-axis by moving the mouse cursor up and down in the window with the middle mouse button (or scroll wheel) held down.
- Move along the screen Y-axis by moving the mouse cursor up and down in the window with the left mouse button held down and the Shift key pressed.
- Move along the screen Y-axis by using the up and down arrow keyboard keys with the Shift key pressed.
Run the program AIMExt and use Main Menu option (5), "Properties at Input Coordinates". The data of interest will be in the .crt file.
How can I locate and characterize critical points of the Laplacian of the electron density or other functions?
Run the program AIMExt directly and answer the question "What is the Primary function you want to analyze?" accordingly. Then use the Main Menu options such as (6) to search for critical points of the Primary function. The data of interest will be in the .crt file.
Can I hide individual atoms, bond paths, BCPs, etc. in an AIMStudio 3D window?
Yes. Right-clicking on any nuclear, BCP, RCP, CCP, NNACP, Ghost or other object sphere will push up a context menu with various options (at the top of the menu) specific to that object. One of the these options will be "Cloak Object". Cloaking an object will hide it (the more general term "Cloak" is used instead of "Hide" to allow for possible different representations of "Cloaking" in the future). Cloaking a BCP will also cloak its bond path and its IAS EV paths. Cloaking an RCP will also cloak its RCP-to-BCP paths. Note that a cloaked object cannot be decloaked by right-clicking on it (because it is not there anymore), but all cloaked objects can be decloaked via the "View->Decloak All" menu item. Cloaking is especially useful for contour maps and other 2D plots in non-planar molecules, where you may only want to show those atoms, bond paths, etc. in the plotting plane.
Is there any way to have AIMAll sort and / or filter all of the numerical data it produces?
Yes. AIMStudio now provides customizable Atom Tables, BCP Tables, RCP tables, CCP tables, etc. which interact with the corresponding 3D windows and allow the user to view, sort, copy and print property data in a variety of ways.
What are the units of the electron density given in the .sum files, the .mgp files and the .crt files?
Electron density units in AIMAll output are e/bohr^3. All output from (and input to) AIMAll is in atomic units (except the magnetizability output given in the .sum files, which is in cgs-ppm).
Does AIMAll support Ghost centers?
Yes. In the wavefunction file, ghost centers should be presented as nuclei with charge 0.0 and names beginning with Bq (e.g., Bq17). If you have done a counterpoise calculation, for example, then it will be absolutely necessary to include the counterpoise (Ghost) centers and corresponding primitive function data in the wavefunction file. But ghost centers with no basis functions can also be added to the wavefunction file for the purpose of having AIMAll calculate local and atomic properties requiring "reference" points (e.g., NMR shielding and eventually other functions such as ESP, rho Source, Fermi hole, etc.) at a user-defined set of reference points - in addition to the default set of reference points.
What does the AIMQB error message "Invalid traditional wfn file. Normalization check failed. Could be due to an orientation inconsistency." mean?
Some versions of g03 may write traditional AIM .wfn files with an inconsistency between the nuclear coordinate orientation and the orientation that the MO coefficients correspond to, i.e., the nuclear coordinates are written in the input orientation while the written MO coefficients correspond to the Gaussian standard orientation - unless the Gaussian keyword NOSYMM is specified. This issue is usually caught by AIMQB, which performs a normalization check on traditional AIM .wfn files. To avoid this and other issues with traditional AIM .wfn files, it is strongly recommended to open Gaussian formatted checkpoint files (.fch or .fchk files) with AIMQB instead and then use the corresponding .wfx files for all AIMAll calculations. Opening formatted checkpoint files with AIMQB and then using the .wfx files with the AIMAll programs is beneficial in several other ways as well.
Does AIMExt calculate and print the Cremer and Kraka energy density H(r)?
The Cremer and Kraka energy density H(r) = G(r) + V(r) is equivalent to -K(r), i.e., minus the Hamiltonian form of the electron kinetic energy density. K(r) is calculated by AIMExt at critical points of the electron density (such as BCPs) and this data is available in the .sum file, the .sumviz file, the .mgp file and the .mgpviz file. Like all other CP properties, the K(r) values can be viewed in AIMStudio in table form and / or in the 3D windows. Like the electron density, the Laplacian of the electron density, etc., the function K(r) can itself be topologically analyzed using AIMExt. Contour maps, relief maps and isosurfaces of K(r) can be displayed using AIMStudio.