NAMD
Public Member Functions | Static Public Member Functions | List of all members
PairTable Class Reference

#include <GromacsTopFile.h>

Public Member Functions

int addPairLJType2 (int typea, int typeb, Real c6, Real c12)
 
int addPairGaussType2 (int typea, int typeb, Real gA, Real gMu1, Real gSigma1)
 
int addPairGaussType2 (int typea, int typeb, Real gA, Real gMu1, Real gSigma1, Real gRepulsive)
 
int addPairGaussType2 (int typea, int typeb, Real gA, Real gMu1, Real gSigma1, Real gMu2, Real gSigma2, Real gRepulsive)
 
void getPairLJArrays2 (int *indexA, int *indexB, Real *pairC6, Real *pairC12)
 
void getPairGaussArrays2 (int *indexA, int *indexB, Real *gaussA, Real *gaussMu1, Real *gaussSigma1, Real *gaussMu2, Real *gaussSigma2, Real *gaussRepulsive)
 

Static Public Member Functions

static bool GroLJCompare (GroLJPair, GroLJPair)
 
static bool GroGaussCompare (GroGaussPair, GroGaussPair)
 

Detailed Description

Definition at line 436 of file GromacsTopFile.h.

Member Function Documentation

int PairTable::addPairGaussType2 ( int  typea,
int  typeb,
Real  gA,
Real  gMu1,
Real  gSigma1 
)

Definition at line 1490 of file GromacsTopFile.C.

Referenced by addPairGaussType2(), and GromacsTopFile::GromacsTopFile().

1491  {
1492  return addPairGaussType2(indexA, indexB, gaussA, gaussMu1, gaussSigma1, 0.0, 0.0, 0.0);
1493 }
int addPairGaussType2(int typea, int typeb, Real gA, Real gMu1, Real gSigma1)
int PairTable::addPairGaussType2 ( int  typea,
int  typeb,
Real  gA,
Real  gMu1,
Real  gSigma1,
Real  gRepulsive 
)

Definition at line 1495 of file GromacsTopFile.C.

References addPairGaussType2().

1496  {
1497  return addPairGaussType2(indexA, indexB, gaussA, gaussMu1, gaussSigma1, 0.0, 0.0, gaussRepulsive);
1498 }
int addPairGaussType2(int typea, int typeb, Real gA, Real gMu1, Real gSigma1)
int PairTable::addPairGaussType2 ( int  typea,
int  typeb,
Real  gA,
Real  gMu1,
Real  gSigma1,
Real  gMu2,
Real  gSigma2,
Real  gRepulsive 
)

Definition at line 1500 of file GromacsTopFile.C.

References ResizeArray< T >::add(), GroGaussPair::gA, GroGaussPair::giSigma1, GroGaussPair::giSigma2, GroGaussPair::gMu1, GroGaussPair::gMu2, GroGaussPair::gRepulsive, GroGaussPair::indxGaussA, GroGaussPair::indxGaussB, and numGaussPair.

1502  {
1503  GroGaussPair ggp;
1504  ggp.indxGaussA = indexA;
1505  ggp.indxGaussB = indexB;
1506  ggp.gA = gaussA;
1507  ggp.gMu1 = gaussMu1;
1508  ggp.giSigma1 = gaussSigma1;
1509  ggp.gMu2 = 0.0;
1510  ggp.giSigma2 = 0.0;
1511  ggp.gRepulsive = 0.0;
1512  pairlistGauss.add(ggp);
1513  numGaussPair++;
1514  GroGaussPair ggp2;
1515  ggp2.indxGaussA = indexB;
1516  ggp2.indxGaussB = indexA;
1517  ggp2.gA = gaussA;
1518  ggp2.gMu1 = gaussMu1;
1519  ggp2.giSigma1 = gaussSigma1;
1520  ggp2.gMu2 = 0.0;
1521  ggp2.giSigma2 = 0.0;
1522  ggp2.gRepulsive = 0.0;
1523  numGaussPair++;
1524  pairlistGauss.add(ggp2);
1525  return 0;
1526 }
int numGaussPair
int add(const Elem &elem)
Definition: ResizeArray.h:97
int PairTable::addPairLJType2 ( int  typea,
int  typeb,
Real  c6,
Real  c12 
)

Definition at line 1469 of file GromacsTopFile.C.

References ResizeArray< T >::add(), GroLJPair::c12pair, GroLJPair::c6pair, GroLJPair::indxLJA, GroLJPair::indxLJB, and numLJPair.

Referenced by GromacsTopFile::GromacsTopFile().

