| 22 |
|
#define HARMONIC_BOND 1 |
| 23 |
|
|
| 24 |
|
|
| 25 |
< |
namespace TPE { // restrict the access of the folowing to this file only. |
| 25 |
> |
namespace DUFF_NS { // restrict the access of the folowing to this file only. |
| 26 |
|
|
| 27 |
|
|
| 28 |
|
// Declare the structures that will be passed by MPI |
| 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 |
|
}; |
| 440 |
|
|
| 441 |
|
} // namespace |
| 442 |
|
|
| 443 |
< |
using namespace TPE; |
| 443 |
> |
using namespace DUFF_NS; |
| 444 |
|
|
| 445 |
|
|
| 446 |
|
//**************************************************************** |
| 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), |
| 1433 |
|
} |
| 1434 |
|
|
| 1435 |
|
|
| 1436 |
< |
int TPE::parseAtom( char *lineBuffer, int lineNum, atomStruct &info ){ |
| 1436 |
> |
int DUFF_NS::parseAtom( char *lineBuffer, int lineNum, atomStruct &info ){ |
| 1437 |
|
|
| 1438 |
|
char* the_token; |
| 1439 |
|
|
| 1519 |
|
} |
| 1520 |
|
|
| 1521 |
|
info.v0 = atof( the_token ); |
| 1522 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
| 1523 |
+ |
sprintf( painCave.errMsg, |
| 1524 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
| 1525 |
+ |
painCave.isFatal = 1; |
| 1526 |
+ |
simError(); |
| 1527 |
+ |
} |
| 1528 |
+ |
|
| 1529 |
+ |
info.v0p = atof( the_token ); |
| 1530 |
+ |
|
| 1531 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
| 1532 |
+ |
sprintf( painCave.errMsg, |
| 1533 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
| 1534 |
+ |
painCave.isFatal = 1; |
| 1535 |
+ |
simError(); |
| 1536 |
+ |
} |
| 1537 |
+ |
|
| 1538 |
+ |
info.rl = atof( the_token ); |
| 1539 |
+ |
|
| 1540 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
| 1541 |
+ |
sprintf( painCave.errMsg, |
| 1542 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
| 1543 |
+ |
painCave.isFatal = 1; |
| 1544 |
+ |
simError(); |
| 1545 |
+ |
} |
| 1546 |
+ |
|
| 1547 |
+ |
info.ru = atof( the_token ); |
| 1548 |
+ |
|
| 1549 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
| 1550 |
+ |
sprintf( painCave.errMsg, |
| 1551 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
| 1552 |
+ |
painCave.isFatal = 1; |
| 1553 |
+ |
simError(); |
| 1554 |
+ |
} |
| 1555 |
+ |
|
| 1556 |
+ |
info.rlp = atof( the_token ); |
| 1557 |
+ |
|
| 1558 |
+ |
if( ( the_token = strtok( NULL, " \n\t,;" ) ) == NULL ){ |
| 1559 |
+ |
sprintf( painCave.errMsg, |
| 1560 |
+ |
"Error parseing AtomTypes: line %d\n", lineNum ); |
| 1561 |
+ |
painCave.isFatal = 1; |
| 1562 |
+ |
simError(); |
| 1563 |
+ |
} |
| 1564 |
+ |
|
| 1565 |
+ |
info.rup = atof( the_token ); |
| 1566 |
|
} |
| 1567 |
< |
else info.v0 = info.w0 = 0.0; |
| 1567 |
> |
else info.v0 = info.w0 = info.v0p = info.rl = info.ru = info.rlp = info.rup = 0.0; |
| 1568 |
|
|
| 1569 |
|
return 1; |
| 1570 |
|
} |
| 1571 |
|
else return 0; |
| 1572 |
|
} |
| 1573 |
|
|
| 1574 |
< |
int TPE::parseBond( char *lineBuffer, int lineNum, bondStruct &info ){ |
| 1574 |
> |
int DUFF_NS::parseBond( char *lineBuffer, int lineNum, bondStruct &info ){ |
| 1575 |
|
|
| 1576 |
|
char* the_token; |
| 1577 |
|
char bondType[30]; |
| 1648 |
|
} |
| 1649 |
|
|
| 1650 |
|
|
| 1651 |
< |
int TPE::parseBend( char *lineBuffer, int lineNum, bendStruct &info ){ |
| 1651 |
> |
int DUFF_NS::parseBend( char *lineBuffer, int lineNum, bendStruct &info ){ |
| 1652 |
|
|
| 1653 |
|
char* the_token; |
| 1654 |
|
|
| 1736 |
|
else return 0; |
| 1737 |
|
} |
| 1738 |
|
|
| 1739 |
< |
int TPE::parseTorsion( char *lineBuffer, int lineNum, torsionStruct &info ){ |
| 1739 |
> |
int DUFF_NS::parseTorsion( char *lineBuffer, int lineNum, torsionStruct &info ){ |
| 1740 |
|
|
| 1741 |
|
char* the_token; |
| 1742 |
|
|