Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

SimParameters Class Reference

#include <SimParameters.h>

List of all members.

Public Member Functions

 SimParameters ()
 SimParameters (ConfigList *c, char *&cwd)
 ~SimParameters ()
void initialize_config_data (ConfigList *, char *&cwd)
void send_SimParameters (Communicate *)
void receive_SimParameters (MIStream *)
void scriptSet (const char *, const char *)

Public Attributes

int watmodel
char dummy
BigReal dt
int N
int stepsPerCycle
zVector cellBasisVector1
zVector cellBasisVector2
zVector cellBasisVector3
zVector cellOrigin
Lattice lattice
int nonbondedFrequency
int fullElectFrequency
BigReal fmaTheta
int ldbStrategy
int ldbPeriod
int firstLdbStep
int lastLdbStep
BigReal ldbBackgroundScaling
BigReal ldbPMEBackgroundScaling
BigReal ldbHomeBackgroundScaling
int twoAwayX
int twoAwayY
int twoAwayZ
Bool ldbUnloadPME
Bool ldbUnloadSMP
Bool ldbUnloadZero
Bool ldbUnloadOne
Bool ldbUnloadRankZero
int procsPerNode
int ldbUnloadRank
Bool noPatchesOnZero
Bool noPatchesOnOne
Bool shiftIOToOne
BigReal initialTemp
Bool comMove
Bool zeroMomentum
Bool zeroMomentumAlt
Bool wrapWater
Bool wrapAll
Bool wrapNearest
BigReal dielectric
ExclusionSettings exclude
BigReal scale14
BigReal nonbondedScaling
int dcdFrequency
int dcdUnitCell
int velDcdFrequency
int xstFrequency
char auxFilename [128]
char dcdFilename [128]
char velDcdFilename [128]
char xstFilename [128]
char outputFilename [128]
char restartFilename [128]
int restartFrequency
Bool restartSave
Bool binaryRestart
Bool binaryOutput
BigReal cutoff
BigReal margin
BigReal patchDimension
BigReal limitDist
Bool switchingActive
BigReal switchingDist
BigReal pairlistDist
int pairlistMinProcs
int usePairlists
int pairlistsPerCycle
BigReal pairlistShrink
BigReal pairlistGrow
BigReal pairlistTrigger
int outputPairlists
Bool constraintsOn
int constraintExp
Bool gridforceOn
Bool gridforceVolts
zVector gridforceScale
Bool gridforceContA1
Bool gridforceContA2
Bool gridforceContA3
zVector gridforceVOffset
Bool selectConstraintsOn
Bool constrXOn
Bool constrYOn
Bool constrZOn
BigReal constraintScaling
Bool paraTypeXplorOn
Bool paraTypeCharmmOn
Bool movingConstraintsOn
zVector movingConsVel
Bool rotConstraintsOn
zVector rotConsAxis
zVector rotConsPivot
BigReal rotConsVel
Bool movDragOn
char movDragFile [128]
BigReal movDragGlobVel
char movDragVelFile [128]
Bool rotDragOn
char rotDragFile [128]
char rotDragAxisFile [128]
char rotDragPivotFile [128]
BigReal rotDragGlobVel
char rotDragVelFile [128]
Bool consTorqueOn
char consTorqueFile [128]
char consTorqueAxisFile [128]
char consTorquePivotFile [128]
BigReal consTorqueGlobVal
char consTorqueValFile [128]
Bool SMDOn
BigReal SMDVel
zVector SMDDir
BigReal SMDk
BigReal SMDk2
char SMDFile [128]
int SMDOutputFreq
Bool TMDOn
BigReal TMDk
char TMDFile [128]
int TMDOutputFreq
int TMDFirstStep
int TMDLastStep
BigReal TMDInitialRMSD
BigReal TMDFinalRMSD
Bool fepOn
BigReal lambda
BigReal lambda2
BigReal fepTemp
int fepOutFreq
char fepOutFile [128]
int fepEquilSteps
BigReal fepVdwShiftCoeff
BigReal fepElecLambdaStart
BigReal fepVdwLambdaEnd
Bool thermInt
BigReal tiLambda
BigReal tiTemp
int tiOutFreq
char tiOutFile [128]
int tiEquilSteps
BigReal tiVdwShiftCoeff
BigReal tiElecLambdaStart
BigReal tiVdwLambdaEnd
Bool decouple
Bool lesOn
int lesFactor
Bool lesReduceTemp
Bool lesReduceMass
Bool extForcesOn
char extForcesCommand [256]
char extCoordFilename [128]
char extForceFilename [128]
Bool pairInteractionOn
int pairInteractionGroup1
int pairInteractionGroup2
Bool pairInteractionSelf
Bool globalForcesOn
Bool tclForcesOn
Bool tclBCOn
char * tclBCScript
char tclBCArgs [128]
Bool freeEnergyOn
Bool miscForcesOn
Bool fixedAtomsOn
Bool fixedAtomsForces
Bool langevinOn
BigReal langevinTemp
BigReal langevinDamping
Bool langevinHydrogen
Bool globalOn
Bool dihedralOn
Bool COLDOn
BigReal COLDRate
BigReal COLDTemp
Bool tCoupleOn
BigReal tCoupleTemp
int rescaleFreq
BigReal rescaleTemp
int reassignFreq
BigReal reassignTemp
BigReal reassignIncr
BigReal reassignHold
Bool useGroupPressure
Bool excludeFromPressure
Bool useFlexibleCell
Bool useConstantArea
Bool useConstantRatio
Bool berendsenPressureOn
BigReal berendsenPressureTarget
BigReal berendsenPressureCompressibility
BigReal berendsenPressureRelaxationTime
int berendsenPressureFreq
Bool langevinPistonOn
BigReal langevinPistonTarget
BigReal langevinPistonPeriod
BigReal langevinPistonDecay
BigReal langevinPistonTemp
BigReal surfaceTensionTarget
Bool pressureProfileOn
int pressureProfileSlabs
int pressureProfileFreq
int pressureProfileAtomTypes
Bool pressureProfileEwaldOn
int pressureProfileEwaldX
int pressureProfileEwaldY
int pressureProfileEwaldZ
zVector strainRate
zVector strainRate2
unsigned int randomSeed
Bool FMAOn
int FMALevels
int FMAMp
Bool FMAFFTOn
int FMAFFTBlock
Bool fullDirectOn
Bool PMEOn
BigReal PMETolerance
BigReal PMEEwaldCoefficient
int PMEInterpOrder
int PMEGridSizeX
int PMEGridSizeY
int PMEGridSizeZ
BigReal PMEGridSpacing
int PMEProcessors
int PMEMinSlices
int PMEMinPoints
Bool PMEBarrier
int PMEPencils
Bool useDPME
Bool FFTWEstimate
Bool FFTWUseWisdom
char FFTWWisdomFile [128]
char * FFTWWisdomString
Bool minimizeCGOn
BigReal minTinyStep
BigReal minBabyStep
BigReal minLineGoal
Bool minimizeOn
BigReal maximumMove
Bool sphericalBCOn
zVector sphericalCenter
BigReal sphericalBCk1
BigReal sphericalBCk2
BigReal sphericalBCr1
BigReal sphericalBCr2
int sphericalBCexp1
int sphericalBCexp2
Bool cylindricalBCOn
zVector cylindricalCenter
char cylindricalBCAxis
BigReal cylindricalBCr1
BigReal cylindricalBCr2
BigReal cylindricalBCl1
BigReal cylindricalBCl2
int cylindricalBCexp1
int cylindricalBCexp2
BigReal cylindricalBCk1
BigReal cylindricalBCk2
Bool eFieldOn
zVector eField
BigReal eFieldFreq
BigReal eFieldPhase
Bool stirOn
char stirFilename [128]
BigReal stirStartingTheta
BigReal stirVel
BigReal stirK
zVector stirAxis
zVector stirPivot
Bool extraBondsOn
Bool consForceOn
char consForceFile [128]
BigReal consForceScaling
int outputEnergies
int outputMomenta
int outputTiming
int outputPressure
Bool mergeCrossterms
int firstTimestep
MTSChoices MTSAlgorithm
int longSplitting
int splitPatch
BigReal hgroupCutoff
int mollyOn
BigReal mollyTol
int mollyIter
int rigidBonds
BigReal rigidTol
int rigidIter
int rigidDie
Bool useSettle
Bool testOn
Bool commOnly
int totalAtoms
int maxSelfPart
int maxPairPart
int numAtomsSelf
int numAtomsSelf2
int numAtomsPair
int numAtomsPair2
int minAtomsPerPatch
int maxExclusionFlags
Bool outputPatchDetails
Bool HydrogenBonds
Bool useAntecedent
int aaAngleExp
int haAngleExp
int distAttExp
int distRepExp
BigReal dhaCutoffAngle
BigReal dhaOnAngle
BigReal dhaOffAngle
BigReal daCutoffDist
BigReal daOnDist
BigReal daOffDist
int IMDon
int IMDport
int IMDfreq
int IMDwait
int IMDignore
Bool amberOn
Bool readExclusions
BigReal vdwscale14
Bool gromacsOn
Bool vdwGeometricSigma
BigReal scriptArg1
BigReal scriptArg2
BigReal scriptArg3
BigReal scriptArg4
BigReal scriptArg5
Bool useCompressedPsf
Bool genCompressedPsf
Bool enableProxySendST
Bool enableProxyRecvST


