#ifdef __cplusplus
extern "C" {
#endif
+#if 0
+} /* fixes auto-indentation problems */
+#endif
-/* The nonbonded kernels are documented in gmxlib/nonbonded_kernels,
- * but here's a lazy version of the numbering. The first position
- * is the Coulomb interaction (0 for none), second is Van der Waals
- * (again, 0 means no interaction), and the third is the water optimization
- * (0 meaning no water optimization = standard atom-atom loop)
- *
- * value
- * pos 1 2 3 4
- * 1st Coul Normal,1/r Reaction-field Table Generalized born
- * 2nd Vdw Lennard-Jones Buckingham Table n/a
- * 3rd Water. opt SPC-other atom SPC-SPC TIP4p-other at. TIP4p-TIP4p
- */
#define eNR_NBKERNEL_NONE -1
enum
{
- eNR_NBKERNEL010, eNR_NBKERNEL020, eNR_NBKERNEL030,
- eNR_NBKERNEL100, eNR_NBKERNEL101, eNR_NBKERNEL102, eNR_NBKERNEL103, eNR_NBKERNEL104,
- eNR_NBKERNEL110, eNR_NBKERNEL111, eNR_NBKERNEL112, eNR_NBKERNEL113, eNR_NBKERNEL114,
- eNR_NBKERNEL120, eNR_NBKERNEL121, eNR_NBKERNEL122, eNR_NBKERNEL123, eNR_NBKERNEL124,
- eNR_NBKERNEL130, eNR_NBKERNEL131, eNR_NBKERNEL132, eNR_NBKERNEL133, eNR_NBKERNEL134,
- eNR_NBKERNEL200, eNR_NBKERNEL201, eNR_NBKERNEL202, eNR_NBKERNEL203, eNR_NBKERNEL204,
- eNR_NBKERNEL210, eNR_NBKERNEL211, eNR_NBKERNEL212, eNR_NBKERNEL213, eNR_NBKERNEL214,
- eNR_NBKERNEL220, eNR_NBKERNEL221, eNR_NBKERNEL222, eNR_NBKERNEL223, eNR_NBKERNEL224,
- eNR_NBKERNEL230, eNR_NBKERNEL231, eNR_NBKERNEL232, eNR_NBKERNEL233, eNR_NBKERNEL234,
- eNR_NBKERNEL300, eNR_NBKERNEL301, eNR_NBKERNEL302, eNR_NBKERNEL303, eNR_NBKERNEL304,
- eNR_NBKERNEL310, eNR_NBKERNEL311, eNR_NBKERNEL312, eNR_NBKERNEL313, eNR_NBKERNEL314,
- eNR_NBKERNEL320, eNR_NBKERNEL321, eNR_NBKERNEL322, eNR_NBKERNEL323, eNR_NBKERNEL324,
- eNR_NBKERNEL330, eNR_NBKERNEL331, eNR_NBKERNEL332, eNR_NBKERNEL333, eNR_NBKERNEL334,
- eNR_NBKERNEL400, eNR_NBKERNEL410, eNR_NBKERNEL430,
- eNR_NBKERNEL010NF, eNR_NBKERNEL020NF, eNR_NBKERNEL030NF,
- eNR_NBKERNEL100NF, eNR_NBKERNEL101NF, eNR_NBKERNEL102NF, eNR_NBKERNEL103NF, eNR_NBKERNEL104NF,
- eNR_NBKERNEL110NF, eNR_NBKERNEL111NF, eNR_NBKERNEL112NF, eNR_NBKERNEL113NF, eNR_NBKERNEL114NF,
- eNR_NBKERNEL120NF, eNR_NBKERNEL121NF, eNR_NBKERNEL122NF, eNR_NBKERNEL123NF, eNR_NBKERNEL124NF,
- eNR_NBKERNEL130NF, eNR_NBKERNEL131NF, eNR_NBKERNEL132NF, eNR_NBKERNEL133NF, eNR_NBKERNEL134NF,
- eNR_NBKERNEL200NF, eNR_NBKERNEL201NF, eNR_NBKERNEL202NF, eNR_NBKERNEL203NF, eNR_NBKERNEL204NF,
- eNR_NBKERNEL210NF, eNR_NBKERNEL211NF, eNR_NBKERNEL212NF, eNR_NBKERNEL213NF, eNR_NBKERNEL214NF,
- eNR_NBKERNEL220NF, eNR_NBKERNEL221NF, eNR_NBKERNEL222NF, eNR_NBKERNEL223NF, eNR_NBKERNEL224NF,
- eNR_NBKERNEL230NF, eNR_NBKERNEL231NF, eNR_NBKERNEL232NF, eNR_NBKERNEL233NF, eNR_NBKERNEL234NF,
- eNR_NBKERNEL300NF, eNR_NBKERNEL301NF, eNR_NBKERNEL302NF, eNR_NBKERNEL303NF, eNR_NBKERNEL304NF,
- eNR_NBKERNEL310NF, eNR_NBKERNEL311NF, eNR_NBKERNEL312NF, eNR_NBKERNEL313NF, eNR_NBKERNEL314NF,
- eNR_NBKERNEL320NF, eNR_NBKERNEL321NF, eNR_NBKERNEL322NF, eNR_NBKERNEL323NF, eNR_NBKERNEL324NF,
- eNR_NBKERNEL330NF, eNR_NBKERNEL331NF, eNR_NBKERNEL332NF, eNR_NBKERNEL333NF, eNR_NBKERNEL334NF,
- eNR_NBKERNEL400NF, eNR_NBKERNEL410NF, eNR_NBKERNEL430NF,
- eNR_NBKERNEL_NR,
- eNR_NBKERNEL_FREE_ENERGY = eNR_NBKERNEL_NR,
+ eNR_NBKERNEL_VDW_VF,
+ eNR_NBKERNEL_VDW_F,
+ eNR_NBKERNEL_ELEC_VF,
+ eNR_NBKERNEL_ELEC_F,
+ eNR_NBKERNEL_ELEC_W3_VF,
+ eNR_NBKERNEL_ELEC_W3_F,
+ eNR_NBKERNEL_ELEC_W3W3_VF,
+ eNR_NBKERNEL_ELEC_W3W3_F,
+ eNR_NBKERNEL_ELEC_W4_VF,
+ eNR_NBKERNEL_ELEC_W4_F,
+ eNR_NBKERNEL_ELEC_W4W4_VF,
+ eNR_NBKERNEL_ELEC_W4W4_F,
+ eNR_NBKERNEL_ELEC_VDW_VF,
+ eNR_NBKERNEL_ELEC_VDW_F,
+ eNR_NBKERNEL_ELEC_VDW_W3_VF,
+ eNR_NBKERNEL_ELEC_VDW_W3_F,
+ eNR_NBKERNEL_ELEC_VDW_W3W3_VF,
+ eNR_NBKERNEL_ELEC_VDW_W3W3_F,
+ eNR_NBKERNEL_ELEC_VDW_W4_VF,
+ eNR_NBKERNEL_ELEC_VDW_W4_F,
+ eNR_NBKERNEL_ELEC_VDW_W4W4_VF,
+ eNR_NBKERNEL_ELEC_VDW_W4W4_F,
+
+ eNR_NBKERNEL_NR, /* Total number of interaction-specific kernel entries */
+
+ eNR_NBKERNEL_GENERIC = eNR_NBKERNEL_NR, /* Reuse number; KERNEL_NR is not an entry itself */
+ eNR_NBKERNEL_FREE_ENERGY, /* Add other generic kernels _before_ the free energy one */
+
eNR_NBKERNEL_ALLVSALL,
eNR_NBKERNEL_ALLVSALLGB,
- eNR_NBKERNEL_OUTER,
+
eNR_NBNXN_DIST2,
eNR_NBNXN_LJ_RF, eNR_NBNXN_LJ_RF_E,
eNR_NBNXN_LJ_TAB, eNR_NBNXN_LJ_TAB_E,
};
-typedef struct {
- double n[eNRNB];
-} t_nrnb;
+typedef struct
+{
+ double n[eNRNB];
+}
+t_nrnb;
typedef struct gmx_wallcycle *gmx_wallcycle_t;