home

Archive for the 'quantum chemistry' Category

Compiling And Running GAMESS-US (1 May 2013(R1)) On 64-bit Ubuntu 12.X/13.X In SMP Mode

Saturday, April 5th, 2014

Author’s Note 1: It is my standard policy to put too much info into guides so that those who are searching for specific problems they come across will find the offending text in their searches. With luck, your “build error” search sent you here.

Author’s Note 2: It’s not as bad as it looks (I’ve included lots of output and error messages for easy searching)!

Author’s Note 3: I won’t be much help for you in diagnosing your errors, but am happy to tweak the text below if something is unclear.

Conventions: I include both the commands you type in your Terminal and some of the output from these commands, the output being where most of the errors appear that I work on in the discussion.

Input is formatted as below:

username – your username (check your prompt)
machinename – your hostname (type hostname or check your prompt)

Text you put in at the (also shown, so you see the directory structure) prompt (copy + paste should be fine)

Text you get out (for checking results and reproducing errors)

Having just recently downloaded the newest version of GAMESS-US (R1 2013), my first few passes at using it under Linux (specifically, Ubuntu 12.04) ran into a few walls that required some straightforward modifications and a little bit of system prep planning. As my first few passes before successful execution are likely the same exact problems you might have run into in your attempts to get GAMESS-US to run (after a successful compilation and linking), I’m posting my problems and solutions here.

Qualifier 1 – My concern at the moment has been to get GAMESS-US to run under 64-bit Ubuntu 12.04 on a multi-core board (ye olde symmetric multiprocessing (which I always called single multi-processor, or SMP)). While some answers may follow in what’s below, this post doesn’t cover MPI-specific builds (nothing through a router, that is). SMP is the only concern (which is to say, I likely won’t have good answers if you send along an MPI-specific question). Also, although I’m VERY interested in trying it, I’ve not yet attempted to build a GPU-capable version (but plan to in the near future).

Qualifier 2 – It is my standard policy to install apps into /opt, and my steps below will reflect that (specifically because there’s a permission issue that needs to be addressed when you first try to build components). You can default to whatever you like, but keep in mind my tweaks when you try to build your local copy.

So, with the qualifiers in mind…

1. Prepping The System (apt-get)

There are few things better than being able to apt-get everything you need to prep your machine for an install, and I’m pleased to report that the (current) process for putting the important files onto Ubuntu 12.X/13.X is easy. Assuming you’re not going the Intel / PGI / MKL route, you can do everything by installing gfortran (compiler, presently installing 4.4) and the blas and atlas math libraries.

username@machinename:~$ sudo apt-get install gfortran libblas-dev libatlas-base-dev

Note: your atlas libraries will be installed in /usr/lib64/atlas/ – this will matter when you run config.

After these finish, run the following to determine your installed gfortran version (will be asked for by the new GAMESS config)

username@machinename:~$ gfortran -dumpversion

GNU Fortran (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3 Copyright (C) 2010 Free Software Foundation, Inc. GNU Fortran comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of GNU Fortran under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING

4.4 And you’re ready for GAMESS.

2. Downloading GAMESS-US, Placing Into /opt, And Changing Permissions

First, obviously, get the GAMESS source (click on the red text).

After downloading, copy/move gamess-current.tar.gz into /opt

username@machinename:~$ cd ~/Downloads
username@machinename:~/Downloads$ sudo cp gamess-current.tar.gz /opt
username@machinename:~/Downloads$ cd /opt
username@machinename:/opt$ sudo gunzip gamess-cuerent.tar.gz
username@machinename:/opt$ sudo tar xvd gamess-current.tar

gamess/ gamess/gms-files.csh gamess/tools/ ... gamess/misc/count.code gamess/misc/vbdum.src gamess/Makefile.in

At this point, if you go through the config process and get to the point of building ddikick.x, you will get an error when you first try to run ./compddi

username@machinename:/opt/gamess/ddi$ sudo ./compddi >& compddi.log &
[1] 4622 -bash: compddi.log: Permission denied

The problem is with the permission of the entire gamess folder:

drwxr-xr-x  4 root        root              4096 2014-04-04 21:43 . drwxr-xr-x 22 root        root              4096 2013-12-27 16:17 .. drwxr-xr-x 14 1300 504              4096 2014-04-04 21:43 gamess -rw-r--r-- 1 root        root         198481920 2014-04-04 21:42 gamess-current.tar

Which you remedy before running into this error by changing the permissions:

username@machinename:/opt$ sudo chown -R username gamess

The next step is recommended when you run config, so I’m performing the step here to get it out of the way. With the atlas libraries installed, generate two symbolic links.

username@machinename:/opt$ cd /usr/lib64/atlas
username@machinename:/usr/lib64/atlas$ sudo ln -s libf77blas.so.3.0 libf77blas.so
username@machinename:/usr/lib64/atlas$ sudo ln -s libatlas.so.3.0 libatlas.so

And, at this point, you’re ready to run the new (well, new to me) config script that preps your system install.

3. Building GAMESS-US

Back to the GAMESS-US folder.

username@machinename:/usr/lib64/atlas$ cd /opt/gamess
username@machinename:/opt/gamess$ sudo ./config
This script asks a few questions, depending on your computer system, to set up compiler names, libraries, message passing libraries, and so forth. You can quit at any time by pressing control-C, and then . Please open a second window by logging into your target machine, in case this script asks you to 'type' a command to learn something about your system software situation. All such extra questions will use the word 'type' to indicate it is a command for the other window. After the new window is open, please hit to go on.

You can open that second window or blindly assume that what I include below is all you need.

[enter]

GAMESS can compile on the following 32 bit or 64 bit machines: axp64 - Alpha chip, native compiler, running Tru64 or Linux cray-xt - Cray's massively parallel system, running CNL hpux32 - HP PA-RISC chips (old models only), running HP-UX hpux64 - HP Intel or PA-RISC chips, running HP-UX ibm32 - IBM (old models only), running AIX ibm64 - IBM, Power3 chip or newer, running AIX or Linux ibm64-sp - IBM SP parallel system, running AIX ibm-bg - IBM Blue Gene (P or L model), these are 32 bit systems linux32 - Linux (any 32 bit distribution), for x86 (old systems only) linux64 - Linux (any 64 bit distribution), for x86_64 or ia64 chips AMD/Intel chip Linux machines are sold by many companies mac32 - Apple Mac, any chip, running OS X 10.4 or older mac64 - Apple Mac, any chip, running OS X 10.5 or newer sgi32 - Silicon Graphics Inc., MIPS chip only, running Irix sgi64 - Silicon Graphics Inc., MIPS chip only, running Irix sun32 - Sun ultraSPARC chips (old models only), running Solaris sun64 - Sun ultraSPARC or Opteron chips, running Solaris win32 - Windows 32-bit (Windows XP, Vista, 7, Compute Cluster, HPC Edition) win64 - Windows 64-bit (Windows XP, Vista, 7, Compute Cluster, HPC Edition) winazure - Windows Azure Cloud Platform running Windows 64-bit type 'uname -a' to partially clarify your computer's flavor. please enter your target machine name:

We’re doing a linux64 build, so type the following at the prompt:

linux64
Where is the GAMESS software on your system? A typical response might be /u1/mike/gamess, most probably the correct answer is /opt/gamess GAMESS directory? [/opt/gamess]

Who is this mike and where is my folder u1? We’ll get to that in rungms. For now, I’m installing in /opt, so the default directory is fine:

[enter]

Setting up GAMESS compile and link for GMS_TARGET=linux64 GAMESS software is located at GMS_PATH=/opt/gamess Please provide the name of the build locaation. This may be the same location as the GAMESS directory. GAMESS build directory? [/opt/gamess]

Fine as selected.

[enter]

Please provide a version number for the GAMESS executable. This will be used as the middle part of the binary's name, for example: gamess.00.x Version? [00]

Is this important? Maybe, if you plan on building multiple versions of GAMESS-US (you might want a GPU-friendly version, one with a different compiler, one with MPI, etc.). Number as you wish and remember the number when it comes to rungms. That said, the actual linking step seems to really want to produce a 01 version (we’ll get to that). Meantime, default value is fine.

[enter]

Linux offers many choices for FORTRAN compilers, including the GNU compiler set ('g77' in old versions of Linux, or 'gfortran' in current versions), which are included for free in Unix distributions. There are also commercial compilers, namely Intel's 'ifort', Portland Group's 'pgfortran', and Pathscale's 'pathf90'. The last two are not common, and aren't as well tested as the others. type 'rpm -aq | grep gcc' to check on all GNU compilers, including gcc type 'which gfortran' to look for GNU's gfortran (a very good choice), type 'which g77' to look for GNU's g77, type 'which ifort' to look for Intel's compiler, type 'which pgfortran' to look for Portland Group's compiler, type 'which pathf90' to look for Pathscale's compiler. Please enter your choice of FORTRAN:

We’re using gfortran (currently 4.4.3):

gfortran

gfortran is very robust, so this is a wise choice. Please type 'gfortran -dumpversion' or else 'gfortran -v' to detect the version number of your gfortran. This reply should be a string with at least two decimal points, such as 4.1.2 or 4.6.1, or maybe even 4.4.2-12. The reply may be labeled as a 'gcc' version, but it is really your gfortran version. Please enter only the first decimal place, such as 4.1 or 4.6:
4.4

Alas, your version of gfortran does not support REAL*16, so relativistic integrals cannot use quadruple precision. Other than this, everything will work properly. hit to continue to the math library setup.

If this was my biggest concern I’d be a happy quantum chemist. Obviously you can try to install other flavors of gfortran and, possibly, by the time you need the procedure I’m following, a newer version of gfortran will be apt-gotten.

[enter]

Linux distributions do not include a standard math library. There are several reasonable add-on library choices, MKL from Intel for 32 or 64 bit Linux (very fast) ACML from AMD for 32 or 64 bit Linux (free) ATLAS from www.rpmfind.net for 32 or 64 bit Linux (free) and one very unreasonable option, namely 'none', which will use some slow FORTRAN routines supplied with GAMESS. Choosing 'none' will run MP2 jobs 2x slower, or CCSD(T) jobs 5x slower. Some typical places (but not the only ones) to find math libraries are Type 'ls /opt/intel/mkl' to look for MKL Type 'ls /opt/intel/Compiler/mkl' to look for MKL Type 'ls /opt/intel/composerxe/mkl' to look for MKL Type 'ls -d /opt/acml*' to look for ACML Type 'ls -d /usr/local/acml*' to look for ACML Type 'ls /usr/lib64/atlas' to look for Atlas Enter your choice of 'mkl' or 'atlas' or 'acml' or 'none':
atlas

Where is your Atlas math library installed? A likely place is /usr/lib64/atlas Please enter the Atlas subdirectory on your system:

Our location is, in fact, /usr/lib64/atlas, so we type it in accordingly.

NOTE: If you don’t type anything but [enter] below, the script closes (/usr/lib64/atlas is listed as the expected location, but it is not defaulted by the script. You need to type it in.

/usr/lib64/atlas
 
The linking step in GAMESS assumes that a softlink exists within the system's /usr/lib64/atlas from libatlas.so to a specific file like libatlas.so.3.0 from libf77blas.so to a specific file like libf77blas.so.3.0 config can carry on for the moment, but the 'root' user should chdir /usr/lib64/atlas ln -s libf77blas.so.3.0 libf77blas.so ln -s libatlas.so.3.0 libatlas.so prior to the linking of GAMESS to a binary executable. Math library 'atlas' will be taken from /usr/lib64/atlas please hit to compile the GAMESS source code activator

The symbolic linking was performed before the GAMESS steps.

[enter]

gfortran -o /home/username/gamess/tools/actvte.x actvte.f unset echo Source code activator was successfully compiled. please hit to set up your network for Linux clusters.
[enter]

If you have a slow network, like Gigabit Ethernet (GE), or if you have so few nodes you won't run extensively in parallel, or if you have no MPI library installed, or if you want a fail-safe compile/link and easy execution, choose 'sockets' to use good old reliable standard TCP/IP networking. If you have an expensive but fast network like Infiniband (IB), and if you have an MPI library correctly installed, choose 'mpi'. communication library ('sockets' or 'mpi')?

Again, I’m not building an mpi-friendly version, so am using sockets.

sockets

64 bit Linux builds can attach a special LIBCCHEM code for fast MP2 and CCSD(T) runs. The LIBCCHEM code can utilize nVIDIA GPUs, through the CUDA libraries, if GPUs are available. Usage of LIBCCHEM requires installation of HDF5 I/O software as well. GAMESS+LIBCCHEM binaries are unable to run most of GAMESS computations, and are a bit harder to create due to the additional CUDA/HDF5 software. Therefore, the first time you run 'config', the best answer is 'no'! If you decide to try LIBCCHEM later, just run this 'config' again. Do you want to try LIBCCHEM? (yes/no):
no

Your configuration for GAMESS compilation is now in /home/username/gamess/install.info Now, please follow the directions in /home/username/gamess/machines/readme.unix username@machinename:~/gamess$

At this stage, you’re ready to build ddikick.x and continue with the compiling.

4. Build ddikick.x

username@machinename:/opt/gamess$ cd ddi
username@machinename:/opt/gamess/ddi$ sudo ./compddi >& compddi.log &

Will dump output into compddi.log (which will now work with the correct permissions).

username@machinename:/opt/gamess/ddi$ sudo mv ddikick.x ..
username@machinename:/opt/gamess/ddi$ cd ..
username@machinename:/opt/gamess$ sudo ./compall >& compall.log &

Feel free to follow along as compall.log dumps results. You’re also welcome to follow the readme.unix advice:

This takes a while, so go for coffee, or check the SF Giants web page.

Upon completion, the last step is to link the executable.

Now, it used to be the case that you specified the version number in the lked step. So, if you wanted to stick with the 00 version from the config file, you’d type

username@machinename:/opt/gamess$ sudo ./lked gamess 00 >& lked.log &

When you do that at present, you get

[1] 7626 username@machinename:/opt/gamess$ [1]+ Stopped sudo ./lked gamess 00 &>lked.log

This then leads you to use the lked call from the readme.unix file.

username@machinename:/opt/gamess$ sudo ./lked gamess 01 >& lked.log &

Which then produces lked.log and gamess.01.x.

Now, if you run with 00 again, you get a successful linking of gamess.00.x . Not sure why this happens, but the version number isn’t important so long as you specify the right one when you use rungms (so I’ve not diagnosed it further).

At this point, you have a gamess.00.x and/or gamess.01.x executable in your /opt/gamess folder:

30828747 2014-04-04 22:41 gamess.01.x

I’m going to ignore the 00 issue out of the config file and use the gamess.01.x executable.

We’re ready to run calculations and work through the next set of errors you’ll receive if you don’t properly modify files.

5. PATH Setting

First, we copy rungms to our home folder, then add /opt/gamess to the PATH:

username@machinename:/opt/gamess$ cp rungms ~/
username@machinename:/opt/gamess$ cd ~/
username@machinename:~$ nano .bashrc

Add the following to the bottom of .bashrc (or extend your PATH)

PATH=$PATH:/opt/gamess

Quit nano and source.

username@machinename:~$ source .bashrc
[OPTIONAL] username@machinename:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:.../opt/gamess:

6. rungms (Probably Why You’re Here)

If you just go blindly into a run, you’ll get the following error:

username@machinename:~$ ./rungms test.inp

----- GAMESS execution script 'rungms' ----- This job is running on host machinename under operating system Linux at Fri Apr 4 22:47:55 EDT 2014 Available scratch disk space (Kbyte units) at beginning of the job is df: `/scr/username': No such file or directory df: no file systems processed GAMESS temporary binary files will be written to /scr/username GAMESS supplementary output files will be written to /home/username/scr Copying input file test.inp to your run's scratch directory... cp test.inp /scr/username/test.F05 cp: cannot create regular file `/scr/username/test.F05': No such file or directory unset echo /u1/mike/gamess/gms-files.csh: No such file or directory.

As is obvious, rungms needs some modifying.

username@machinename:~$ nano rungms

Scroll down until you see the following:

set TARGET=sockets set SCR=/scr/$USER set USERSCR=~$USER/scr set GMSPATH=/u1/mike/gamess

Given that it’s just me on the machine, I tend to simplify this by making SCR and USERSCR the same directory, and I make them both /tmp. If you intend on keeping all of the files, you’ll need to make rungms specific for each run case. My only concerns are .dat and .log, so /tmp dumping is fine. Furthermore, we must change GMSPATH from how the ever-helpful Mike Schmidt (he got me through some early issues when I started my GAMESS-US adventure 15ish years ago. Won’t complain about his continued default-ed presence in the scripts) has it set up at Iowa to how we want it on our own machines (in my case, /opt/gamess)

set TARGET=sockets set SCR=/tmp set USERSCR=/tmp set GMSPATH=/opt/gamess

With these modifications, your next run will be a bit more successful:

username@machinename:~$ ./rungms test.inp

----- GAMESS execution script 'rungms' ----- This job is running on host machinename under operating system Linux at Fri Apr 4 22:51:35 EDT 2014 Available scratch disk space (Kbyte units) at beginning of the job is Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 1905222596 249225412 1559217460 14% / GAMESS temporary binary files will be written to /tmp GAMESS supplementary output files will be written to /tmp Copying input file test.inp to your run's scratch directory... cp test.inp /tmp/test.F05 unset echo /opt/gamess/ddikick.x /opt/gamess/gamess.00.x test -ddi 1 1 machinename -scr /tmp Distributed Data Interface kickoff program. Initiating 1 compute processes on 1 nodes to run the following command: /opt/gamess/gamess.00.x test ****************************************************** * GAMESS VERSION = 1 MAY 2013 (R1) * * FROM IOWA STATE UNIVERSITY * * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, * * M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA, * * K.A.NGUYEN, S.J.SU, T.L.WINDUS, * * TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY * * J.COMPUT.CHEM. 14, 1347-1363(1993) * **************** 64 BIT LINUX VERSION **************** ... INPUT CARD> DDI Process 0: shmget returned an error. Error EINVAL: Attempting to create 160525768 bytes of shared memory. Check system limits on the size of SysV shared memory segments. The file ~/gamess/ddi/readme.ddi contains information on how to display the current SystemV memory settings, and how to increase their sizes. Increasing the setting requires the root password, and usually a sytem reboot. DDI Process 0: error code 911 ddikick.x: application process 0 quit unexpectedly. ddikick.x: Fatal error detected. The error is most likely to be in the application, so check for input errors, disk space, memory needs, application bugs, etc. ddikick.x will now clean up all processes, and exit... ddikick.x: Sending kill signal to DDI processes. ddikick.x: Execution terminated due to error(s). unset echo ----- accounting info ----- Files used on the master node machinename were: -rw-r--r-- 1 username username 0 2014-04-04 22:51 /tmp/test.dat -rw-r--r-- 1 username username 1341 2014-04-04 22:51 /tmp/test.F05 ls: No match. ls: No match. ls: No match. Fri Apr 4 22:51:36 EDT 2014 0.0u 0.0s 0:01.08 9.2% 0+0k 0+8io 0pf+0w

Things worked, but with a memory error. This issue is discussed at the Baldridge Group wiki: ocikbapps.uzh.ch/kbwiki/gamess_troubleshooting.html

From the wiki:

If you are sure you are not asking for too much memory in the input file, check that your kernel parameters are not allowing enough memory to be requested. You might have to increase the SHMALL & SHMAX kernel memory values to allow GAMESS to run. (See http://www.pythian.com/news/245/the-mysterious-world-of-shmmax-and-shmall/ for a better explanation.)
For example, on a machine with 4GB of memory, you might add these to /etc/sysctl.conf:
# cat /etc/sysctl.conf | grep shm
kernel.shmmax = 3064372224
kernel.shmall = 748137
Then set the new settings like so:
# sysctl -p
Since they are in /etc/sysctl.conf, they will automatically be set each time the system is booted.

In our case, we modify sysctl.conf with the recommendations from the wiki:

username@machinename:~$ sudo nano /etc/sysctl.conf

Add the following to the bottom of the file:

kernel.shmmax = 3064372224 kernel.shmall = 748137

Save and exit.

username@machinename:~$ sudo sysctl -p

net.ipv4.ip_forward = 1 kernel.shmmax = 3064372224 kernel.shmall = 748137

These memory values will change depending on your system.

Now we empty the /tmp and rerun.

username@machinename:~$ rm /tmp/*
username@machinename:~$ ./rungms test.inp

If your input file is worth it’s salt, you’ll have successfully run your file on a single processor (single core, that is). If you run into additional memory errors, increase kernel.shmmax and kernel.shmall.

Now, onto the SMP part. My first attempt to run games in parallel (on 4 cores using version 00) produced the following error:

username@machinename:~$ rm /tmp/*
username@machinename:~$ ./rungms test.inp 00 4

----- GAMESS execution script 'rungms' ----- This job is running on host machinename under operating system Linux at Fri Apr 4 22:52:52 EDT 2014 Available scratch disk space (Kbyte units) at beginning of the job is Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 1905222596 249225416 1559217456 14% / GAMESS temporary binary files will be written to /tmp GAMESS supplementary output files will be written to /tmp Copying input file test.inp to your run's scratch directory... cp test.inp /tmp/test.F05 unset echo I do not know how to run this node in parallel.

I tried a number of stupid things to get the run to work, finally settling on modifying the rungms file properly. To make gamess know how to run the node in parallel, we need only make the following changes to our rungms file.

username@machinename:~$ nano rungms

Scroll down until you find the section below:

# 2. This is an example of how to run on a multi-core SMP enclosure, # where all CPUs (aka COREs) are inside a -single- NODE. # At other locations, you may wish to consider some of the examples # that follow below, after commenting out this ISU specific part. if ($NCPUS > 1) then switch (`hostname`) case se.msg.chem.iastate.edu: case sb.msg.chem.iastate.edu: if ($NCPUS > 2) set NCPUS=4 set NNODES=1

The change is simple. We remove the cases for $NCPUS > 1 in the file and add the hostname of our linux box (and if you don’t know this or it’s not in your prompt, simply type hostname at the prompt first). We’ll disable the two cases listed and add our hostname to the case list.

# 2. This is an example of how to run on a multi-core SMP enclosure, # where all CPUs (aka COREs) are inside a -single- NODE. # At other locations, you may wish to consider some of the examples # that follow below, after commenting out this ISU specific part. if ($NCPUS > 1) then switch (`hostname`) case machinename: # case se.msg.chem.iastate.edu: # case sb.msg.chem.iastate.edu: if ($NCPUS > 2) set NCPUS=4 set NNODES=1

This gives you parallel functionality, but it’s still not using the machine resources (cores) correctly when I ask for anything more than 2 cores (always using only 2 cores).

[minor complaint]
Admittedly, I don’t immediately get the logic of this section as currently coded, as one cannot get more than 2 cores to work in this case given how the if statements are written (so far as I can see now. I will assume I am the one missing something but have not decided to ask about it, instead changing the rungms text to the following). You can check this yourself by running top in another window. This is the most simple modification, and assumes you want to run N number of cores each time. Clearly, you can make this more elegant than it is (my modification, that is). Meantime, I want to run 4 cores on this machine, so I change the section to reflect a 4-core board (and commented out much of this section).
[/complaint]

# 2. This is an example of how to run on a multi-core SMP enclosure, # where all CPUs (aka COREs) are inside a -single- NODE. # At other locations, you may wish to consider some of the examples # that follow below, after commenting out this ISU specific part. if ($NCPUS > 1) then switch (`hostname`) case machinename # case se.msg.chem.iastate.edu: # case sb.msg.chem.iastate.edu: # if ($NCPUS > 2) set NCPUS=2 # set NNODES=1 # set HOSTLIST=(`hostname`:cpus=$NCPUS) # breaksw # case machinename # case br.msg.chem.iastate.edu: if ($NCPUS >= 4) set NCPUS=4 set NNODES=1 set HOSTLIST=(`hostname`:cpus=$NCPUS) breaksw case machinename # case cd.msg.chem.iastate.edu: # case zn.msg.chem.iastate.edu: # case ni.msg.chem.iastate.edu: # case co.msg.chem.iastate.edu: # case pb.msg.chem.iastate.edu: # case bi.msg.chem.iastate.edu: # case po.msg.chem.iastate.edu: # case at.msg.chem.iastate.edu: # case sc.msg.chem.iastate.edu: # if ($NCPUS > 4) set NCPUS=4 # set NNODES=1 # set HOSTLIST=(`hostname`:cpus=$NCPUS) # breaksw # case ga.msg.chem.iastate.edu: # case ge.msg.chem.iastate.edu: # case gd.msg.chem.iastate.edu: # if ($NCPUS > 6) set NCPUS=6 # set NNODES=1 # set HOSTLIST=(`hostname`:cpus=$NCPUS) # breaksw default: echo I do not know how to run this node in parallel. exit 20 endsw endif #

And, with this set of changes, I’m using all 4 cores on the board (but have some significant memory issues when running MP2 calks. But that’s for another post).

The typical user will never be able to do what the GAMESS group has done in making an excellent program that also happens to be free. That said, the need to make changes to the rungms file is something that would be greatly simplified by having N number of rungms scripts for each case instead of a monolithic file that is mostly useless text to users not using one of the system types. This, for instance, would make rungms modification much easier. If I streamline rungms for my specific system, I may post a new file accordingly.

Experimental And Theoretical Studies Of Tetramethoxy-p-benzoquinone: Infrared Spectra, Structural And Lithium Insertion Properties

Friday, December 20th, 2013

Published earlier this year in RSC Advances (RSC Adv., 2013, 3, 19081-19096), a follow-up (for my part) to the study The Low-/Room-temperature Forms Of The Lithiated Salt Of 3,6-dihydroxy-2,5-dimethoxy-p-benzoquinone: A Combined Experimental And Dispersion-Corrected Density Functional Study in CrystEngComm last year. The theoretical section for this paper is a tour-de-force of Crystal09 solid-state optimizations, density functional and dispersion-correction dependence, and post-processing using Carlo Gotti’s TOPOND software. In brief, the combination of vibrational spectra, electochemical measurements, and solid-state density functional theory tests are used to predict the structure of the previously unknown lithiated tetramethoxy-p-benzoquinone structure based on the good-to-excellent agreement with two known TMQ crystal structures (the testing of density functionals and dispersion corrections being a very good survey of the pros and cons of the varied methods. If you were pondering an approach to follow to perform the same kind of theoretical analysis, the procedure set up by Gaëtan and Christine in this paper is fully worth your consideration).

2013dec20_rscadvances

Gaëtan Bonnard, Anne-Lise Barrès, Yann Danten, Damian G. Allis, Olivier Mentré, Daniele Tomerini, Carlo Gatti, Ekaterina I. Izgorodina, Philippe Poizot and Christine Frayret*

In the search for low-polluting electrode materials for batteries, the use of redox-active organic compounds represents a promising alternative to conventional metal-based systems. In this article we report a combined experimental and theoretical study of tetramethoxy-p-benzoquinone (TMQ). In carbonate-based electrolytes, electrochemical behaviour of this compound is characterized by a reversible insertion process located at approximately 2.85 V vs. Li+/Li0. This relatively high potential reactivity, coupled with our effort to develop computational methodologies in the field of organic electrode materials, prompted us to complement these experimental data with theoretical studies performed using density functional theory (DFT). Single crystals of TMQ were synthesized and thoroughly characterized showing that this quinonic species crystallised in the P21/n space group. The experimental crystal structure of TMQ was then used to assess various DFT methods. The structural features and vibrational spectra were thus predicted by using as a whole five common density functionals (PBE, LDA, revPBE, PBEsol, B3PW91) with and without a semi-empirical correction to account for the van der Waals interactions using either Grimme’s (DFT-D2) or Tkatchenko–Scheffler (TS) scheme. The most reliable combination of the DFT functional and the explicit dispersion correction was chosen to study the Li-intercalated molecular crystal (LiTMQ) with the view of indentifying Li insertion sites. A very close agreement with the experiment was found for the average voltage by using the most stable relaxed hypothetical LiTMQ structure. Additionally, a comparison of vibrational spectra gained either for TMQ molecule and its dimer in gas phase or through periodic calculation was undertaken with respect to the experimentally measured infrared spectra. The topological features of the bonds were also investigated in conjunction with estimates of net atomic charges to gain insight into the effect of chemical bonding and intermolecular interaction on Li intercalation. Finally, π-electron delocalization of both quinone and alkali salts of p-semiquinone were determined using the Harmonic Oscillator model of Aromaticity (HOMA) or aromatic fluctuation index (FLU) calculations.

Commensurate Urea Inclusion Crystals With The Guest (E,E)‐1,4-Diiodo-1,3-Butadiene

Friday, December 20th, 2013

Published in Crystal Growth & Design (Cryst. Growth Des., 2013, 13 (9), pp. 3852–3855) earlier this year. The theory work is less impressive than the successful crystal growth, with initial solid-state efforts in Crystal09 only very recently now producing good results (leaving the molecular calculations to Gaussian09 in this paper). The procedure leading to the observed crystal structure of this inclusion complex is a significant step in the direction of testing the theory proposed in Bond Alternation In Infinite Periodic Polyacetylene: Dynamical Treatment Of The Anharmonic Potential published earlier this year in J. Mol. Struct.

2013dec20_DIBD_UIC

Caption: Two views along the ba and ca crystal axes of the (E,E)‐1,4-Diiodo-1,3-Butadiene : Urea Inclusion Complex.

Amanda F. Lashua, Tiffany M. Smith, Hegui Hu, Lihui Wei, Damian G. Allis, Michael B. Sponsler, and Bruce S. Hudson

Abstract: The urea inclusion compound (UIC) with (E,E)-1,4-diiodo-1,3-butadiene (DIBD) as a guest (DIBD:UIC) has been prepared and crystallographically characterized at 90 and 298 K as a rare example of a commensurate, fully ordered UIC. The crystal shows nearly hexagonal channels in the monoclinic space group P21/n. The DIBD guest molecules are arranged end-to-end with the nonbonding iodine atoms in the van der Waals contact. The guest structure is compared with that for DIBD at 90 K and with computations for the periodic UIC and isolated DIBD molecule.

Isotopically-Labeled Solid-State Vibrational Mode Energies And Intensities In Crystal09 – A Simple How-To

Wednesday, November 21st, 2012

The generation of isotopically-substituted molecular crystal spectra has become a point of interest, which means blog post. To be clear, this is for cases where isotopic substitution does not affect the crystal geometry – the crystal cell does not change significantly upon deuteration (and for those who believe isotopic substitution never leads to significant changes in the solid, I refer you Zhou, Kye, and Harbison’s article on Isotopomeric Polymprphism and their work on 4-methylpyridine pentachlorophenol, which changes dramatically upon deuteration. I beat on this point because blindly assuming of the crystal cell geometry in such cases will produce spectra noticeably different than measured. It’s NOT the calculation’s fault!).

The generation of isotopically-substituted spectra and intensities in Crystal09 is trivial provided that you KEEP THE FREQINFO.DAT FILE. In fact, you need keep ONLY the FREQINFO.DAT to generate these spectra, which greatly reduces file transfer loads and allows for the scripted calculation of new vibrational spectra and thermodynamic data post-frequency calculation.

As my example system, I’m using the dispersion-corrected crystal cell of alpha-HMX (I have it handy, it’s a small system, and having anything about HMX on your website is proven to increase traffic) at the B3LYP/6-31G(d,p) level of theory. Original input file (the one where the original normal mode analysis is performed) is below:

Test - alpha-HMX 6-31Gdp set DFT/B3LYP FREQ
CRYSTAL
0 0 0
43
15.14 23.89 5.913 124.3
14
6      1.016493675797E-01 -4.109909899348E-02 -3.351438244488E-03
6     -6.539109813231E-02 -6.180633576707E-02 -1.110575784790E-02
1      9.149797846691E-02 -4.382919469310E-02 -1.860042940246E-01
1      1.558888705857E-01 -6.829708099502E-02  4.595161229829E-02
1     -5.138242817334E-02 -5.844587273099E-02 -1.920922064181E-01
1     -9.781600273101E-02 -1.015710562102E-01  2.063738273292E-02
7      1.992579327285E-02 -5.951921578598E-02  1.040704228546E-01
7      1.232154652110E-01  1.634305404407E-02  5.951841980010E-02
7      2.220759010770E-02 -7.142100857312E-02  3.299259852838E-01
7      2.054067942916E-01  2.817244373261E-02  1.473285310628E-01
8     -4.761487685316E-02 -8.656669456613E-02  4.192568497756E-01
8      9.327421157186E-02 -6.479426971916E-02  4.286363161888E-01
8      2.563441491059E-01 -1.128705054032E-02  1.760581823035E-01
8      2.225071782791E-01  7.736574474011E-02  1.903699942346E-01
FREQCALC
INTENS
END
END
8 4
0 0 6 2.0 1.0
 5484.671700         0.1831100000E-02
 825.2349500         0.1395010000E-01
 188.0469600         0.6844510000E-01
 52.96450000         0.2327143000    
 16.89757000         0.4701930000    
 5.799635300         0.3585209000  
0 1 3 6.0 1.0
 15.53961600        -0.1107775000         0.7087430000E-01
 3.599933600        -0.1480263000         0.3397528000    
 1.013761800          1.130767000         0.7271586000    
0 1 1 0.0 1.0
 0.2700058000          1.000000000          1.000000000
0 3 1 0.0 1.0
 0.800000000          1.00000000    
7 4
0 0 6 2.0 1.0
       4173.51100         0.183480000E-02
       627.457900         0.139950000E-01
       142.902100         0.685870000E-01
       40.2343300         0.232241000    
       12.8202100         0.469070000    
       4.39043700         0.360455000    
0 1 3 5.0 1.0
       11.6263580        -0.114961000         0.675800000E-01
       2.71628000        -0.169118000         0.323907000    
      0.772218000          1.14585200         0.740895000    
0 1 1 0.0 1.0
      0.212031300          1.00000000          1.00000000    
0 3 1 0.0 1.0
 0.800000000          1.00000000    
6 4
0 0 6 2.0 1.0
    .3047524880D+04   .1834737130D-02
    .4573695180D+03   .1403732280D-01
    .1039486850D+03   .6884262220D-01
    .2921015530D+02   .2321844430D+00
    .9286662960D+01   .4679413480D+00
    .3163926960D+01   .3623119850D+00
0 1 3 4.0 1.0
    .7868272350D+01  -.1193324200D+00   .6899906660D-01
    .1881288540D+01  -.1608541520D+00   .3164239610D+00
    .5442492580D+00   .1143456440D+01   .7443082910D+00
0 1 1 0.0 1.0
    .1687144782D+00   .1000000000D+01   .1000000000D+01
0 3 1 0.0 1.0
    .8000000000D+00   .1000000000D+01
1 3
0 0 3 1.0 1.0
    .1873113696D+02   .3349460434D-01
    .2825394365D+01   .2347269535D+00
    .6401216923D+00   .8137573262D+00
0 0 1 0.0 1.0
    .1612777588D+00   .1000000000D+01
0 2 1 0.0 1.0
    .1100000000D+01   .1000000000D+01
99 0
END
DFT
B3LYP
XLGRID
END
EXCHSIZE
10654700
BIPOSIZE
10654700
TOLINTEG
8 8 8 8 16
SCFDIR
MAXCYCLE
100
TOLDEE
11
GRIMME
1.05 20. 25.
4
1 0.14 1.001
6 1.75 1.452 
7 1.23 1.397
8 0.70 1.342
SHRINK
8 8
LEVSHIFT
5 0
FMIXING
50
END
END

Upon completion of this run, you need only the FREQINFO.DAT file, the last set of coordinates from the .OUT file (for atom counting purposes) and an input file which is modified from the original only in the specification of the ISOTOPES section and which includes a RESTART.

Question - how does one deal with isotopically-labeling atoms when it breaks the space group symmetry? If I isotopically label Atom 1 in the asymmetric unit, what happens to the other N symmetry-related atoms?

Answer - Crystal09, in its infinite wisdom, does not consider the asymmetric unit in the isotopic substitution scheme. If you’ve 14 atoms in the asymmetric unit (the symmetry-unique atoms you provide in the input file)…

14
6      1.016493675797E-01 -4.109909899348E-02 -3.351438244488E-03
6     -6.539109813231E-02 -6.180633576707E-02 -1.110575784790E-02
...
8      2.563441491059E-01 -1.128705054032E-02  1.760581823035E-01
8      2.225071782791E-01  7.736574474011E-02  1.903699942346E-01

and 56 atoms in the full unit cell…

ATOMS IN THE ASYMMETRIC UNIT   14 - ATOMS IN THE UNIT CELL:   56
     ATOM              X/A                 Y/B                 Z/C    
 *******************************************************************************
   1 T   6 C    -1.460999048177E-01  1.393970283287E-01  6.390170683069E-02
   2 F   6 C     1.393970283287E-01 -1.460999048177E-01 -5.719883034171E-02
   3 F   6 C     3.071988303417E-01  1.860982931693E-01  1.106029716713E-01
   4 F   6 C     1.860982931693E-01  3.071988303417E-01  3.960999048177E-01
...
  53 T   8 O     4.522856069554E-02  3.355114277736E-01  1.095029287847E-01
  54 F   8 O     3.355114277736E-01  4.522856069554E-02 -4.902429172538E-01
  55 F   8 O    -2.597570827462E-01  1.404970712153E-01 -8.551142777356E-02
  56 F   8 O     1.404970712153E-01 -2.597570827462E-01  2.047714393045E-01

your ISOTOPES section relies on the numbering of the atoms in the “56 atom” list.

The input file below will calculate an isotopically-labeled vibrational spectrum for 8 of the hydrogen atoms that ends up breaking the unit cell symmetry (which will be more obvious from the produced mode energies). Again, the atom numbers come from the “ATOMS IN THE ASYMMETRIC UNIT” part of the original optimization by which you performed the original normal mode analysis (hopefully).

Test - alpha-HMX 6-31Gdp set DFT/B3LYP FREQ - Isotopic Substitution
CRYSTAL
0 0 0
43
15.14 23.89 5.913 124.3
14
6      1.016493675797E-01 -4.109909899348E-02 -3.351438244488E-03
6     -6.539109813231E-02 -6.180633576707E-02 -1.110575784790E-02
1      9.149797846691E-02 -4.382919469310E-02 -1.860042940246E-01
1      1.558888705857E-01 -6.829708099502E-02  4.595161229829E-02
1     -5.138242817334E-02 -5.844587273099E-02 -1.920922064181E-01
1     -9.781600273101E-02 -1.015710562102E-01  2.063738273292E-02
7      1.992579327285E-02 -5.951921578598E-02  1.040704228546E-01
7      1.232154652110E-01  1.634305404407E-02  5.951841980010E-02
7      2.220759010770E-02 -7.142100857312E-02  3.299259852838E-01
7      2.054067942916E-01  2.817244373261E-02  1.473285310628E-01
8     -4.761487685316E-02 -8.656669456613E-02  4.192568497756E-01
8      9.327421157186E-02 -6.479426971916E-02  4.286363161888E-01
8      2.563441491059E-01 -1.128705054032E-02  1.760581823035E-01
8      2.225071782791E-01  7.736574474011E-02  1.903699942346E-01
FREQCALC
RESTART
ISOTOPES
8
9  2
10 2
11 2
13 2
14 2
15 2
16 2
18 2
INTENS
END
END
8 4
0 0 6 2.0 1.0
 5484.671700         0.1831100000E-02
 825.2349500         0.1395010000E-01
 188.0469600         0.6844510000E-01
 52.96450000         0.2327143000    
 16.89757000         0.4701930000    
 5.799635300         0.3585209000  
0 1 3 6.0 1.0
 15.53961600        -0.1107775000         0.7087430000E-01
 3.599933600        -0.1480263000         0.3397528000    
 1.013761800          1.130767000         0.7271586000    
0 1 1 0.0 1.0
 0.2700058000          1.000000000          1.000000000
0 3 1 0.0 1.0
 0.800000000          1.00000000    
7 4
0 0 6 2.0 1.0
       4173.51100         0.183480000E-02
       627.457900         0.139950000E-01
       142.902100         0.685870000E-01
       40.2343300         0.232241000    
       12.8202100         0.469070000    
       4.39043700         0.360455000    
0 1 3 5.0 1.0
       11.6263580        -0.114961000         0.675800000E-01
       2.71628000        -0.169118000         0.323907000    
      0.772218000          1.14585200         0.740895000    
0 1 1 0.0 1.0
      0.212031300          1.00000000          1.00000000    
0 3 1 0.0 1.0
 0.800000000          1.00000000    
6 4
0 0 6 2.0 1.0
    .3047524880D+04   .1834737130D-02
    .4573695180D+03   .1403732280D-01
    .1039486850D+03   .6884262220D-01
    .2921015530D+02   .2321844430D+00
    .9286662960D+01   .4679413480D+00
    .3163926960D+01   .3623119850D+00
0 1 3 4.0 1.0
    .7868272350D+01  -.1193324200D+00   .6899906660D-01
    .1881288540D+01  -.1608541520D+00   .3164239610D+00
    .5442492580D+00   .1143456440D+01   .7443082910D+00
0 1 1 0.0 1.0
    .1687144782D+00   .1000000000D+01   .1000000000D+01
0 3 1 0.0 1.0
    .8000000000D+00   .1000000000D+01
1 3
0 0 3 1.0 1.0
    .1873113696D+02   .3349460434D-01
    .2825394365D+01   .2347269535D+00
    .6401216923D+00   .8137573262D+00
0 0 1 0.0 1.0
    .1612777588D+00   .1000000000D+01
0 2 1 0.0 1.0
    .1100000000D+01   .1000000000D+01
99 0
END
DFT
B3LYP
XLGRID
END
EXCHSIZE
10654700
BIPOSIZE
10654700
TOLINTEG
8 8 8 8 16
SCFDIR
MAXCYCLE
100
TOLDEE
11
GRIMME
1.05 20. 25.
4
1 0.14 1.001
6 1.75 1.452 
7 1.23 1.397
8 0.70 1.342
SHRINK
8 8
LEVSHIFT
5 0
FMIXING
50
END
END

The difference is in the FREQCALC section, which calls RESTART (to use the FREQINFO.DAT file), ISOTOPES (obvious), the total number of atoms that are having their isotopes changed (8), then the list, containing the atom number and the new mass (here, 2 for deuterium).

The proof is in the high-frequency region, where the last 16 modes (H-atom motion) in the non-deuterated form…

 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

    MODES         EIGV          FREQUENCIES     IRREP  IR   INTENS    RAMAN
             (HARTREE**2)   (CM**-1)     (THZ)             (KM/MOL)
...
  153- 153    0.2003E-03   3106.1384   93.1197  (A2 )   I (     0.00)   A
  154- 154    0.2003E-03   3106.5054   93.1307  (B1 )   A (     0.02)   A
  155- 155    0.2004E-03   3106.5586   93.1323  (A1 )   A (     0.23)   A
  156- 156    0.2004E-03   3106.8420   93.1408  (B2 )   A (     0.48)   A
  157- 157    0.2017E-03   3117.1664   93.4503  (B2 )   A (     1.13)   A
  158- 158    0.2018E-03   3117.4901   93.4600  (B1 )   A (     2.33)   A
  159- 159    0.2021E-03   3120.2876   93.5439  (A1 )   A (   115.24)   A
  160- 160    0.2022E-03   3120.7805   93.5586  (A2 )   I (     0.00)   A
  161- 161    0.2131E-03   3203.6552   96.0432  (A1 )   A (    44.59)   A
  162- 162    0.2131E-03   3203.6581   96.0433  (B2 )   A (   115.98)   A
  163- 163    0.2132E-03   3204.6505   96.0730  (B1 )   A (    15.30)   A
  164- 164    0.2132E-03   3204.8874   96.0801  (A2 )   I (     0.00)   A
  165- 165    0.2157E-03   3223.4669   96.6371  (A1 )   A (    44.98)   A
  166- 166    0.2157E-03   3223.5803   96.6405  (B2 )   A (    27.02)   A
  167- 167    0.2158E-03   3223.8536   96.6487  (B1 )   A (    35.26)   A
  168- 168    0.2158E-03   3224.3355   96.6631  (A2 )   I (     0.00)   A

change to the following last 16 modes (H/D-atom motion) upon deuteration. Note the mode energies split and the mode symmetries go from (A1,A2,B1,B2) to (A). Also note your IR mode intensities change, giving you the complete picture upon isotopic substitution.

 HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

    MODES         EIGV          FREQUENCIES     IRREP  IR   INTENS    RAMAN
             (HARTREE**2)   (CM**-1)     (THZ)             (KM/MOL)
...
  153- 153    0.1074E-03   2274.8942   68.1996  (A  )   A (     1.07)   A
  154- 154    0.1075E-03   2275.5949   68.2206  (A  )   A (     3.75)   A
  155- 155    0.1075E-03   2275.7008   68.2238  (A  )   A (     2.93)   A
  156- 156    0.1099E-03   2300.7446   68.9746  (A  )   A (     4.68)   A
  157- 157    0.1148E-03   2351.7846   70.5047  (A  )   A (    11.32)   A
  158- 158    0.1183E-03   2387.0269   71.5613  (A  )   A (    36.17)   A
  159- 159    0.1183E-03   2387.2610   71.5683  (A  )   A (    16.04)   A
  160- 160    0.1184E-03   2387.6687   71.5805  (A  )   A (     3.73)   A
  161- 161    0.2006E-03   3108.6223   93.1942  (A  )   A (     0.93)   A
  162- 162    0.2009E-03   3110.5061   93.2506  (A  )   A (    12.43)   A
  163- 163    0.2009E-03   3110.7567   93.2581  (A  )   A (    13.67)   A
  164- 164    0.2039E-03   3134.0133   93.9554  (A  )   A (    40.48)   A
  165- 165    0.2147E-03   3215.5160   96.3987  (A  )   A (    19.38)   A
  166- 166    0.2157E-03   3223.4291   96.6360  (A  )   A (    35.29)   A
  167- 167    0.2157E-03   3223.5925   96.6409  (A  )   A (    29.50)   A
  168- 168    0.2158E-03   3223.8729   96.6493  (A  )   A (     8.37)   A

The Low-/Room-temperature Forms Of The Lithiated Salt Of 3,6-dihydroxy-2,5-dimethoxy-p-benzoquinone: A Combined Experimental And Dispersion-Corrected Density Functional Study

Wednesday, November 21st, 2012

In press, in CrystEngComm (DOI:10.1039/C2CE26523). This is my first full paper completely internet-powered, in that I’ve not physically met any of the other co-authors (also in the internet-powered context, the recent paper on [18]-annulene was written and submitted without sharing a room with Dr. Bruce Hudson, but we’re in the same building, so it doesn’t quite count). Also, one of the few papers for which I had no image generation duties (a rare treat).

The discussion of the very interesting possibilities of molecular redox materials in lithium-ion batteries aside, this paper presents a very thorough example of the power of computational approaches to greatly improve the understanding of solid-state molecular materials by (specifically) 1: overcoming the hydrogen position identification problems inherent in X-ray diffraction methods, 2: reproducing the changes that come with temperature variations in molecular crystals and explaining the origins of those (possibly subtle) changes by way of dispersion-corrected density functional theory, and 3: demonstrating that the nature of intermolecular interactions (specifically hydrogen bonding) can be rigorously cataloged across varied materials using post-optimization tools (in this case, using Carlo Gatti’s excellent TOPOND program).

2013dec20_crysengcommcover

Caption: Issue cover.

Gaëtan Bonnard, Anne-Lise Barrès, Olivier Mentré, Damian G. Allis, Carlo Gatti, Philippe Poizot and Christine Frayret*

Abstract

Following our first experimental and computational study of the room temperature (RT) form of the tetrahydrated 3,6-dihydroxy-2,5-dimethoxy-p-benzoquinone (LiM2DHDMQ⋅4H2O) compound, we have researched the occurrence of hydrogen ordering in a new polymorph at lower temperature. The study of polymorphism for the Li2DHDMQ⋅4H2O phase employs both experimental (single crystal X-ray diffraction) and theoretical approaches. While clues for disorder over one bridging water molecule were observed at RT (beta-form),a fully ordered model within a supercell has been evidenced at 100K (alpha-form) and is discussed in conjunction with the features characterizing the first polymorphic form reported previously. Density functional theory (DFT) calculations augmented with an empirical dispersion correction (DFT-D) were applied for the prediction of the structural and chemical bonding properties of the alpha and beta polymorphs of Li2DHDMQ·4H2O. The relative stability of the two polymorphic systems is evidenced. An insight into the interplay of hydrogen bonding, electrostatic and van der Waals (vdW) interactions in affecting the properties of the two polymorphs is gained. This study also shows how information from DFT-D calculations can be used to augment the information from the experimental crystal diffraction pattern and can so play an active role in crystal structure determination, especially by increasing the reliability and accuracy of H-positioning. These more accurate hydrogen coordinates allowed for a quantification of H-bonding strength through a topological analysis of the electron density (Atoms-in-molecules theory).

Obligatory

  • CNYO

  • Sol. Sys. Amb.

  • Salt City Miners

  • Ubuntu 4 Nano

  • NMT Review

  • N-Fact. Collab.

  • T R P Nanosys

  • Nano Gallery

  • nano gallery
  • Aerial Photos

    More @ flickr.com

    Syracuse Scenes

    More @ flickr.com