Constructor & Destructor Documentation

SimParameters::SimParameters  )  [inline]
 

Definition at line 601 of file SimParameters.h.

00601 {};

SimParameters::SimParameters ConfigList c,
char *&  cwd
[inline]
 

Definition at line 602 of file SimParameters.h.

00602                                                  {
00603           initialize_config_data(c,cwd);
00604         };

SimParameters::~SimParameters  )  [inline]
 

Definition at line 605 of file SimParameters.h.

00605 {};


Member Function Documentation

void SimParameters::initialize_config_data ConfigList ,
char *&  cwd
 

Definition at line 78 of file SimParameters.C.

References ParseOptions::check_consistancy(), NAMD_die(), and ParseOptions::set().

00080 {
00081 
00082    ParseOptions opts;   //  Object to check consistency of config file
00083 
00084    config_parser(opts);
00085 
00087    if (!opts.check_consistancy()) 
00088    {
00089       NAMD_die("Internal error in configuration file parser");
00090    }
00091 
00092    // Now, feed the object with the actual configuration options through the
00093    // ParseOptions file and make sure everything is OK
00094    if (!opts.set(*config)) 
00095    {
00096       NAMD_die("ERROR(S) IN THE CONFIGURATION FILE");
00097    }
00098 
00100 
00101    check_config(opts,config,cwd);
00102 
00103    print_config(opts,config,cwd);
00104 
00105 }

