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::TrialGibbsVolumeTransferOneWay, 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


Trial(argtype args = argtype())


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

  • weight_per_number: if > 0, the weight is continuously updated to be (weight_per_number * number of TrialSelect::particle_type in first TrialStage). If <= 0, the given weight above is fixed to that value (default: -1). For a binary simulation, weight_per_number = 1/(N_0+N_1) with a separate trial for particle_type 0 and 1 ensures equal probability of selecting either particle type regardless of the number of particles, while still allowing for different tunable parameters for each particle_type.