TrialComputeGrowAdd

class TrialComputeGrowAdd : public feasst::TrialCompute

Public Functions

void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)

Perform the Perturbations and determine acceptance.

class TrialComputeGrowRemove : public feasst::TrialCompute

Public Functions

void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)

Perform the Perturbations and determine acceptance.

class TrialComputeGrow : public feasst::TrialCompute

Public Functions

void perturb_and_acceptance(Criteria *criteria, System *system, Acceptance *acceptance, std::vector<TrialStage*> *stages, Random *random)

Perform the Perturbations and determine acceptance.

class 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?

Public Functions

int growth_stage() const

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

int num_growth_stages() const

Return the number of stages.

void precompute(Criteria *criteria, System *system)

Precompute quantities before simulation for optimization.

bool attempt(Criteria *criteria, System *system, Random *random)

Attempt a trial. Return true if accepted.