void SimParameters::receive_SimParameters MIStream  ) 
 

Definition at line 4006 of file SimParameters.C.

References FFTWWisdomString, MIStream::get(), and tclBCScript.

04008 {
04009   msg->get(sizeof(SimParameters),(char*)this);
04010   if ( FFTWWisdomString ) {
04011     int fftwlen;
04012     msg->get(fftwlen);
04013     FFTWWisdomString = new char[fftwlen];
04014     msg->get(fftwlen,FFTWWisdomString);
04015 #ifdef NAMD_FFTW
04016     fftw_import_wisdom_from_string(FFTWWisdomString);
04017 #endif
04018   }
04019   if ( tclBCScript ) {
04020     int tcllen;
04021     msg->get(tcllen);
04022     tclBCScript = new char[tcllen];
04023     msg->get(tcllen,tclBCScript);
04024   }
04025 
04026   delete msg;
04027 }

void SimParameters::scriptSet const char *  ,
const char * 
 

Definition at line 119 of file SimParameters.C.

References atobool(), berendsenPressureCompressibility, berendsenPressureOn, berendsenPressureRelaxationTime, berendsenPressureTarget, commOnly, consForceScaling, constraintScaling, eField, eFieldFreq, eFieldPhase, fepEquilSteps, firstTimestep, fixedAtomsOn, gridforceScale, gridforceVOffset, initialTemp, lambda, lambda2, langevinPistonDecay, langevinPistonOn, langevinPistonPeriod, langevinPistonTarget, langevinPistonTemp, langevinTemp, MAX_SCRIPT_PARAM_SIZE, N, NAMD_die(), nonbondedScaling, outputFilename, reassignTemp, rescaleTemp, SCRIPT_PARSE_BOOL, SCRIPT_PARSE_FLOAT, SCRIPT_PARSE_INT, SCRIPT_PARSE_STRING, SCRIPT_PARSE_VECTOR, scriptArg1, scriptArg2, scriptArg3, scriptArg4, scriptArg5, ComputeNonbondedUtil::select(), stirAxis, stirPivot, surfaceTensionTarget, tclBCArgs, useConstantArea, useConstantRatio, useFlexibleCell, and useGroupPressure.

