/*******************/ /* mcp_constants.h */ /*******************/ #ifndef _MCP_CONSTANTS_H #define _MCP_CONSTANTS_H /** universal constants **/ #ifndef PI #define PI (acos(-1.)) #endif #define AVO 6.0221367E+23 #define BOLZ 1.380658E-23 /* in Joule */ #define HBAR 1.054589E-34 /* in Joule.s */ /** argon constants **/ #define ARGON_MASS (39.948*1E-3/AVO) /* in kg */ /** argon LJ6-12 constants **/ #define SIGMA 3.405E-10 /* in meter */ #define EPSILON (119.8*BOLZ) /* in Joule */ /** reduced units based on argon LJ6-12 **/ #define UENERGY_IN_JOULE EPSILON #define ULENGTH_IN_METER SIGMA #define UMASS_IN_KG ARGON_MASS /* from now on are all derived reduced units --> */ #define ULENGTH_IN_ANGSTROM (SIGMA*1E10) #define UTIME_IN_SECOND \ sqrt(UMASS_IN_KG*ULENGTH_IN_METER*ULENGTH_IN_METER/UENERGY_IN_JOULE) #define UTIME_IN_PS (UTIME_IN_SECOND/1.E-12) #define UFREQ_IN_HZ (1./UTIME_IN_SECOND/2./PI) #define UFREQ_IN_THZ (1e-12*UFREQ_IN_HZ) #define EV_IN_JOULE 1.60217733E-19 #define UFREQ_IN_MEV (HBAR*2*PI*UFREQ_IN_HZ/EV_IN_JOULE*1000.) /* Woon's ab initio pair potential */ #define HARTREE_IN_JOULE 4.3597482E-18 #define BOHR_RADIUS_IN_ANGSTROM 0.529177249 #define WOON_EPSILON (0.4228*HARTREE_IN_JOULE/1000./UENERGY_IN_JOULE) #define WOON_RE (7.1714*BOHR_RADIUS_IN_ANGSTROM/ULENGTH_IN_ANGSTROM) #define WOON_Q 0.6060 #define WOON_KE (0.6627*HARTREE_IN_JOULE/1000./UENERGY_IN_JOULE \ /BOHR_RADIUS_IN_ANGSTROM/BOHR_RADIUS_IN_ANGSTROM \ *ULENGTH_IN_ANGSTROM*ULENGTH_IN_ANGSTROM) #define WOON_K1 sqrt((WOON_Q+1)*WOON_KE/WOON_Q/WOON_EPSILON) #define WOON_K2 sqrt(WOON_Q*WOON_KE/(WOON_Q+1)/WOON_EPSILON) /* D. E. Woon, Chem. Phys. Lett. 204, 29 (1993) */ /* potential cutoff in reduced length unit */ #define CUTOFF (2.5*3.39/ULENGTH_IN_ANGSTROM) /* maximum possible reduced density of the solid */ #define MAXDENSITY 2.0 #define MAXNEIGHBOR ((int)(4./3.*PI*CUTOFF*CUTOFF*CUTOFF*MAXDENSITY)) /* program constants */ #define MAX_STRING_LENGTH 150 /* parallelization constants */ #define MAX_SHM_SEG 6 /* on Xolas, otherwise EMFILE error */ #define MAX_PROCESSORS 8 /* on Xolas, otherwise EMFILE error */ #define ORDER_OF_INTEGRATION 12 /* commands for collective action */ #define U_TO_COPY 1 #define U2_TO_COPY 2 #define U4_TO_COPY 3 #define U6_TO_COPY 4 #define U8_TO_COPY 5 #define COPY_TO_U2 11 #define COPY_TO_U4 12 #define COPY_TO_U6 13 #define COPY_TO_U8 14 #define COPY_TO_U10 15 #define ZERO_U2_U10 21 #define SLAVE_DIE 99 #endif /* _MCP_CONSTANTS_H */