• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/genericProc/programs/minimd-0.1/thermo.h

00001 /* ----------------------------------------------------------------------
00002    miniMD is a simple, parallel molecular dynamics (MD) code.   miniMD is
00003    an MD microapplication in the Mantevo project at Sandia National 
00004    Laboratories ( http://software.sandia.gov/mantevo/ ). The primary 
00005    authors of miniMD are Steve Plimpton and Paul Crozier 
00006    (pscrozi@sandia.gov).
00007 
00008    Copyright (2008) Sandia Corporation.  Under the terms of Contract
00009    DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
00010    certain rights in this software.  This library is free software; you 
00011    can redistribute it and/or modify it under the terms of the GNU Lesser 
00012    General Public License as published by the Free Software Foundation; 
00013    either version 3 of the License, or (at your option) any later 
00014    version.
00015   
00016    This library is distributed in the hope that it will be useful, but
00017    WITHOUT ANY WARRANTY; without even the implied warranty of
00018    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
00019    Lesser General Public License for more details.
00020     
00021    You should have received a copy of the GNU Lesser General Public 
00022    License along with this software; if not, write to the Free Software
00023    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00024    USA.  See also: http://www.gnu.org/licenses/lgpl.txt .
00025 
00026    For questions, contact Paul S. Crozier (pscrozi@sandia.gov). 
00027 
00028    Please read the accompanying README and LICENSE files.
00029 ---------------------------------------------------------------------- */
00030 
00031 #ifndef THERMO_H
00032 #define THERMO_H
00033 
00034 #include "atom.h"
00035 #include "neighbor.h"
00036 #include "force.h"
00037 
00038 class Thermo {
00039  public:
00040   int nstat;
00041   int mstat;
00042   int ntimes;
00043   int *steparr;
00044   double *tmparr;
00045   double *engarr;
00046   double *prsarr;
00047 
00048   Thermo();
00049   ~Thermo();
00050   void setup(double,int);
00051   double temperature(Atom &);
00052   double energy(Atom &, Neighbor &, Force &);
00053   double pressure(double, Atom &);
00054   void compute(int, Atom &, Neighbor &, Force &);
00055 
00056  private:
00057   double rho;
00058 };
00059 
00060 #endif

Generated on Fri Oct 22 2010 11:02:23 for SST by  doxygen 1.7.1