ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/sysBuild.hpp
Revision: 598
Committed: Mon Jul 14 21:35:45 2003 UTC (21 years, 2 months ago) by chuckv
File size: 1851 byte(s)
Log Message:
added a nanoSysBuilder that takes different cmd line arguments.

File Contents

# User Rev Content
1 mmeineke 498 #ifndef __SYSBUILD_H__
2     #define __SYSBUILD_H__
3    
4 mmeineke 501 #include "MoleculeStamp.hpp"
5    
6     #define STR_LENGTH 500
7     #define RAND_SEED 1337
8    
9 mmeineke 498 typedef struct{
10     char* in_name;
11     char* out_prefix;
12     int isRandom;
13     } sysBuildInfo;
14    
15 mmeineke 502 typedef struct includeTag{
16 mmeineke 501 char name[STR_LENGTH];
17 mmeineke 502 struct includeTag* next;
18 mmeineke 501 } includeLinked;
19 mmeineke 498
20     typedef struct{
21 mmeineke 501
22     includeLinked* includes;
23     char* outPrefix;
24    
25     char forceField[STR_LENGTH];
26     char ensemble[STR_LENGTH];
27 chuckv 598
28     char lattice[STR_LENGTH];
29    
30 mmeineke 498 double targetTemp;
31     double dt;
32     double runTime;
33 mmeineke 501 double boxX, boxY, boxZ;
34 mmeineke 498 int nComponents;
35 mmeineke 501 int totNmol;
36     int* componentsNmol;
37    
38 chuckv 598
39    
40 mmeineke 501 MoleculeStamp** compStamps;
41    
42 mmeineke 498 int havePressure;
43 mmeineke 502 int haveTauBarostat;
44 mmeineke 501 int haveTauThermostat;
45 mmeineke 498 int haveQmass;
46    
47     double targetPressure;
48 mmeineke 502 double tauBarostat;
49 mmeineke 501 double tauThermostat;
50 mmeineke 498 double Qmass;
51    
52 chuckv 598 int latticeType; // Type of lattice corresponting to the
53     // types defined in latticeBuilder.hpp
54     int isRandomParticle; // Build a random nanoparticle.
55     int hasVacancies; // Build nanoparticle with vacancies.
56     int buildCoreShell; // logical to build a core-shell particle
57    
58     double soluteX; // more fraction of solute in random nanoparticle
59     double paticleRadius; // nanoparticle total radius
60     double coreRadius; // nanoparticle core radius
61     double shellRadius; // nanoparticle shell radius (unused)
62     double latticeSpacing; // lattice spacing for lattice in builder
63     double vacancyRadius; // Radius surrounding the core-shell interface to
64     // build vacancies in.
65     double vacancyFraction; // Fraction of interface region to be converted to vacancies.
66    
67    
68 mmeineke 536 char lipidName[STR_LENGTH];
69     char waterName[STR_LENGTH];
70    
71 chuckv 589 char coreName[STR_LENGTH];
72     char shellName[STR_LENGTH];
73    
74 chuckv 598
75    
76 mmeineke 501 } bassInfo;
77 mmeineke 498
78    
79 mmeineke 501 extern void writeBass( void );
80 mmeineke 498
81 mmeineke 501 extern bassInfo bsInfo;
82 mmeineke 498
83     #endif // __sysbuild_h__