Referenced by Node::scriptParam().

00119                                                                   {
00120 
00121 #define MAX_SCRIPT_PARAM_SIZE 128
00122 #define SCRIPT_PARSE_BOOL(NAME,VAR) { if ( ! strncasecmp(param,(NAME),MAX_SCRIPT_PARAM_SIZE) ) { (VAR) = atobool(value); return; } }
00123 #define SCRIPT_PARSE_INT(NAME,VAR) { if ( ! strncasecmp(param,(NAME),MAX_SCRIPT_PARAM_SIZE) ) { (VAR) = atoi(value); return; } }
00124 #define SCRIPT_PARSE_FLOAT(NAME,VAR) { if ( ! strncasecmp(param,(NAME),MAX_SCRIPT_PARAM_SIZE) ) { (VAR) = atof(value); return; } }
00125 #define SCRIPT_PARSE_VECTOR(NAME,VAR) { if ( ! strncasecmp(param,(NAME),MAX_SCRIPT_PARAM_SIZE) ) { (VAR).set(value); return; } }
00126 #define SCRIPT_PARSE_STRING(NAME,VAR) { if ( ! strncasecmp(param,(NAME),MAX_SCRIPT_PARAM_SIZE) ) { strcpy(VAR,value); return; } }
00127 
00128   SCRIPT_PARSE_FLOAT("scriptArg1",scriptArg1)
00129   SCRIPT_PARSE_FLOAT("scriptArg2",scriptArg2)
00130   SCRIPT_PARSE_FLOAT("scriptArg3",scriptArg3)
00131   SCRIPT_PARSE_FLOAT("scriptArg4",scriptArg4)
00132   SCRIPT_PARSE_FLOAT("scriptArg5",scriptArg5)
00133   SCRIPT_PARSE_INT("numsteps",N)
00134   SCRIPT_PARSE_INT("firsttimestep",firstTimestep)
00135   SCRIPT_PARSE_FLOAT("reassignTemp",reassignTemp)
00136   SCRIPT_PARSE_FLOAT("rescaleTemp",rescaleTemp)
00137   // SCRIPT_PARSE_BOOL("Langevin",langevinOn)
00138   SCRIPT_PARSE_FLOAT("langevinTemp",langevinTemp)
00139   SCRIPT_PARSE_FLOAT("initialTemp",initialTemp)
00140   SCRIPT_PARSE_BOOL("useGroupPressure",useGroupPressure)
00141   SCRIPT_PARSE_BOOL("useFlexibleCell",useFlexibleCell)
00142   SCRIPT_PARSE_BOOL("useConstantArea",useConstantArea)
00143   SCRIPT_PARSE_BOOL("useConstantRatio",useConstantRatio)
00144   SCRIPT_PARSE_BOOL("LangevinPiston",langevinPistonOn)
00145   SCRIPT_PARSE_FLOAT("LangevinPistonTarget",langevinPistonTarget)
00146   SCRIPT_PARSE_FLOAT("LangevinPistonPeriod",langevinPistonPeriod)
00147   SCRIPT_PARSE_FLOAT("LangevinPistonDecay",langevinPistonDecay)
00148   SCRIPT_PARSE_FLOAT("LangevinPistonTemp",langevinPistonTemp)
00149   SCRIPT_PARSE_FLOAT("SurfaceTensionTarget",surfaceTensionTarget)
00150   SCRIPT_PARSE_BOOL("BerendsenPressure",berendsenPressureOn)
00151   SCRIPT_PARSE_FLOAT("BerendsenPressureTarget",berendsenPressureTarget)
00152   SCRIPT_PARSE_FLOAT("BerendsenPressureCompressibility",
00153                                 berendsenPressureCompressibility)
00154   SCRIPT_PARSE_FLOAT("BerendsenPressureRelaxationTime",
00155                                 berendsenPressureRelaxationTime)
00156   SCRIPT_PARSE_FLOAT("constraintScaling",constraintScaling)
00157   SCRIPT_PARSE_FLOAT("consForceScaling",consForceScaling)
00158   SCRIPT_PARSE_STRING("outputname",outputFilename)
00159   SCRIPT_PARSE_STRING("tclBCArgs",tclBCArgs)
00160   SCRIPT_PARSE_VECTOR("eField",eField)
00161   SCRIPT_PARSE_FLOAT("eFieldFreq",eFieldFreq)
00162   SCRIPT_PARSE_FLOAT("eFieldPhase",eFieldPhase) 
00163   SCRIPT_PARSE_VECTOR("stirAxis",stirAxis)
00164   SCRIPT_PARSE_VECTOR("stirPivot",stirPivot)
00165   /* BEGIN gf */
00166   SCRIPT_PARSE_VECTOR("gridforcescale",gridforceScale)
00167   SCRIPT_PARSE_VECTOR("gridforcevoff",gridforceVOffset)
00168   /* END gf */
00169 
00170   if ( ! strncasecmp(param,"fixedatoms",MAX_SCRIPT_PARAM_SIZE) ) {
00171     if ( ! fixedAtomsOn )
00172       NAMD_die("FixedAtoms may not be enabled in a script.");
00173     if ( ! fixedAtomsForces )
00174       NAMD_die("To use fixedAtoms in script first use fixedAtomsForces yes.");
00175     fixedAtomsOn = atobool(value);
00176     return;
00177   }
00178 
00179 //Modifications for alchemical fep
00180 //SD & CC, CNRS - LCTN, Nancy
00181   SCRIPT_PARSE_INT("fepEquilSteps",fepEquilSteps)
00182 
00183   if ( ! strncasecmp(param,"lambda",MAX_SCRIPT_PARAM_SIZE) ) {
00184     lambda = atof(value);
00185     ComputeNonbondedUtil::select();
00186     return;
00187   }
00188 
00189   if ( ! strncasecmp(param,"lambda2",MAX_SCRIPT_PARAM_SIZE) ) {
00190     lambda2 = atof(value);
00191     ComputeNonbondedUtil::select();
00192     return;
00193   }
00194 //fepe
00195 
00196   if ( ! strncasecmp(param,"tiLambda",MAX_SCRIPT_PARAM_SIZE) ) {
00197     lambda = atof(value);
00198     ComputeNonbondedUtil::select();
00199     return;
00200   }
00201 
00202   if ( ! strncasecmp(param,"nonbondedScaling",MAX_SCRIPT_PARAM_SIZE) ) {
00203     nonbondedScaling = atof(value);
00204     ComputeNonbondedUtil::select();
00205     return;
00206   }
00207   if ( ! strncasecmp(param,"commOnly",MAX_SCRIPT_PARAM_SIZE) ) {
00208     commOnly = atobool(value);
00209     ComputeNonbondedUtil::select();
00210     return;
00211   }
00212 
00213   char *error = new char[2 * MAX_SCRIPT_PARAM_SIZE + 100];
00214   sprintf(error,"Setting parameter %s from script failed!\n",param);
00215   NAMD_die(error);
00216 
00217 }

