Quantum chemistry on mobile phones!

 Its the PC of 90's!

Note to Researchers:
If you wish to site this work, use the following citation:
 
“A case for scientific applications on smartphones”, ICONCT'09, Shivakashi, India, 9 -11 December 2009.
 
News updates:

Presented the idea behind doing all these at ICONCT'09. The slides and a report on this exploratory project is available here (slides) and here (report)

- Ganesh, 12th Dec 2009. 


An early port of mobihf for 3rd edition phones with FP1 is available. Use this link - mobihf_ext_3rdedFP1.tar.bz2to download. Though early port on 3rd edition phones were already made available by cyke64, I couldn't make it run on my E51 and eventually recompiled it. Right now it is not as advanced (read UI) as the s60 2nd edition package. The benchmarks are accordingly updated.

- Ganesh, 28th Oct 2008.


A new version of mobihf with integrated mobimol is now available. Check my blog (a refined link) for some screen shots.

 - Ganesh, 28th Mar 2007.

 

A new version of mobihf (bug fix release) is available now. The C/python module was compiled using gnupoc, as i have currently no access to a windows machine (and may not have for a few more months!). No new features are added except that now it reports time and whether a python or C module is used for integral evaluation.

- Ganesh, 16th Feb 2007.

mobihf has been ported to 3rd edition phones by cyke64 and is available at:

http://cyke64.googlepages.com/

- Ganesh, 24th Nov 2006.


The source code of both mobimol and mobihf have been merged with the PyQuante CVS. All further updates will be available from the PyQuante CVS at: http://pyquante.cvs.sourceforge.net/pyquante/PyQuante/MobiCode/

Thanks a lot to Rick for the help in merging the code with PyQuante CVS!

I will further update this page to reflect the new changes. So look back!

- Ganesh, 25th August 2006.


mobimol and mobihf:

This page contains my work on writing a few interesting Python scripts on the S60 series mobile phones. This has largely been made possible by the excellent work by Nokia to port Python interpreter on S60 platform. Check http://opensource.nokia.com on how to obtain the interpreter on you phone. Alternately check a page maintained by cyke64 here that contains a exhaustive list of phones that support the S60 platform as well as appropriate link for downloading the interpreter.

For the moment I describe two of the scripts with which I have managed to squeeze in a simple visualizer and an SCF procedure for electronic structure calculation at HF level of theory.

  • mobimol
    A basic and simple visualizer meant for reading and displaying molecular geometry provided in XYZ format. The input for mobimol should be provided in a file ending with extension .xyz and should be stored in an accessible location on phone (i.e. either on C: - the internal phone memory or E: - the external flash card).
    A sample input is as follows:

    2 <-------------- Number of atoms
    h2 <-------------- Title/ Molecule name
    H 0.0 0.0 0.0 <--- atom symbol in Cartesian
    H 1.0 0.0 0.0 coordinates

    Other capabilities:
    - Display model: Line / Line and Circle
    - Transforms: Rotation, Zoom
    - Switch between full screen and normal mode
    - Query features: Distance, Angle and Dihedral
    - Label: Symbol, ID (atom number)

    Version Information:
    - Version: 0.7
    - Last updated: April 29, 2010
    - Where to obtain source: mobimol.py
    - License: GPL

  • mobihf
    Now it is possible to do an electronic structure calculation of small molecules on your mobile phone!
    The script is mainly derived from PyQuante and quantumj. It expects input in a .inp file stored in your phone. The format of this file is described with the following example:

    2 <---------------- Number of atoms
    h2 hf sto-3g <---- Title, level, basis
    H 0.0 0.0 0.0
    <---- atom symbol in Cartesian
    H 1.0 0.0 0.0 coordinates

    Capabilities:
    - Supports HF single point energy calculation at minimal basis set (STO-3G)
    - Other basis can be easily added by modifying the script
    - Currently supports only: H, C, N and O
    - And well most importantly it runs on your mobile!
    - C++ extension for evaluation of 2E integral (derived from cints PyQuante package, and suitably modified for symbian). Check my post here for some bugs in Symbian math library.

    Version Information:
    - Version: 0.4
    - Last updated: Mar 28, 2007
    - Where to obtain source:
    Original Source: mobihf.py
    New Source: mobihf_ext.tar.gz (includes C++ extension for 2E integrals)
    - License: GPL

    What to expect in next release?
    - calculate electron density over a grid, and visualize it using mobimol.
    - parallel two electron integral code over a bluetooth connection to speedup calculation.

    Some benchmarks:
    - Phone Model: Nokia 6600
    - Symbian: OS v7.0s
    - Internal RAM: 10MB (but I guess you can only allocate 3MB of heap)
    - Processor: 104 MHz

    (Old benchmarks with original pure Python code)
    System Contractions Time
    h2 2 20 sec
    wat 7 35 min *
    * Most of the time (33 mins) is spent in two electron integral evaluation!

    (New benchmarks with C++ module for 2E integral evaluation)
    System Contractions Time (2nd Ed)        Time (3rd Ed FP1)**
    h2 2 2 sec                     ~0.0 sec
    wat 7 2 min *                    0.33 min

    * The new timings are slightly better 1.9 min :)
    ** The 3rd edition timings on Nokia E51, Symbian OS 9.2, 96 MB RAM and ARM 369 MHz CPU. 

    You can observe the drastic reduction in time when evaluating 2E integrals using C++ DLL rather than purely python code.