35 |
|
double dipole; |
36 |
|
double w0; |
37 |
|
double v0; |
38 |
+ |
double v0p; |
39 |
+ |
double rl; |
40 |
+ |
double ru; |
41 |
+ |
double rlp; |
42 |
+ |
double rup; |
43 |
|
int isSSD; |
44 |
|
int isDipole; |
45 |
|
int ident; |
143 |
|
next->dipole = info.dipole; |
144 |
|
next->w0 = info.w0; |
145 |
|
next->v0 = info.v0; |
146 |
+ |
next->v0p = info.v0p; |
147 |
+ |
next->rl = info.rl; |
148 |
+ |
next->ru = info.ru; |
149 |
+ |
next->rlp = info.rlp; |
150 |
+ |
next->rup = info.rup; |
151 |
|
next->ident = info.ident; |
152 |
|
} |
153 |
|
} |
164 |
|
info.dipole = dipole; |
165 |
|
info.w0 = w0; |
166 |
|
info.v0 = v0; |
167 |
+ |
info.v0p = v0p; |
168 |
+ |
info.rl = rl; |
169 |
+ |
info.ru = ru; |
170 |
+ |
info.rlp = rlp; |
171 |
+ |
info.rup = rup; |
172 |
|
info.ident = ident; |
173 |
|
info.last = 0; |
174 |
|
} |
185 |
|
double dipole; |
186 |
|
double w0; |
187 |
|
double v0; |
188 |
+ |
double v0p; |
189 |
+ |
double rl; |
190 |
+ |
double ru; |
191 |
+ |
double rlp; |
192 |
+ |
double rup; |
193 |
|
int ident; |
194 |
|
LinkedAtomType* next; |
195 |
|
}; |
784 |
|
|
785 |
|
int isGB = 0; |
786 |
|
int isLJ = 1; |
787 |
+ |
int isEAM =0; |
788 |
|
double GB_dummy = 0.0; |
789 |
|
|
790 |
|
|
794 |
|
if(currentAtomType->isDipole) entry_plug->useDipole = 1; |
795 |
|
if(currentAtomType->isSSD) { |
796 |
|
entry_plug->useSticky = 1; |
797 |
< |
set_sticky_params( &(currentAtomType->w0), &(currentAtomType->v0)); |
797 |
> |
set_sticky_params( &(currentAtomType->w0), &(currentAtomType->v0), |
798 |
> |
&(currentAtomType->v0p), |
799 |
> |
&(currentAtomType->rl), &(currentAtomType->ru), |
800 |
> |
&(currentAtomType->rlp), &(currentAtomType->rup)); |
801 |
|
} |
802 |
|
|
803 |
|
if( currentAtomType->name[0] != '\0' ){ |
807 |
|
&(currentAtomType->isSSD), |
808 |
|
&(currentAtomType->isDipole), |
809 |
|
&isGB, |
810 |
+ |
&isEAM, |
811 |
|
&(currentAtomType->epslon), |
812 |
|
&(currentAtomType->sigma), |
813 |
|
&(currentAtomType->dipole), |
1310 |
|
} |
1311 |
|
|
1312 |
|
gBend = new GhostBend( *the_atoms[a], |
1313 |
< |
*the_atoms[b] ); |
1313 |
> |
*the_atoms[b], |
1314 |
> |
*the_atoms[c] ); |
1315 |
> |
|
1316 |
|
gBend->setConstants( currentBendType->k1, |
1317 |
|
currentBendType->k2, |
1318 |
|
currentBendType->k3, |
1328 |
|
currentBendType->k3, |
1329 |
|
currentBendType->t0 ); |
1330 |
|
bendArray[i] = qBend; |
1331 |
< |
} |
1331 |
> |
} |
1332 |
|
} |
1333 |
|
} |
1334 |
|
} |
1521 |
|
} |
1522 |
|
|
1523 |
|
info.v0 = atof( the_token ); |
1524 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
1525 |
+ |
sprintf( painCave.errMsg, |
1526 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
1527 |
+ |
painCave.isFatal = 1; |
1528 |
+ |
simError(); |
1529 |
+ |
} |
1530 |
+ |
|
1531 |
+ |
info.v0p = atof( the_token ); |
1532 |
+ |
|
1533 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
1534 |
+ |
sprintf( painCave.errMsg, |
1535 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
1536 |
+ |
painCave.isFatal = 1; |
1537 |
+ |
simError(); |
1538 |
+ |
} |
1539 |
+ |
|
1540 |
+ |
info.rl = atof( the_token ); |
1541 |
+ |
|
1542 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
1543 |
+ |
sprintf( painCave.errMsg, |
1544 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
1545 |
+ |
painCave.isFatal = 1; |
1546 |
+ |
simError(); |
1547 |
+ |
} |
1548 |
+ |
|
1549 |
+ |
info.ru = atof( the_token ); |
1550 |
+ |
|
1551 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
1552 |
+ |
sprintf( painCave.errMsg, |
1553 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
1554 |
+ |
painCave.isFatal = 1; |
1555 |
+ |
simError(); |
1556 |
+ |
} |
1557 |
+ |
|
1558 |
+ |
info.rlp = atof( the_token ); |
1559 |
+ |
|
1560 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
1561 |
+ |
sprintf( painCave.errMsg, |
1562 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
1563 |
+ |
painCave.isFatal = 1; |
1564 |
+ |
simError(); |
1565 |
+ |
} |
1566 |
+ |
|
1567 |
+ |
info.rup = atof( the_token ); |
1568 |
|
} |
1569 |
< |
else info.v0 = info.w0 = 0.0; |
1569 |
> |
else info.v0 = info.w0 = info.v0p = info.rl = info.ru = info.rlp = info.rup = 0.0; |
1570 |
|
|
1571 |
|
return 1; |
1572 |
|
} |
1612 |
|
} |
1613 |
|
|
1614 |
|
info.d0 = atof( the_token ); |
1615 |
+ |
|
1616 |
+ |
info.k0=0.0; |
1617 |
|
} |
1618 |
|
else if( !strcmp( bondType, "harmonic" ) ){ |
1619 |
|
info.type = HARMONIC_BOND; |