# | Line 16 | Line 16 | SimInfo::SimInfo(){ | |
---|---|---|
16 | n_constraints = 0; | |
17 | n_oriented = 0; | |
18 | n_dipoles = 0; | |
19 | + | ndf = 0; |
20 | + | ndfRaw = 0; |
21 | the_integrator = NULL; | |
22 | setTemp = 0; | |
23 | thermalTime = 0.0; | |
24 | + | rCut = 0.0; |
25 | ||
26 | usePBC = 0; | |
27 | useLJ = 0; | |
# | Line 28 | Line 31 | SimInfo::SimInfo(){ | |
31 | useGB = 0; | |
32 | useEAM = 0; | |
33 | ||
34 | + | wrapMeSimInfo( this ); |
35 | + | } |
36 | ||
37 | + | void SimInfo::setBox(double newBox[3]) { |
38 | + | box_x = newBox[0]; |
39 | + | box_y = newBox[1]; |
40 | + | box_z = newBox[2]; |
41 | + | setFortranBoxSize(newBox); |
42 | + | } |
43 | ||
44 | < | wrapMeSimInfo( this ); |
44 | > | void SimInfo::getBox(double theBox[3]) { |
45 | > | theBox[0] = box_x; |
46 | > | theBox[1] = box_y; |
47 | > | theBox[2] = box_z; |
48 | } | |
49 | + | |
50 | + | int SimInfo::getNDF(){ |
51 | + | int ndf_local, ndf; |
52 | + | |
53 | + | ndf_local = 3 * n_atoms + 3 * n_oriented - n_constraints; |
54 | ||
55 | + | #ifdef IS_MPI |
56 | + | MPI_Allreduce(&ndf_local,&ndf,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
57 | + | #else |
58 | + | ndf = ndf_local; |
59 | + | #endif |
60 | + | |
61 | + | ndf = ndf - 3; |
62 | + | |
63 | + | return ndf; |
64 | + | } |
65 | + | |
66 | + | int SimInfo::getNDFraw() { |
67 | + | int ndfRaw_local, ndfRaw; |
68 | + | |
69 | + | // Raw degrees of freedom that we have to set |
70 | + | ndfRaw_local = 3 * n_atoms + 3 * n_oriented; |
71 | + | |
72 | + | #ifdef IS_MPI |
73 | + | MPI_Allreduce(&ndfRaw_local,&ndfRaw,1,MPI_INT,MPI_SUM, MPI_COMM_WORLD); |
74 | + | #else |
75 | + | ndfRaw = ndfRaw_local; |
76 | + | #endif |
77 | + | |
78 | + | return ndfRaw; |
79 | + | } |
80 | + | |
81 | void SimInfo::refreshSim(){ | |
82 | ||
83 | simtype fInfo; | |
84 | int isError; | |
85 | + | int* excl; |
86 | ||
87 | fInfo.box[0] = box_x; | |
88 | fInfo.box[1] = box_y; | |
# | Line 44 | Line 90 | void SimInfo::refreshSim(){ | |
90 | ||
91 | fInfo.rlist = rList; | |
92 | fInfo.rcut = rCut; | |
93 | < | fInfo.rrf = rRF; |
94 | < | fInfo.rt = 0.95 * rRF; |
93 | > | fInfo.rrf = ecr; |
94 | > | fInfo.rt = ecr - est; |
95 | fInfo.dielect = dielectric; | |
50 | – | |
96 | ||
97 | fInfo.SIM_uses_PBC = usePBC; | |
98 | + | //fInfo.SIM_uses_LJ = 0; |
99 | fInfo.SIM_uses_LJ = useLJ; | |
100 | fInfo.SIM_uses_sticky = useSticky; | |
101 | + | //fInfo.SIM_uses_sticky = 0; |
102 | fInfo.SIM_uses_dipoles = useDipole; | |
103 | < | fInfo.SIM_uses_RF = useReactionField; |
103 | > | //fInfo.SIM_uses_dipoles = 0; |
104 | > | //fInfo.SIM_uses_RF = useReactionField; |
105 | > | fInfo.SIM_uses_RF = 0; |
106 | fInfo.SIM_uses_GB = useGB; | |
107 | fInfo.SIM_uses_EAM = useEAM; | |
108 | ||
109 | + | excl = Exclude::getArray(); |
110 | ||
111 | isError = 0; | |
112 | ||
113 | < | fInfo; |
114 | < | n_atoms; |
115 | < | identArray; |
116 | < | n_exclude; |
117 | < | excludes; |
118 | < | nGlobalExcludes; |
119 | < | globalExcludes; |
120 | < | isError; |
113 | > | // fInfo; |
114 | > | // n_atoms; |
115 | > | // identArray; |
116 | > | // n_exclude; |
117 | > | // excludes; |
118 | > | // nGlobalExcludes; |
119 | > | // globalExcludes; |
120 | > | // isError; |
121 | ||
122 | < | setFsimulation( &fInfo, &n_atoms, identArray, &n_exclude, excludes, &nGlobalExcludes, globalExcludes, &isError ); |
122 | > | setFsimulation( &fInfo, &n_atoms, identArray, &n_exclude, excl, |
123 | > | &nGlobalExcludes, globalExcludes, &isError ); |
124 | ||
125 | if( isError ){ | |
126 | ||
# | Line 84 | Line 135 | void SimInfo::refreshSim(){ | |
135 | "succesfully sent the simulation information to fortran.\n"); | |
136 | MPIcheckPoint(); | |
137 | #endif // is_mpi | |
138 | + | |
139 | + | ndf = this->getNDF(); |
140 | + | ndfRaw = this->getNDFraw(); |
141 | + | |
142 | } | |
143 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |