[MMTK] Orthogonality of normal modes

ra.biehl ra.biehl at fz-juelich.de
Thu Apr 12 14:08:27 UTC 2012

i try to explain

modes[i] are not the orthogonal modes weighted by mass_i as the result of solving the eigenequation.
These are the unscaled  vectors in real space as a displacement, which are not orthogonal.

m1n.dotProduct(m1n)=1 is because of the scaledToNorm
m1n.dotProduct(m2n)!= 0 because they are not orthogonal as it should
......and so on

To get the eigenvectors of the eigenequation use this

and you will get

help modessub[7]

and read the Note on line 9

Viele Grüsse
and best wishes

Ralf Biehl


Dr. Ralf Biehl
Jülich Centre for Neutron Science (JCNS-1) &
Institute for Complex Systems (ICS-1)
Forschungszentrum Jülich
52425 Jülich

Tel.:   +49-(0)2461-61-4685
Fax:    +49-(0)2461-61-2610
Email:  ra.biehl at fz-juelich.de<mailto:ra.biehl at fz-juelich.de>
Web:    http://www.fz-juelich.de/iff/d_ins

On 12.04.2012 13:13, Ramon Crehuet wrote:
I have performed a normal mode calculation (Calpha) and I am not sure I understand how to scale the modes so that they are orthonormalized. Here is what I did. I highlight the results I do not understand:

In [142]: m1 = modes[6]

In [143]: m2 = modes[7]

In [144]: m1n = m1.scaledToNorm(1.0)

In [145]: m2n = m2.scaledToNorm(1.0)

In [146]: m1n.dotProduct(m1n)
Out[146]: 0.99999999999999933

In [147]: m1n.dotProduct(m2n)
Out[147]: -0.03252152503309657   <--- Shouldn't that be much closer to zero.

In [148]: m1n.massWeightedDotProduct(m1n)
Out[148]: 111.55207167730333

In [149]: m1n.massWeightedDotProduct(m2n)
Out[149]: -3.7296554733501353e-14  <--- Why is this zero if they have not been mass-wheighted scaled?

In [150]: m1mwn = m1.scaledToMassWeightedNorm(1.0)

In [151]: m2mwn = m2.scaledToMassWeightedNorm(1.0)

In [152]: m1mwn.dotProduct(m1mwn)
Out[152]: 243.25508179263176

In [153]: m1mwn.dotProduct(m2mwn)
Out[153]: -7.8259677207915503

In [154]: m1mwn.massWeightedDotProduct(m1mwn)
Out[154]: 27135.608319999963    <------- I would expect that to be 1.0

In [155]: m1mwn.massWeightedDotProduct(m2mwn)
Out[155]: -1.1544543099262228e-11

Could someone clarify how to scale the modes so that their norm is 1.0 and their dot product zero?
Thanks in advance,

mmtk maillist  -  mmtk at starship.python.net<mailto:mmtk at starship.python.net>

Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr. Achim Bachem (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt

Kennen Sie schon unsere app? http://www.fz-juelich.de/app
-------------- n?chster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://starship.python.net/pipermail/mmtk/attachments/20120412/3f6af9ba/attachment.html>

More information about the mmtk mailing list