void SimParameters::send_SimParameters Communicate  ) 
 

Definition at line 3972 of file SimParameters.C.

References ALLBUTME, BUFSIZE, MOStream::end(), FFTWWisdomString, NAMD_die(), Communicate::newOutputStream(), MOStream::put(), SIMPARAMSTAG, and tclBCScript.

03974 {
03975   MOStream *msg = com_obj->newOutputStream(ALLBUTME, SIMPARAMSTAG, BUFSIZE);
03976   if ( msg == NULL )
03977   {
03978     NAMD_die("memory allocation failed in SimParameters::send_SimParameters");
03979   }
03980 
03981   msg->put(sizeof(SimParameters),(char*)this);
03982   if ( FFTWWisdomString ) {
03983     int fftwlen = strlen(FFTWWisdomString) + 1;
03984     msg->put(fftwlen);
03985     msg->put(fftwlen,FFTWWisdomString);
03986   }
03987   if ( tclBCScript ) {
03988     int tcllen = strlen(tclBCScript) + 1;
03989     msg->put(tcllen);
03990     msg->put(tcllen,tclBCScript);
03991   }
03992 
03993   msg->end();
03994 }


Member Data Documentation

int SimParameters::aaAngleExp
 

Definition at line 557 of file SimParameters.h.

Bool SimParameters::amberOn
 

