81 lines
2.7 KiB
C++
81 lines
2.7 KiB
C++
|
/*************************************************************************/
|
||
|
/* */
|
||
|
/* 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);
|