NAMD
Macros | Typedefs | Functions
ComputeGBIS.inl File Reference

Go to the source code of this file.

Macros

#define COMPUTEGBIS_INL
 
#define FS_MAX   1.728f /*maximum screened radius*/
 
#define COULOMB   332.0636f /* ke [kcal*Ang/e^2] common.h */
 
#define TA   0.333333333333333f
 
#define TB   0.4f
 
#define TC   0.428571428571428f
 
#define TD   0.444444444444444f
 
#define TE   0.454545454545454f
 
#define DA   1.333333333333333f
 
#define DB   2.4f
 
#define DC   3.428571428571428f
 
#define DD   4.444444444444444f
 
#define DE   5.454545454545454f
 

Typedefs

typedef float GBReal
 
typedef float Mass
 

Functions

static float FastTanH (float x)
 
static float MassToRadius (Mass mi)
 
static float MassToScreen (Mass mi)
 
static void h0 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh0 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h1 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh1 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h2 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh2 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h3 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh3 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h4 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh4 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h5 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh5 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void h6 (float r, float r2, float ri, float rc, float r0, float rs, float &h)
 
static void dh6 (float r, float r2, float ri, float rc, float r0, float rs, float &dh)
 
static void CalcH (float r, float r2, float ri, float rc, float r0, float rs, float &h, int &d)
 
static void CalcDH (float r, float r2, float ri, float rc, float r0, float rs, float &dh, int &d)
 
static void CalcHPair (float r, float r2, float ri, float rc, float ri0, float rjs, float rj0, float ris, int &dij, int &dji, float &hij, float &hji)
 
static void CalcDHPair (float r, float r2, float ri, float rc, float ri0, float rjs, float rj0, float ris, int &dij, int &dji, float &dhij, float &dhji)
 
static void Calc_dEdr_Pair (const float &r, const float &r2, const float &qiqj, const float &ai, const float &aj, const float &kappa, const float &epsilon_p_i, const float &epsilon_s_i, float &aiaj, float &expr2aiaj4, float &fij, float &f_i, float &expkappa, float &Dij, float &gbE, float &ddrGbE)
 
static void Calc_dEda_Pair (const float &r2, const float &ai, const float &aj, const float &qiqj, const float &kappa, const float &aiaj, const float &expkappa, const float &expr2aiaj4, const float &fij, const float &f_i, const float &Dij, const float &epsilon_s_i, float &dEdai, float &dEdaj)
 
static void Phase2_Pair (const float &r, const float &r2, const float &r_i, const float &qiqj, const float &ai, const float &aj, const float &epsilon_p_i, const float &epsilon_s_i, const float &kappa, const int &doFullElect, float &gbEij, float &ddrGbEij, float &dEdai, float &dEdaj)
 

Macro Definition Documentation

#define COMPUTEGBIS_INL

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 13 of file ComputeGBIS.inl.

#define COULOMB   332.0636f /* ke [kcal*Ang/e^2] common.h */

Definition at line 28 of file ComputeGBIS.inl.

#define DA   1.333333333333333f

Definition at line 37 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), dh2(), and dh2Ser().

#define DB   2.4f

Definition at line 38 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), dh2(), and dh2Ser().

#define DC   3.428571428571428f

Definition at line 39 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), dh2(), and dh2Ser().

#define DD   4.444444444444444f

Definition at line 40 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), dh2(), and dh2Ser().

#define DE   5.454545454545454f

Definition at line 41 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), dh2(), and dh2Ser().

#define FS_MAX   1.728f /*maximum screened radius*/
#define TA   0.333333333333333f

Definition at line 32 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), h2(), and h2Ser().

#define TB   0.4f

Definition at line 33 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), h2(), and h2Ser().

#define TC   0.428571428571428f

Definition at line 34 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), h2(), and h2Ser().

#define TD   0.444444444444444f

Definition at line 35 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), h2(), and h2Ser().

#define TE   0.454545454545454f

Definition at line 36 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), h2(), and h2Ser().

Typedef Documentation

typedef float GBReal

Definition at line 17 of file ComputeGBIS.inl.

typedef float Mass

Definition at line 20 of file ComputeGBIS.inl.

Function Documentation