Definition at line 576 of file SimParameters.h.

Referenced by buildExclusions(), and NamdState::configListInit().

char SimParameters::auxFilename[128]
 

Definition at line 145 of file SimParameters.h.

Referenced by CollectionMaster::receiveDataStream().

BigReal SimParameters::berendsenPressureCompressibility
 

Definition at line 371 of file SimParameters.h.

Referenced by Controller::berendsenPressure(), and scriptSet().

int SimParameters::berendsenPressureFreq
 

Definition at line 373 of file SimParameters.h.

Referenced by Sequencer::berendsenPressure(), and Controller::berendsenPressure().

Bool SimParameters::berendsenPressureOn
 

Definition at line 369 of file SimParameters.h.

Referenced by Sequencer::berendsenPressure(), Controller::berendsenPressure(), and scriptSet().

BigReal SimParameters::berendsenPressureRelaxationTime
 

Definition at line 372 of file SimParameters.h.

Referenced by Controller::berendsenPressure(), and scriptSet().

BigReal SimParameters::berendsenPressureTarget
 

Definition at line 370 of file SimParameters.h.

Referenced by Controller::berendsenPressure(), and scriptSet().

Bool SimParameters::binaryOutput
 

Definition at line 160 of file SimParameters.h.

Bool SimParameters::binaryRestart
 

Definition at line 158 of file SimParameters.h.

zVector SimParameters::cellBasisVector1
 

Definition at line 90 of file SimParameters.h.

zVector SimParameters::cellBasisVector2
 

Definition at line 91 of file SimParameters.h.

zVector SimParameters::cellBasisVector3
 

Definition at line 92 of file SimParameters.h.

zVector SimParameters::cellOrigin
 

Definition at line 93 of file SimParameters.h.

Bool SimParameters::COLDOn
 

Definition at line 343 of file SimParameters.h.

BigReal SimParameters::COLDRate
 

Definition at line 345 of file SimParameters.h.

BigReal SimParameters::COLDTemp
 

Definition at line 346 of file SimParameters.h.

Bool SimParameters::commOnly
 

Definition at line 520 of file SimParameters.h.

Referenced by ComputeHomeTuples< BondElem, Bond, BondValue >::doWork(), Sequencer::integrate(), scriptSet(), ComputeNonbondedUtil::select(), and ComputePme::ungridForces().

Bool SimParameters::comMove
 

Definition at line 125 of file SimParameters.h.

Referenced by NamdState::configListInit(), WorkDistrib::createAtomLists(), WorkDistrib::initAndSendHomePatch(), and Controller::receivePressure().

char SimParameters::consForceFile[128]
 

Definition at line 477 of file SimParameters.h.

Bool SimParameters::consForceOn
 

Definition at line 476 of file SimParameters.h.

Referenced by NamdState::configListInit(), WorkDistrib::mapComputes(), Molecule::receive_Molecule(), and Molecule::send_Molecule().

BigReal SimParameters::consForceScaling
 

Definition at line 478 of file SimParameters.h.

Referenced by ComputeConsForce::doForce(), and scriptSet().

char SimParameters::consTorqueAxisFile[128]
 

Definition at line 250 of file SimParameters.h.

char SimParameters::consTorqueFile[128]
 

Definition at line 248 of file SimParameters.h.

BigReal SimParameters::consTorqueGlobVal
 

Definition at line 252 of file SimParameters.h.

Referenced by ComputeConsTorque::doForce().

Bool SimParameters::consTorqueOn
 

Definition at line 247 of file SimParameters.h.

Referenced by NamdState::configListInit(), WorkDistrib::mapComputes(), Molecule::receive_Molecule(), and Molecule::send_Molecule().

char SimParameters::consTorquePivotFile[128]
 

Definition at line 251 of file SimParameters.h.

char SimParameters::consTorqueValFile[128]
 

Definition at line 253 of file SimParameters.h.

int SimParameters::constraintExp
 

Definition at line 189 of file SimParameters.h.

Referenced by ComputeRestraints::ComputeRestraints().

BigReal SimParameters::constraintScaling
 

Definition at line 208 of file SimParameters.h.

Referenced by ComputeRestraints::doForce(), and scriptSet().