21   if (!soluteScalingOn) {
    27   table_alloc = 
new char[2*table_dim*table_dim*
sizeof(
TableEntry) + 31];
    28   char *table_align = table_alloc;
    29   while ( (
long)table_align % 32 ) table_align++;
    31   for (
register int i=0; i < table_dim; i++)
    32     for (
register int j=i; j < table_dim; j++)
    34       TableEntry *curij = &(table[2*(i*table_dim+j)]);
    35       TableEntry *curji = &(table[2*(j*table_dim+i)]);
    37       if ( ! LJPMESerialRealSpaceOn ) {
    38         compute_vdw_params(i,j,curij,curij+1);
    40         curij->
A = curij->
B = 0.0;
    41         curji->
A = curji->
B = 0.0;
    46       *(curji + 1) = *(curij + 1);
    54   delete [] table_alloc;
    58 void LJTable::compute_vdw_params(
int i, 
int j,
    64   int useGeom = 
simParams->vdwGeometricSigma;
    72   const int i_type = soluteScalingOn ? ((i >= table_dim_org)? ss_vdw_type[i-table_dim_org]:i) : i;
    73   const int j_type = soluteScalingOn ? ((j >= table_dim_org)? ss_vdw_type[j-table_dim_org]:j) : j;
    81 #if defined(NAMD_CUDA) || defined(NAMD_HIP)    82     NAMD_die(
"Tabulated energies are not supported in CUDA-enabled NAMD");
    85         "LJTable::compute_vdw_params: energy table index is negative");
    89     cur_scaled->
A = -1 - K;
    99     if ( tabulatedEnergies && ( cur->
A < 0 || cur_scaled->
A < 0 ) )
   100       NAMD_die(
"LJ A is negative with tabulatedEnergies enabled");
   117     Real sigma_i, sigma_i14, epsilon_i, epsilon_i14;
   118     Real sigma_j, sigma_j14, epsilon_j, epsilon_j14;
   121                                        &epsilon_i14,i_type);
   123                                        &epsilon_j14,j_type);
   126        useGeom ? sqrt(sigma_i*sigma_j) : 0.5*(sigma_i+sigma_j);
   128        useGeom ? sqrt(sigma_i14*sigma_j14) : 0.5 * (sigma_i14+sigma_j14);
   129     BigReal epsilon_ij = sqrt(epsilon_i*epsilon_j);
   130     BigReal epsilon_ij14 = sqrt(epsilon_i14*epsilon_j14);
   135     sigma_ij *= sigma_ij*sigma_ij;
   136     sigma_ij *= sigma_ij;
   137     sigma_ij14 *= sigma_ij14*sigma_ij14;
   138     sigma_ij14 *= sigma_ij14;
   141     cur->
B = 4.0 * sigma_ij * epsilon_ij;
   142     cur->
A = cur->
B * sigma_ij;
   143     cur_scaled->
B = 4.0 * sigma_ij14 * epsilon_ij14;
   144     cur_scaled->
A = cur_scaled->
B * sigma_ij14;
   146     if ( tabulatedEnergies && ( cur->
A < 0 || cur_scaled->
A < 0 ) )
   147       NAMD_die(
"LJ A is negative with tabulatedEnergies enabled");
   152   if (soluteScalingOn) {
   154     if (i >= table_dim_org && i < (table_dim_org+ss_dim) && j < table_dim_org) {
   155       cur->
A *= sqrt(soluteScalingFactor);
   156       cur->
B *= sqrt(soluteScalingFactor);
   157       cur_scaled->
A *= sqrt(soluteScalingFactor);
   158       cur_scaled->
B *= sqrt(soluteScalingFactor);
   160     if (i < table_dim_org && j >= table_dim_org && j < (table_dim_org+ss_dim)) {
   161       cur->
A *= sqrt(soluteScalingFactor);
   162       cur->
B *= sqrt(soluteScalingFactor);
   163       cur_scaled->
A *= sqrt(soluteScalingFactor);
   164       cur_scaled->
B *= sqrt(soluteScalingFactor);
   166     if (i >=table_dim_org && i < (table_dim_org+ss_dim) && j >= table_dim_org && j < (table_dim_org+ss_dim)) {
   167       cur->
A *= soluteScalingFactor;
   168       cur->
B *= soluteScalingFactor;
   169       cur_scaled->
A *= soluteScalingFactor;
   170       cur_scaled->
B *= soluteScalingFactor;
 
SimParameters * simParameters
 
void NAMD_bug(const char *err_msg)
 
int get_vdw_pair_params(Index ind1, Index ind2, Real *, Real *, Real *, Real *)
 
void NAMD_die(const char *err_msg)
 
Bool LJPMESerialRealSpaceOn
 
int get_num_vdw_params(void)
 
int get_table_pair_params(Index, Index, int *)
 
void get_vdw_params(Real *sigma, Real *epsilon, Real *sigma14, Real *epsilon14, Index index)