modified on 25 August 2015 at 09:11 ••• 246,146 views


From NWChem

(Difference between revisions)
Jump to: navigation, search
(Active Developers)
Line 65: Line 65:
| Constrained DFT
| Constrained DFT
| [] (University of Minnesota)
| [ Y. Zhao] (University of Minnesota)
| Minnesota (Truhlar) functionals
| Minnesota (Truhlar) functionals

Revision as of 15:03, 10 September 2010

NWChem is being developed by a consortium of scientists, and maintained at the EMSL at PNNL.


NWChem Core Developer Team

Name Current focus
W. A. de Jong Properties, relativistic effects, basis sets
E. J. Bylaska Plane wave development
N. Govind DFT, TDDFT and materials models
K. Kowalski High accuracy methods
M. Valiev QM/MM methodologies
H. J. J. van Dam DFT and fault tolerance
T. P. Straatsma Molecular dynamics
E. Apra (ORNL) DFT and ORNL Jaguar Cray optimization
R. J. Harrison (ORNL) Multiresolution methods
T. L. Windus (Iowa State University and AMES) Dynamic nucleation theory

Active Developers

Name Current focus
J. Hammond (ANL) High accuracy response, IBM BlueGene performance
J. Autschbach (SUNY Buffalo) Response properties and relativistic effects
L. Jensen (Penn State) DFT functionals, Properties
M. Swart (Universitat de Girona, Spain) Improved DFT functionals
Q. Wu (BNL) Constrained DFT
T. Van Voorhis (MIT) Constrained DFT
Y. Zhao (University of Minnesota) Minnesota (Truhlar) functionals
A. Vazquez-Mayagoitia (ORNL) DFT functionals, Properties

Contributors and Inactive Developers

K. Glaesemann L. D. Crosby D. Wang P. Nichols S. Hirata M. T. Hackler P.-D. Fan M. Dupuis D. M. A. Smith A. Wong
V. Tipparaju M. Krishnan A. A. Auer M. Nooijen E. Brown G. Cisneros G. I. Fann Z. Zhang H. Fruchtl J. Garza
K. Hirao R. Kendall J. A. Nichols K. Tsemekhman K. Wolinski J. Anchell D. Bernholdt P. Borowski T. Clark D. Clerc
H. Dachsel M. Deegan K. G. Dyall D. Elwood E. Glendening M. Gutowski A. Hess J. Jaffe B. Johnson J. Ju
R. Kobayashi R. Kutteh Z. Lin R. Littlefield X. Long B. Meng T. Nakajima S. Niu L. Pollack M. Rosing
G. Sandrone M. Stave H. Taylor G. Thomas J. H. van Lenthe J. Nieplocha

Developer Access Policy (Become a Developer)

Developer access to the NWChem source tree branches in svn has been divided into four tiers:

  1. NWChem Core Developer Team: Developer has full svn access to release and development branches of the NWChem source tree. Owns and is responsible for one or more modules.
  1. Trusted Developer: Developer may be internal or external to PNNL but has full svn access to release and development branches of the NWChem source tree. May own or be responsible for one or more modules. This group is expected to involve a small number of people.
  1. Developer: Developer may be internal or external to PNNL and has selected svn access to the development branch of the NWChem source tree. Each Developer closely coordinates code contributions with the assigned Point of Contact (POC) from the NWChem Core Developer Team, primarily the Core Developer owning the module in which the contributions will reside. If the development leads to a new module, the NWChem Core Developer Team will assign a POC with responsibility for the new module.
  1. Contributor: Contributor may be internal or external to PNNL and has no access to the development branch of the NWChem source tree. Contributor’s code will be incorporated by the Point of Contact from the NWChem Core Developer Team. This constitutes the main mechanism for external users for contributing developments to NWChem.

New potential developers can contact members of the NWChem Core Developer Team directly or “apply” through the NWChem web site. Prospective developers will be discussed, voted on, and assigned the level of developer access by the NWChem Core Developer Team. Before contributions from this new developer can be incorporated into NWChem, this person will have to provide written feedback that the contributions can be released within NWChem under the ECL 2.0 Open Source License. A (Trusted) Developer will receive the appropriate access to svn. If a Developer consistently incorporates code outside the scope agreed to with the Point of Contact that negatively affects the development tree access to svn can be revoked.

Development Contribution Requirements

All new functionality or capability contributions require:

  1. Proper documentation in the user manual
  2. QA Test Cases that adequately test the added functionality

Proposed new modules and tasks, and their impact on existing modules and functionality need to be documented for review. New modules or tasks will require agreement from the full NWChem Core Developer Team before they can be added.

Programming Model

The programming model in is based on modular APIs. NWChem consists of the programming languages:

  1. FORTRAN77 and FORTRAN90 (Niri and Marat to add restrictions).
  2. C and C++. Only simple constructs should be used in C++ (Niri and Marat to add restrictions).
  3. Memory Allocation will be done through the MA and GA memory infrastructure.
  4. Global Arrays Toolkit and MPI for parallel programming.
  5. OpenMP directives and CUDA/OpenCL.
  6. Python scripts can be uploaded into the contrib directory. Bindings to additional functionality require QA and documentation.

Testing of development version

  1. Code will be build nightly on a Redhat Linux64 Platform using gfortran and gcc.
  2. Code will be tested nightly against QA suite.
  3. Twice a year coverage analysis of QA suite is performed using gfortran tools.

NWChem Wiki Page Guidelines

Follow the link to the NWChem Wiki Page Guidelines.