NAMD
Public Attributes | List of all members
AlchData Struct Reference

Alchemical datastructure that holds the lambda-relevant paramenters for FEP/TI. More...

#include <CudaComputeNonbondedKernel.h>

Public Attributes

float scaling
 
float switchdist2
 
float cutoff2
 
float switchfactor
 
float alchVdwShiftCoeff
 
float lambdaUp
 
float lambdaDown
 
float elecLambdaUp
 
float elecLambdaDown
 
float vdwLambdaUp
 
float vdwLambdaDown
 
float lambda2Up
 
float lambda2Down
 
float elecLambda2Up
 
float elecLambda2Down
 
float vdwLambda2Up
 
float vdwLambda2Down
 
float vdwShiftUp
 
float vdwShift2Up
 
float vdwShiftDown
 
float vdwShift2Down
 
bool alchDecouple
 

Detailed Description

Alchemical datastructure that holds the lambda-relevant paramenters for FEP/TI.

JM: For every force evaluation, we copy the alchemical parameters in SimParameters onto the following data structure, which then gets copied to the constant memory. This whole thing could be done only once per lambda-window. For the elec* and vdw* parameters, we should use the getter functions on SimParams to calculate the current lambdas. Haochuan (Updated on 2022-10-31): Some alchemical parameters could depends on the simulation step. For example, lambda2Up could be changed every step if IDWS is on and alchIDWSFreq is set to 1 (see SimParameters::getCurrentLambda2 in SimParameters.C for more information). To solve this issue without sacrificing the performance, we need to compute the parameters every step on CPU, compare them to the previous cached results, and copy them to GPU memory if they are changed.

Definition at line 24 of file CudaComputeNonbondedKernel.h.

Member Data Documentation

◆ alchDecouple

bool AlchData::alchDecouple

Definition at line 49 of file CudaComputeNonbondedKernel.h.

◆ alchVdwShiftCoeff

float AlchData::alchVdwShiftCoeff

Definition at line 29 of file CudaComputeNonbondedKernel.h.

◆ cutoff2

float AlchData::cutoff2

Definition at line 27 of file CudaComputeNonbondedKernel.h.

◆ elecLambda2Down

float AlchData::elecLambda2Down

Definition at line 41 of file CudaComputeNonbondedKernel.h.

◆ elecLambda2Up

float AlchData::elecLambda2Up

Definition at line 40 of file CudaComputeNonbondedKernel.h.

◆ elecLambdaDown

float AlchData::elecLambdaDown

Definition at line 34 of file CudaComputeNonbondedKernel.h.

◆ elecLambdaUp

float AlchData::elecLambdaUp

Definition at line 33 of file CudaComputeNonbondedKernel.h.

◆ lambda2Down

float AlchData::lambda2Down

Definition at line 39 of file CudaComputeNonbondedKernel.h.

◆ lambda2Up

float AlchData::lambda2Up

Definition at line 38 of file CudaComputeNonbondedKernel.h.

◆ lambdaDown

float AlchData::lambdaDown

Definition at line 32 of file CudaComputeNonbondedKernel.h.

◆ lambdaUp

float AlchData::lambdaUp

Definition at line 31 of file CudaComputeNonbondedKernel.h.

◆ scaling

float AlchData::scaling

Definition at line 25 of file CudaComputeNonbondedKernel.h.

◆ switchdist2

float AlchData::switchdist2

Definition at line 26 of file CudaComputeNonbondedKernel.h.

◆ switchfactor

float AlchData::switchfactor

Definition at line 28 of file CudaComputeNonbondedKernel.h.

◆ vdwLambda2Down

float AlchData::vdwLambda2Down

Definition at line 43 of file CudaComputeNonbondedKernel.h.

◆ vdwLambda2Up

float AlchData::vdwLambda2Up

Definition at line 42 of file CudaComputeNonbondedKernel.h.

◆ vdwLambdaDown

float AlchData::vdwLambdaDown

Definition at line 36 of file CudaComputeNonbondedKernel.h.

◆ vdwLambdaUp

float AlchData::vdwLambdaUp

Definition at line 35 of file CudaComputeNonbondedKernel.h.

◆ vdwShift2Down

float AlchData::vdwShift2Down

Definition at line 48 of file CudaComputeNonbondedKernel.h.

◆ vdwShift2Up

float AlchData::vdwShift2Up

Definition at line 46 of file CudaComputeNonbondedKernel.h.

◆ vdwShiftDown

float AlchData::vdwShiftDown

Definition at line 47 of file CudaComputeNonbondedKernel.h.

◆ vdwShiftUp

float AlchData::vdwShiftUp

Definition at line 45 of file CudaComputeNonbondedKernel.h.


The documentation for this struct was generated from the following file: