blob: 11ee4e5709a385a5603d581d14ae3b6380465aac [file] [log] [blame]
/*************************************************************************/
/* */
/* Copyright (c) 1994 Stanford University */
/* */
/* All rights reserved. */
/* */
/* Permission is given to use, copy, and modify this software for any */
/* non-commercial purpose as long as this copyright notice is not */
/* removed. All other uses, including redistribution in whole or in */
/* part, are forbidden without prior written permission. */
/* */
/* This software is provided with absolutely no warranty and no */
/* support. */
/* */
/*************************************************************************/
/* This file contains the declaration of the GlobalMemory
structure and the maximum number of molecules allowed
by the program. */
struct GlobalMemory {
LOCKDEC(IOLock)
LOCKDEC(IndexLock)
LOCKDEC(IntrafVirLock)
LOCKDEC(InterfVirLock)
LOCKDEC(KinetiSumLock)
LOCKDEC(PotengSumLock)
BARDEC(start)
BARDEC(InterfBar)
BARDEC(PotengBar)
long Index;
double VIR;
double SUM[3];
double POTA, POTR, POTRF;
unsigned long computestart,computeend;
unsigned long trackstart, trackend, tracktime;
unsigned long intrastart, intraend, intratime;
unsigned long interstart, interend, intertime;
};
extern struct GlobalMemory *gl;
/* bndry.C */
void BNDRY(long ProcID);
/* cnstnt.C */
void CNSTNT(long N, double *C);
/* cshift.C */
void CSHIFT(double *XA, double *XB, double XMA, double XMB, double *XL, double BOXH, double BOXL);
/* initia.C */
void INITIA(void);
double xrand(double xl, double xh);
/* interf.C */
void INTERF(long DEST, double *VIR, long ProcID);
void UPDATE_FORCES(struct link *link_ptr, long DEST, double *XL, double *YL, double *ZL, double *FF);
/* intraf.C */
void INTRAF(double *VIR, long ProcID);
/* kineti.C */
void KINETI(double *SUM, double HMAS, double OMAS, long ProcID);
/* mdmain.C */
double MDMAIN(long NSTEP, long NPRINT, long NSAVE, long NORD1, long ProcID);
/* poteng.C */
void POTENG(double *POTA, double *POTR, double *PTRF, long ProcID);
/* predcor.C */
void PREDIC(double *C, long NOR1, long ProcID);
void CORREC(double *PCC, long NOR1, long ProcID);
/* syscons.C */
void SYSCNS(void);
/* water.C */
void WorkStart(void);