static void Calc_dEda_Pair ( const float &  r2,
const float &  ai,
const float &  aj,
const float &  qiqj,
const float &  kappa,
const float &  aiaj,
const float &  expkappa,
const float &  expr2aiaj4,
const float &  fij,
const float &  f_i,
const float &  Dij,
const float &  epsilon_s_i,
float &  dEdai,
float &  dEdaj 
)
inlinestatic

Definition at line 486 of file ComputeGBIS.inl.

Referenced by Phase2_Pair().

500  {
501 
502  //float tmp_dEda = -0.5*COULOMB*qiqj*f_i*f_i
503  float tmp_dEda = 0.5f*qiqj*f_i*f_i
504  *(kappa*epsilon_s_i*expkappa-Dij*f_i)
505  *(aiaj+0.25f*r2)*expr2aiaj4;//0
506  dEdai = tmp_dEda/ai;
507  dEdaj = tmp_dEda/aj;
508 }
static void Calc_dEdr_Pair ( const float &  r,
const float &  r2,
const float &  qiqj,
const float &  ai,
const float &  aj,
const float &  kappa,
const float &  epsilon_p_i,
const float &  epsilon_s_i,
float &  aiaj,
float &  expr2aiaj4,
float &  fij,
float &  f_i,
float &  expkappa,
float &  Dij,
float &  gbE,
float &  ddrGbE 
)
inlinestatic

Definition at line 436 of file ComputeGBIS.inl.

Referenced by Phase2_Pair().

453  {
454  //allocate local variables
455  float aiaj4,ddrDij,ddrf_i,ddrfij;
456 
457  //calculate GB energy
458  aiaj = ai*aj;
459  aiaj4 = 4.f*aiaj;
460  //printf("exp(%e)\n",(-r2/aiaj4));
461  expr2aiaj4 = exp(-r2/aiaj4);
462  fij = sqrt(r2+aiaj*expr2aiaj4);
463  f_i = 1/fij;
464  expkappa = (kappa > 0.f) ? exp(-kappa*fij) : 1.f;
465  Dij = epsilon_p_i - expkappa*epsilon_s_i;
466  //gbE = -COULOMB*qiqj*Dij*f_i;
467  gbE = qiqj*Dij*f_i;
468 
469  //calculate energy derivatives
470  ddrfij = r*f_i*(1.f - 0.25f*expr2aiaj4);
471  ddrf_i = -ddrfij*f_i*f_i;
472  ddrDij = kappa*expkappa*ddrfij*epsilon_s_i;
473  //ddrGbE = -COULOMB*qiqj*(ddrDij*f_i+Dij*ddrf_i);
474  ddrGbE = qiqj*(ddrDij*f_i+Dij*ddrf_i);
475 }
static void CalcDH ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh,
int &  d 
)
inlinestatic

Definition at line 360 of file ComputeGBIS.inl.

References dh0(), dh1(), dh2(), dh3(), dh4(), dh5(), and dh6().

Referenced by CalcDHPair(), calcGBISPhase(), and GBIS_P3_Kernel().

