rotational: There is no external rotation in periodic systems.

26 views
Skip to first unread message

Xenhua Zhang

unread,
Jul 9, 2019, 5:25:49 AM7/9/19
to tam...@googlegroups.com
Dear Toon,

I am trying to calculate the thermodynamic quantities of a gas phase molecule which has been optimized in the VASP software (in a large box).  The following is the script I am using:
-----------------------------------------------------------------------------------------
from tamkin import *
from molmod import *

molecule = load_molecule_vasp("CONTCAR", "OUTCAR")
# normal mode analysis
nma = NMA(molecule)#, ConstrainExt())
# Construct a partition function object with the typical gas phase contributions.
pf = PartFun(nma, [ExtTrans(), ExtRot()])

# Write some general information about the molecule
# and the partition function to a file.
pf.write_to_file("partfun.txt")
print pf.free_energy(973.15)/(kjmol)

# Write an extensive overview of the thermodynamic properties to a file:
ta = ThermoAnalysis(pf, [673.15,723.15,773.15,823.15,873.15,923.15,973.15,1023.15,1073.15,1123.15,1173.15])
ta.write_to_file("thermo.csv")
--------------------------------------------------------------------------------------------------
The following is the error I am encountering.

--------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "Tamkin_script_final.py", line 9, in <module>
    pf = PartFun(nma, [ExtTrans(), ExtRot()])
  File "/home/xenhua/anaconda3/envs/py27/lib/python2.7/site-packages/tamkin/partf.py", line 1353, in __init__
    term.init_part_fun(nma, self)
  File "/home/xenhua/anaconda3/envs/py27/lib/python2.7/site-packages/tamkin/partf.py", line 1006, in init_part_fun
    raise ValueError("There is no external rotation in periodic systems.")
ValueError: rotational: There is no external rotation in periodic systems.
---------------------------------------------------------------------------------------------------

Could you please help me to solve this error. Thank you so much.

Best regards
Xenhua Zhang

Toon Verstraelen

unread,
Jul 9, 2019, 8:15:50 AM7/9/19
to tam...@googlegroups.com
Dear Xenhau,

I suppose your system has periodic boundary conditions. In that case, you can remove ExtRot() when creating the partition function.

Best regards,

Toon

--
You received this message because you are subscribed to the Google Groups "TAMkin" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tamkin+un...@googlegroups.com.
To post to this group, send email to tam...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tamkin/CADzbQDBOdA61BhpmOmDh6rG9Ezg1Z86AxxDbn88q-f%3Dwk7A%3DcQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


--
Prof. Dr. ir. Toon Verstraelen
Center for Molecular Modeling
Technologiepark-Zwijnaarde 46 (before Jan 1, 2019, this was building 903)
Ghent University
Tech Lane Ghent Science Park Campus A
9052 Zwijnaarde
Belgium
E-mail: Toon.Ver...@UGent.be


Xenhua Zhang

unread,
Jul 9, 2019, 8:34:52 AM7/9/19
to tam...@googlegroups.com
Dear Toon,

My system is a gas-phase CO molecule. The way CO gas is calculated in VASP is to put it in a large box of vacuum (analogous to gas-phase).

If  I remove ExtRot() in partition function, I believe rotational contributions will not be accounted for in the resulting partition functions. I would like the thermodynamical properties to have all translational, rotational and vibrational contributions.

Best regards,
Xenhua Zhang


Toon Verstraelen

unread,
Jul 9, 2019, 8:46:12 AM7/9/19
to tam...@googlegroups.com
Dear Xenhau,

In that case, you have to override the periodicity flag after loading the data. This is not very convenient at the moment in TAMkin. It can be done as follows:

molecule = load_molecule_vasp("CONTCAR", "OUTCAR").copy_with(periodic=False)

Best regards,

Toon



For more options, visit https://groups.google.com/d/optout.

Minhaj Ghouri

unread,
Jul 9, 2019, 8:55:56 AM7/9/19
to tam...@googlegroups.com
Dear Toon,

Thank you. That worked!

But  now, when I use the same script  for just  "C' atom, I get the following error:
-------------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "Tamkin_script_final.py", line 9, in <module>
    pf = PartFun(nma, [ExtTrans(), ExtRot()])#symmetry_number=None)])

  File "/home/xenhua/anaconda3/envs/py27/lib/python2.7/site-packages/tamkin/partf.py", line 1353, in __init__
    term.init_part_fun(nma, self)
  File "/home/xenhua/anaconda3/envs/py27/lib/python2.7/site-packages/tamkin/partf.py", line 1016, in init_part_fun
    self.symmetry_number = tmp_mol.compute_rotsym()
  File "/home/xenhua/anaconda3/envs/py27/lib/python2.7/site-packages/molmod/molecules.py", line 292, in compute_rotsym
    raise ValueError("The rotational symmetry number can only be computed when the graph is fully connected.")
ValueError: rotational: The rotational symmetry number can only be computed when the graph is fully connected.

---------------------------------------------------------------------------------------------------------

Best regards,
Xenhua

Toon Verstraelen

unread,
Jul 9, 2019, 9:21:27 AM7/9/19
to tam...@googlegroups.com
Dear Xenhau,

For an isolated atom, you can drop the rotational partition function. (The moments of inertia due to the finite extent of the nucleus and the electron cloud is usually ignored.)

Best regards,

Toon


For more options, visit https://groups.google.com/d/optout.

Xenhua Zhang

unread,
Jul 9, 2019, 9:26:49 AM7/9/19
to tam...@googlegroups.com
Dear Toon,

Thank you so much for your assistance. It was very helpful.

Best regards,
Xenhua Zhang

Reply all
Reply to author
Forward
0 new messages