Object-oriented programming paradigms for molecular modeling

被引:382
作者
Gupta, A
Chempath, S
Sanborn, MJ
Clark, LA
Snurr, RQ [1 ]
机构
[1] Northwestern Univ, Dept Chem Engn, Evanston, IL 60208 USA
[2] Northwestern Univ, Ctr Catalysis & Surface Sci, Evanston, IL 60208 USA
基金
美国国家科学基金会;
关键词
object-oriented programming; molecular simulation; Fortran; 90; hybrid Monte Carlo;
D O I
10.1080/0892702031000065719
中图分类号
O64 [物理化学(理论化学)、化学物理学];
学科分类号
070304 ; 081704 ;
摘要
This paper discusses the application of object-oriented programming (OOP) design concepts to the development of molecular simulation code. A number of new languages such as Fortran 90 (F90) have been developed over the last decade that support the OOP design philosophy. We briefly describe the salient features of F90 and some basic object-oriented design principles. As an illustration of the design concepts we implement a general interface in F90 for calculating pairwise interactions that can be extended easily to any number of different forcefield models. The ideas presented here are used in the development of a mu ltipurpose si mulation c ode, named Music. An example of the use of Music for grand canonical Monte Carlo (GCMC) simulations of flexible sorbate molecules in zeolites is given. The example illustrates how OOP allowed existing code for molecular dynamics and GCMC to be easily combined to perform hybrid GCMC simulations with minimal coding effort.
引用
收藏
页码:29 / 46
页数:18
相关论文
共 24 条
[1]   Object oriented programming via Fortran 90 [J].
Akin, JE .
ENGINEERING COMPUTATIONS, 1999, 16 (01) :26-48
[2]  
Allen M. P., 1987, COMPUTER SIMULATIONS, DOI [10.1093/oso/9780198803195.001.0001, DOI 10.1093/OSO/9780198803195.001.0001]
[3]   Using FORTRAN 90 and object-oriented programming to accelerate code development [J].
Carr, M .
IEEE ANTENNAS AND PROPAGATION MAGAZINE, 1999, 41 (06) :85-90
[4]   Comparison of C++ and Fortran 90 for object-oriented scientific programming [J].
Cary, JR ;
Shasharina, SG ;
Cummings, JC ;
Reynders, JVW ;
Hinker, PJ .
COMPUTER PHYSICS COMMUNICATIONS, 1997, 105 (01) :20-36
[5]   How to support inheritance and run-time polymorphism in Fortran 90 [J].
Decyk, VK ;
Norton, CD ;
Szymanski, BK .
COMPUTER PHYSICS COMMUNICATIONS, 1998, 115 (01) :9-17
[6]   Diffusion and vibrational relaxation of a diatomic molecule in the pore network of a pure silica zeolite: A molecular dynamics study [J].
Demontis, P ;
Suffritti, GB ;
Tilocca, A .
JOURNAL OF CHEMICAL PHYSICS, 1996, 105 (13) :5586-5594
[7]  
Dijkstra E. W, 1976, A Discipline of Programming
[8]   HYBRID MONTE-CARLO [J].
DUANE, S ;
KENNEDY, AD ;
PENDLETON, BJ ;
ROWETH, D .
PHYSICS LETTERS B, 1987, 195 (02) :216-222
[9]  
ECKEL B, 2000, THINKING C PLUS PLUS
[10]  
ELLIS TMR, 1994, FORTRAN 90 PROGRAMMI