TrialGrowthExpanded: public feasst::Trial¶
Separate the growth of a particle into individual Trials. Macrostate? Use criteria variable “growth_stage?” Or particle itself? Or configuration?
selection within configuration, perhaps. try not to add baggage to config
criteria “trial_stage” is probably the most general solution. HWH: currently required that first site selection is 0 for shrink HWH make a separate trial move that reorders chain sites. This allows either-end trial moves.
non-optimal book keeping with cell/neighbor lists.
instead, deal with problem like reptation?
The growth stage relates directly to TrialGrow stages. Thus, growth stage of 0 refers to the first growth stage where the first site of a new particle is being grown. The last stage is when the particle is completely grown. However, the reverse move is shifted down by one. For example, the reverse move at stage 0 would be to select a random particle and make the selection of the last stage unphysical (e.g., n-1 unphysical) The reverse move at stage 1 would be to make 0 unphysical. The reverse move at stage n-1(for n>1) would be to make n-2 unphysical
Return the number of stages.
precompute(Criteria *criteria, System *system)¶
Precompute quantities before simulation for optimization.