Trial

class Trial

A trial contains a number of TrialStages. The Acceptance is computed as the stages are enacted, and then sent to Criteria to decide if the trial is accepted or rejected.

Subclassed by feasst::TrialAVB2Half, feasst::TrialAVB4, feasst::TrialAdd, feasst::TrialAddAVB, feasst::TrialAddAVBDivalent, feasst::TrialAddMultiple, feasst::TrialBeta, feasst::TrialFactory, feasst::TrialGibbsParticleTransferOneWay, feasst::TrialGibbsVolumeTransfer, feasst::TrialGrowLinear, feasst::TrialModel, feasst::TrialMorph, feasst::TrialMorphExpanded, feasst::TrialMove, feasst::TrialRemove, feasst::TrialRemoveAVB, feasst::TrialRemoveAVBDivalent, feasst::TrialRemoveMultiple, feasst::TrialRotateCluster, feasst::TrialSwapSites, feasst::TrialTranslateCluster, feasst::TrialVolume

Arguments

Trial(argtype args = argtype())

args:

  • weight: unnormalized relative probability of selection of this trial with respect to all trials (default: 1).

  • weight_per_number_fraction: if > 0, the weight is continuously updated to (weight_per_number_fraction * number of TrialSelect::particle_type in first TrialStage / total number of particles). If <= 0, the given weight above is fixed to that value (default: -1). For a multicomponent simulation, weight_per_number_fraction with a separate trial for each mobile particle_type ensures equal probability of selecting any particles of those types regardless of the number of particles of each type, while still allowing for different tunable parameters for each particle_type.

  • number_fraction_exclude_type[i]: if >= 0 (default: -1), exclude this particle type from the total number in fractions of weight_per_number_fraction. If there is a fixed particle type in a multicomponent grand canonical ensemble, avoid changing the relative weight of translation vs insert/delete and breaking detailed balance. The “[i]” is to be substituted for an integer 0, 1, 2,… If only one excluded type, then the “[i]” is optional.

  • print_num_accepted: if true (default: false), print the number of accepted trials.