361  {
362 if (r > 4*rs) {
363  if( r < rc - rs) {//II
364  dh2(r,r2,ri,rc,r0,rs,dh); d = 2;
365  } else if (r < rc + rs) {//I
366  dh1(r,r2,ri,rc,r0,rs,dh); d = 1;
367  } else /*if (r > rc + rs)*/ {//0
368  dh0(r,r2,ri,rc,r0,rs,dh); d = 0;
369  }
370 } else {
371  if( r > r0 + rs ) {//III
372  dh3(r,r2,ri,rc,r0,rs,dh); d = 3;
373  } else if (r > (r0>rs?r0-rs:rs-r0) ) {//IV
374  dh4(r,r2,ri,rc,r0,rs,dh); d = 4;
375  } else if (r0 < rs ) {//V
376  dh5(r,r2,ri,rc,r0,rs,dh); d = 5;
377  } else {//VI
378  dh6(r,r2,ri,rc,r0,rs,dh); d = 6;
379  }
380 }
381 }
static void dh0(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh3(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh1(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh5(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh2(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh6(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void dh4(float r, float r2, float ri, float rc, float r0, float rs, float &dh)
static void CalcDHPair ( float  r,
float  r2,
float  ri,
float  rc,
float  ri0,
float  rjs,
float  rj0,
float  ris,
int &  dij,
int &  dji,
float &  dhij,
float &  dhji 
)
inlinestatic

Definition at line 409 of file ComputeGBIS.inl.

References CalcDH().

Referenced by ComputeNonbondedUtil::calcGBIS().

421  {
422 // swapped
423  CalcDH(r,r2,ri,rc,ri0,rjs,dhij,dij);//hij
424  CalcDH(r,r2,ri,rc,rj0,ris,dhji,dji);//hji
425 }
static void CalcDH(float r, float r2, float ri, float rc, float r0, float rs, float &dh, int &d)
static void CalcH ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h,
int &  d 
)
inlinestatic

Definition at line 326 of file ComputeGBIS.inl.

References h0(), h1(), h2(), h3(), h4(), h5(), and h6().

Referenced by calcGBISPhase(), CalcHPair(), and GBIS_P1_Kernel().

327  {
328 
329 /*
330 r - distance
331 rc - alpha cutoff
332 rs - screened radius
333 */
334 
335 if (r > 4*rs) { //change this to 1/4 r > rs
336  if( r < rc - rs) {//II 68%
337  h2(r,r2,ri,rc,r0,rs,h); d = 2;
338  } else if (r < rc + rs) {//I 23%
339  h1(r,r2,ri,rc,r0,rs,h); d = 1;
340  } else /*if (r > rc + rs)*/ {//0 7%
341  h0(r,r2,ri,rc,r0,rs,h); d = 0;
342  }
343 } else {
344  if( r > r0 + rs ) {//III 1%
345  h3(r,r2,ri,rc,r0,rs,h); d = 3;
346  } else if ( r > (r0>rs?r0-rs:rs-r0) ) {//IV 0%
347  h4(r,r2,ri,rc,r0,rs,h); d = 4;
348  } else if (r0 < rs ) {//V 0%
349  h5(r,r2,ri,rc,r0,rs,h); d = 5;
350  } else {//VI 0%
351  h6(r,r2,ri,rc,r0,rs,h); d = 6;
352  }
353 }
354 }
static void h4(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h2(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h5(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h1(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h3(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h6(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void h0(float r, float r2, float ri, float rc, float r0, float rs, float &h)
static void CalcHPair ( float  r,
float  r2,
float  ri,
float  rc,
float  ri0,
float  rjs,
float  rj0,
float  ris,
int &  dij,
int &  dji,
float &  hij,
float &  hji 
)
inlinestatic

Definition at line 387 of file ComputeGBIS.inl.

References CalcH().

Referenced by ComputeNonbondedUtil::calcGBIS().

400  {
401  CalcH(r,r2,ri,rc,ri0,rjs,hij,dij);//hij
402  CalcH(r,r2,ri,rc,rj0,ris,hji,dji);//hji
403 }
static void CalcH(float r, float r2, float ri, float rc, float r0, float rs, float &h, int &d)
static void dh0 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 150 of file ComputeGBIS.inl.

Referenced by CalcDH().

151  {
152  dh = 0.f;
153 }
static void dh1 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 177 of file ComputeGBIS.inl.

Referenced by CalcDH().

178  {
179 
180  float rci = 1.f/rc;
181  float rmrs = r-rs;// 4 times
182  float rmrsi = 1.f/rmrs;
183  float rmrs2 = rmrs*rmrs;
184  float rs2 = rs*rs;
185  float logr = log(rmrs*rci);
186  float rci2 = rci*rci;
187  dh = ri*ri*(-0.25f*logr - (rc*rc - rmrs2)*(rs2 + r2)*0.125f*rci2*rmrsi*rmrsi);
188 }
static void dh2 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 206 of file ComputeGBIS.inl.

References DA, DB, DC, DD, and DE.

Referenced by CalcDH().

207  {
208 
209  float k = rs*ri; k*=k;//k=(rs/r)^2
210  dh = -rs*ri*ri*ri*k*(DA+k*(DB+k*(DC+k*(DD+k*DE))));
211 }
#define DA
Definition: ComputeGBIS.inl:37
#define DD
Definition: ComputeGBIS.inl:40
#define DB
Definition: ComputeGBIS.inl:38
#define DC
Definition: ComputeGBIS.inl:39
#define DE
Definition: ComputeGBIS.inl:41
static void dh3 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 228 of file ComputeGBIS.inl.

Referenced by CalcDH().

229  {
230  float rs2 = rs*rs;
231  float r2mrs2i = 1.f/(r2-rs2);
232  dh = -0.25f*ri*(2.f*(r2+rs2)*rs*r2mrs2i*r2mrs2i + ri*log((r-rs)/(r+rs)));
233 }
static void dh4 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 257 of file ComputeGBIS.inl.

Referenced by CalcDH().

258  {
259  float ri2 = ri*ri;
260  float r02 = r0*r0;
261  float rs2 = rs*rs;
262  float r0i = 1.f/r0;
263  float rspri = 1.f/(r+rs);
264  float logr = log(r0*rspri);
265  float r02mrs2 = r02-rs2;
266  float rilogr = ri*logr;
267  dh = 0.25f*( (- 0.5f +(r2*r02mrs2 - 2.f*r*rs*rs2+rs2*r02mrs2)
268  * 0.5f *ri2*rspri*rspri)*r0i*r0i - ri*rilogr );
269 }
static void dh5 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 291 of file ComputeGBIS.inl.

Referenced by CalcDH().

292  {
293  float rs2 = rs*rs;
294  float r2mrs2i = 1.f/(r2-rs2);
295  float rsr2mrs2i = rs*r2mrs2i;
296  float rprs = r+rs;
297  float rmrs = r-rs;
298  float logr = 0.5f*ri*log(-rmrs/rprs);
299  dh = -0.5f*ri*((rs2+r2)*rsr2mrs2i*r2mrs2i+logr );
300 }
static void dh6 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  dh 
)
inlinestatic

Definition at line 316 of file ComputeGBIS.inl.

Referenced by CalcDH().

317  {
318  dh = 0;
319 }
static float FastTanH ( float  x)
inlinestatic

Definition at line 44 of file ComputeGBIS.inl.

44  {
45  float a = 2.f*x+0.02f;;
46  a *= (6.f + a*(3.f + a));
47  return (a)/(a+12.f);
48 }
gridSize x
static void h0 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 141 of file ComputeGBIS.inl.

Referenced by CalcH().

142  {
143  h = 0.f;
144 }
static void h1 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 160 of file ComputeGBIS.inl.

Referenced by ComputeNonbondedUtil::calcGBIS(), and CalcH().

161  {
162 
163  float rci = 1.f/rc;
164  float rmrs = r-rs;
165  float rmrsi = 1.f/rmrs;
166  //float rmrs2 = rmrs*rmrs;
167  float rs2 = rs*rs;
168  float logr = log(rmrs*rci);
169  float rci2 = rci*rci;
170  h = 0.125f*ri*(1.f + 2.f*r*rmrsi + rci2*(r2 - 4.f*rc*r - rs2) + 2.f*logr);
171 }
static void h2 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 195 of file ComputeGBIS.inl.

References TA, TB, TC, TD, and TE.

Referenced by ComputeNonbondedUtil::calcGBIS(), and CalcH().

196  {
197 
198  float k = rs*ri; k*=k;//k=(rs/r)^2
199  h = rs*ri*ri*k*(TA+k*(TB+k*(TC+k*(TD+k*TE))));
200 }
#define TE
Definition: ComputeGBIS.inl:36
#define TD
Definition: ComputeGBIS.inl:35
#define TA
Definition: ComputeGBIS.inl:32
#define TC
Definition: ComputeGBIS.inl:34
#define TB
Definition: ComputeGBIS.inl:33
static void h3 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 218 of file ComputeGBIS.inl.

Referenced by CalcH().

219  {
220  float r2mrs2i = 1.f/(r2-rs*rs);
221  h = 0.5f * ( rs*r2mrs2i + 0.5f * log((r-rs)/(r+rs))*ri );
222 }
static void h4 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 240 of file ComputeGBIS.inl.

Referenced by CalcH().

241  {
242  //float ri2 = ri*ri;
243  float r02 = r0*r0;
244  float rs2 = rs*rs;
245  float r0i = 1.f/r0;
246  float rspri = 1.f/(r+rs);
247  float logr = log(r0*rspri);
248  //float r02mrs2 = r02-rs2;
249  float rilogr = ri*logr;
250  h = 0.25f*( r0i*(2.f- 0.5f*(r0i*ri*(r2 + r02 - rs2))) - rspri + rilogr );
251 }
static void h5 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 276 of file ComputeGBIS.inl.

Referenced by CalcH().

277  {
278  float rs2 = rs*rs;
279  float r2mrs2i = 1.f/(r2-rs2);
280  float rsr2mrs2i = rs*r2mrs2i;
281  float rprs = r+rs;
282  float rmrs = r-rs;
283  float logr = 0.5f*ri*log(-rmrs/rprs);
284  h = 0.5f*( rsr2mrs2i + 2.f/r0 + logr );
285 }
static void h6 ( float  r,
float  r2,
float  ri,
float  rc,
float  r0,
float  rs,
float &  h 
)
inlinestatic

Definition at line 307 of file ComputeGBIS.inl.

Referenced by CalcH().

308  {
309  h = 0;
310 }
static float MassToRadius ( Mass  mi)
inlinestatic

Definition at line 55 of file ComputeGBIS.inl.

Referenced by ComputeGBISser::doWork(), and HomePatch::setGBISIntrinsicRadii().

55  {//, Mass mj) {
56 return
57  (mi < 2.50f ) ? 1.20f : // AtmNum = 1; Elem = H ; Mass = 1.00
58  (mi < 5.47f ) ? 1.40f : // AtmNum = 2; Elem = He; Mass = 4.00
59  (mi < 7.98f ) ? 1.82f : // AtmNum = 3; Elem = Li; Mass = 6.94
60  (mi < 9.91f ) ? 2.13f : // AtmNum = 4; Elem = Be; Mass = 9.01
61  (mi < 11.41f ) ? 2.13f : // AtmNum = 5; Elem = B ; Mass = 10.81
62  (mi < 13.01f ) ? 1.70f : // AtmNum = 6; Elem = C ; Mass = 12.01
63  (mi < 15.00f ) ? 1.55f : // AtmNum = 7; Elem = N ; Mass = 14.00
64  (mi < 17.49f ) ? 1.50f : // AtmNum = 8; Elem = O ; Mass = 15.99
65  (mi < 19.58f ) ? 1.50f : // AtmNum = 9; Elem = F ; Mass = 18.99
66  (mi < 21.58f ) ? 1.54f : // AtmNum = 10; Elem = Ne; Mass = 20.17
67  (mi < 23.64f ) ? 2.27f : // AtmNum = 11; Elem = Na; Mass = 22.98
68  (mi < 25.64f ) ? 1.73f : // AtmNum = 12; Elem = Mg; Mass = 24.30
69  (mi < 27.53f ) ? 2.51f : // AtmNum = 13; Elem = Al; Mass = 26.98
70  (mi < 29.53f ) ? 2.10f : // AtmNum = 14; Elem = Si; Mass = 28.08
71  (mi < 31.52f ) ? 1.85f : // AtmNum = 15; Elem = P ; Mass = 30.97
72  (mi < 33.76f ) ? 1.80f : // AtmNum = 16; Elem = S ; Mass = 32.06
73  (mi < 37.28f ) ? 1.70f : // AtmNum = 17; Elem = Cl; Mass = 35.45
74  (mi < 39.29f ) ? 2.75f : // AtmNum = 19; Elem = K ; Mass = 39.10
75  (mi < 49.09f ) ? 1.88f : // AtmNum = 18; Elem = Ar; Mass = 39.48
76  (mi < 61.12f ) ? 1.63f : // AtmNum = 28; Elem = Ni; Mass = 58.69
77  (mi < 64.46f ) ? 1.40f : // AtmNum = 29; Elem = Cu; Mass = 63.54
78  (mi < 67.55f ) ? 1.39f : // AtmNum = 30; Elem = Zn; Mass = 65.38
79  (mi < 71.18f ) ? 1.87f : // AtmNum = 31; Elem = Ga; Mass = 69.72
80  (mi < 73.78f ) ? 2.19f : // AtmNum = 32; Elem = Ge; Mass = 72.64
81  (mi < 76.94f ) ? 1.85f : // AtmNum = 33; Elem = As; Mass = 74.92
82  (mi < 79.43f ) ? 1.90f : // AtmNum = 34; Elem = Se; Mass = 78.96
83  (mi < 81.85f ) ? 1.85f : // AtmNum = 35; Elem = Br; Mass = 79.90
84  (mi < 95.11f ) ? 2.02f : // AtmNum = 36; Elem = Kr; Mass = 83.79
85  (mi < 107.14f ) ? 1.63f : // AtmNum = 46; Elem = Pd; Mass = 106.42
86  (mi < 110.14f ) ? 1.72f : // AtmNum = 47; Elem = Ag; Mass = 107.86
87  (mi < 113.61f ) ? 1.58f : // AtmNum = 48; Elem = Cd; Mass = 112.41
88  (mi < 116.76f ) ? 1.93f : // AtmNum = 49; Elem = In; Mass = 114.81
89  (mi < 120.24f ) ? 2.17f : // AtmNum = 50; Elem = Sn; Mass = 118.71
90  (mi < 124.33f ) ? 2.09f : // AtmNum = 51; Elem = Sb; Mass = 121.76
91  (mi < 127.25f ) ? 1.98f : // AtmNum = 53; Elem = I ; Mass = 126.90
92  (mi < 129.45f ) ? 2.06f : // AtmNum = 52; Elem = Te; Mass = 127.60
93  (mi < 163.19f ) ? 2.16f : // AtmNum = 54; Elem = Xe; Mass = 131.29
94  (mi < 196.02f ) ? 1.75f : // AtmNum = 78; Elem = Pt; Mass = 195.08
95  (mi < 198.78f ) ? 1.66f : // AtmNum = 79; Elem = Au; Mass = 196.96
96  (mi < 202.49f ) ? 1.55f : // AtmNum = 80; Elem = Hg; Mass = 200.59
97  (mi < 205.79f ) ? 1.96f : // AtmNum = 81; Elem = Tl; Mass = 204.38
98  (mi < 222.61f ) ? 2.02f : // AtmNum = 82; Elem = Pb; Mass = 207.20
99  (mi < 119.01f ) ? 1.86f : // AtmNum = 92; Elem = U ; Mass = 238.02
100  1.50f ; // Unknown
101 }
static float MassToScreen ( Mass  mi)
inlinestatic

Definition at line 112 of file ComputeGBIS.inl.

Referenced by ComputeGBISser::doWork(), and HomePatch::setGBISIntrinsicRadii().

112  {//, Mass mj) {
113  return
114  (mi < 1.500f) ? 0.85f : //H
115  (mi < 12.500f) ? 0.72f : //C
116  (mi < 14.500f) ? 0.79f : //N
117  (mi < 16.500f) ? 0.85f : //O
118  (mi < 19.500f) ? 0.88f : //F
119  (mi < 31.500f) ? 0.86f : //P
120  (mi < 32.500f) ? 0.96f : //S
121  0.8f ; //all others
122 }
static void Phase2_Pair ( const float &  r,
const float &  r2,
const float &  r_i,
const float &  qiqj,
const float &  ai,
const float &  aj,
const float &  epsilon_p_i,
const float &  epsilon_s_i,
const float &  kappa,
const int &  doFullElect,
float &  gbEij,
float &  ddrGbEij,
float &  dEdai,
float &  dEdaj 
)
inlinestatic

Definition at line 519 of file ComputeGBIS.inl.

References Calc_dEda_Pair(), and Calc_dEdr_Pair().

538  {
539 
540  //calculate GB energy and force
541  float aiaj,expr2aiaj4,fij,f_i,expkappa,Dij;
542  Calc_dEdr_Pair(r,r2,qiqj,ai,aj,
543  kappa,epsilon_p_i,epsilon_s_i,
544  aiaj,expr2aiaj4,fij,f_i,expkappa,
545  Dij,gbEij,ddrGbEij);
546 
547  //calculate dEda
548  if (doFullElect) {
549  Calc_dEda_Pair(r2,ai,aj,qiqj,kappa,
550  aiaj,expkappa,expr2aiaj4,
551  fij,f_i,Dij,epsilon_s_i,dEdai,dEdaj);
552  } else {
553  dEdai = 0.f;
554  dEdaj = 0.f;
555  }
556 }
static void Calc_dEdr_Pair(const float &r, const float &r2, const float &qiqj, const float &ai, const float &aj, const float &kappa, const float &epsilon_p_i, const float &epsilon_s_i, float &aiaj, float &expr2aiaj4, float &fij, float &f_i, float &expkappa, float &Dij, float &gbE, float &ddrGbE)
static void Calc_dEda_Pair(const float &r2, const float &ai, const float &aj, const float &qiqj, const float &kappa, const float &aiaj, const float &expkappa, const float &expr2aiaj4, const float &fij, const float &f_i, const float &Dij, const float &epsilon_s_i, float &dEdai, float &dEdaj)