1469  {
1470  GroLJPair glp;
1471  glp.indxLJA = indexA;
1472  glp.indxLJB = indexB;
1473  glp.c6pair = pairC6;
1474  glp.c12pair = pairC12;
1475  pairlistLJ.add(glp);
1476  numLJPair++;
1477  return 0;
1478 
1479  // Insert the second copy
1480  GroLJPair glp2;
1481  glp2.indxLJA = indexB;
1482  glp2.indxLJB = indexA;
1483  glp2.c6pair = pairC6;
1484  glp2.c12pair = pairC12;
1485  pairlistLJ.add(glp2);
1486  numLJPair++;
1487  return 0;
1488 }
int add(const Elem &elem)
Definition: ResizeArray.h:97
int numLJPair
void PairTable::getPairGaussArrays2 ( int *  indexA,
int *  indexB,
Real gaussA,
Real gaussMu1,
Real gaussSigma1,
Real gaussMu2,
Real gaussSigma2,
Real gaussRepulsive 
)

Definition at line 1540 of file GromacsTopFile.C.

References ResizeArray< T >::begin(), ResizeArray< T >::end(), GroGaussCompare(), numGaussPair, and sort.

Referenced by GromacsTopFile::getPairGaussArrays2().

1542  {
1543  std::sort(pairlistGauss.begin(),pairlistGauss.end(),GroGaussCompare);
1544  for(int i = 0; i < numGaussPair; i++) {
1545  indexA[i] = pairlistGauss[i].indxGaussA;
1546  indexB[i] = pairlistGauss[i].indxGaussB;
1547  gaussA[i] = pairlistGauss[i].gA;
1548  gaussMu1[i] = pairlistGauss[i].gMu1;
1549  gaussSigma1[i] = pairlistGauss[i].giSigma1;
1550  gaussMu2[i] = pairlistGauss[i].gMu2;
1551  gaussSigma2[i] = pairlistGauss[i].giSigma2;
1552  gaussRepulsive[i] = pairlistGauss[i].gRepulsive;
1553  }
1554 }
static bool GroGaussCompare(GroGaussPair, GroGaussPair)
int numGaussPair
iterator end(void)
Definition: ResizeArray.h:37
BlockRadixSort::TempStorage sort
iterator begin(void)
Definition: ResizeArray.h:36
void PairTable::getPairLJArrays2 ( int *  indexA,
int *  indexB,
Real pairC6,
Real pairC12 
)

Definition at line 1528 of file GromacsTopFile.C.

References ResizeArray< T >::begin(), ResizeArray< T >::end(), GroLJCompare(), numLJPair, and sort.

Referenced by GromacsTopFile::getPairLJArrays2().

1528  {
1529 
1530  std::sort(pairlistLJ.begin(),pairlistLJ.end(),GroLJCompare);
1532  for(int i = 0; i < numLJPair; i++) {
1533  indexA[i] = pairlistLJ[i].indxLJA;
1534  indexB[i] = pairlistLJ[i].indxLJB;
1535  pairC6[i] = pairlistLJ[i].c6pair;
1536  pairC12[i] = pairlistLJ[i].c12pair;
1537  }
1538 }
iterator end(void)
Definition: ResizeArray.h:37
int numLJPair
BlockRadixSort::TempStorage sort
static bool GroLJCompare(GroLJPair, GroLJPair)
iterator begin(void)
Definition: ResizeArray.h:36
bool PairTable::GroGaussCompare ( GroGaussPair  A,
GroGaussPair  B 
)
static

Definition at line 1565 of file GromacsTopFile.C.

References GroGaussPair::indxGaussA, and GroGaussPair::indxGaussB.

Referenced by getPairGaussArrays2().

1565  {
1566  if(A.indxGaussA < B.indxGaussA) {
1567  return true;
1568  } else if(A.indxGaussA == B.indxGaussA) {
1569  return (A.indxGaussB < B.indxGaussB);
1570  }
1571  return false;
1572 }
bool PairTable::GroLJCompare ( GroLJPair  A,
GroLJPair  B 
)
static

Definition at line 1556 of file GromacsTopFile.C.

References GroLJPair::indxLJA, and GroLJPair::indxLJB.

Referenced by getPairLJArrays2().

1556  {
1557  if(A.indxLJA < B.indxLJA) {
1558  return true;
1559  } else if(A.indxLJA == B.indxLJA) {
1560  return (A.indxLJB < B.indxLJB);
1561  }
1562  return false;
1563 }

The documentation for this class was generated from the following files: