NAMD
Broadcasts.h
Go to the documentation of this file.
1 
7 #ifndef BROADCASTS_H
8 #define BROADCASTS_H
9 
10 #include "NamdTypes.h"
11 #include "Lattice.h"
12 #include "BroadcastObject.h"
13 
14 enum {
36 };
37 
38 // Tags used in common by all users of broadcast system.
39 enum {
42  // For multigrator
47  // End multigrator
52  // For Monte Carlo Pressure
54 #if USE_BARRIER
55  cycleBarrierTag,
56 #endif
61  adaptTemperatureTag, //Tag for adaptive tempering temperature updates to Sequencer
62 #ifdef MEASURE_NAMD_WITH_PAPI
63  papiMeasureTag,
64 #endif
66 };
67 
68 // Broadcasts used by Contoller <-> Sequencer communication.
70 {
73  // For multigrator
78  // End multigrator
83  // For Monte Carlo Pressure
85 #if USE_BARRIER
86  SimpleBroadcastObject<int> cycleBarrier;
87 #endif
93 #ifdef MEASURE_NAMD_WITH_PAPI
94  SimpleBroadcastObject<int> papiMeasureBarrier;
95 #endif
96 
97  ControllerBroadcasts(const LDObjHandle *ldObjPtr = 0, NodeBroadcast* nodeBroadcast = 0) :
98  velocityRescaleFactor(velocityRescaleFactorTag, ldObjPtr, nodeBroadcast),
99  positionRescaleFactor(positionRescaleFactorTag, ldObjPtr, nodeBroadcast,
100  true /* useSharedIfPossible */),
101  // For multigrator
102  velocityRescaleTensor(velocityRescaleTensorTag, ldObjPtr, nodeBroadcast),
103  velocityRescaleTensor2(velocityRescaleTensor2Tag, ldObjPtr, nodeBroadcast),
104  velocityRescaleFactor2(velocityRescaleFactor2Tag, ldObjPtr, nodeBroadcast),
105  positionRescaleFactor2(positionRescaleFactor2Tag, ldObjPtr, nodeBroadcast),
106  // End multigrator
107  tcoupleCoefficient(tcoupleCoefficientTag, ldObjPtr, nodeBroadcast),
108  stochRescaleCoefficient(stochRescaleCoefficientTag, ldObjPtr, nodeBroadcast,
109  true /* useSharedIfPossible */),
110  minimizeCoefficient(minimizeCoefficientTag, ldObjPtr, nodeBroadcast),
111  momentumCorrection(momentumCorrectionTag, ldObjPtr, nodeBroadcast),
112  // For Monte Carlo Pressure
114  true /* useSharedIfPossible */),
115 #if USE_BARRIER
116  cycleBarrier(cycleBarrierTag, ldObjPtr, nodeBroadcast),
117 #endif
118  accelMDRescaleFactor(accelMDRescaleFactorTag, ldObjPtr, nodeBroadcast),
119  adaptTemperature(adaptTemperatureTag, ldObjPtr, nodeBroadcast),
120  scriptBarrier(scriptBarrierTag, ldObjPtr, nodeBroadcast),
121 #ifdef MEASURE_NAMD_WITH_PAPI
122  papiMeasureBarrier(papiMeasureTag, ldObjPtr, nodeBroadcast),
123 #endif
124  traceBarrier(traceBarrierTag, ldObjPtr, nodeBroadcast),
125  IMDTimeEnergyBarrier(IMDTimeEnergyBarrierTag, ldObjPtr, nodeBroadcast)
126  { ; }
127 };
128 
129 #endif // BROADCASTS_H
130 
SimpleBroadcastObject< int > traceBarrier
Definition: Broadcasts.h:89
SimpleBroadcastObject< Vector > momentumCorrection
Definition: Broadcasts.h:82
SimpleBroadcastObject< BigReal > adaptTemperature
Definition: Broadcasts.h:92
SimpleBroadcastObject< BigReal > tcoupleCoefficient
Definition: Broadcasts.h:79
SimpleBroadcastObject< BigReal > stochRescaleCoefficient
Definition: Broadcasts.h:80
SimpleBroadcastObject< int > monteCarloBarostatAcceptance
Definition: Broadcasts.h:84
SimpleBroadcastObject< Tensor > velocityRescaleTensor2
Definition: Broadcasts.h:75
SimpleBroadcastObject< int > IMDTimeEnergyBarrier
Definition: Broadcasts.h:90
SimpleBroadcastObject< int > scriptBarrier
Definition: Broadcasts.h:88
SimpleBroadcastObject< BigReal > velocityRescaleFactor2
Definition: Broadcasts.h:76
SimpleBroadcastObject< BigReal > velocityRescaleFactor
Definition: Broadcasts.h:71
SimpleBroadcastObject< BigReal > minimizeCoefficient
Definition: Broadcasts.h:81
SimpleBroadcastObject< Vector > accelMDRescaleFactor
Definition: Broadcasts.h:91
SimpleBroadcastObject< Tensor > positionRescaleFactor
Definition: Broadcasts.h:72
SimpleBroadcastObject< Tensor > positionRescaleFactor2
Definition: Broadcasts.h:77
SimpleBroadcastObject< Tensor > velocityRescaleTensor
Definition: Broadcasts.h:74
ControllerBroadcasts(const LDObjHandle *ldObjPtr=0, NodeBroadcast *nodeBroadcast=0)
Definition: Broadcasts.h:97
#define USE_BARRIER
Definition: common.h:190