class TrialMorphExpanded : public feasst::Trial

Grand canonical insert/deletion by gradual growth/shrink with expanded ensembles.

As currently implemented, only one MacrostateMorph can be used at a time, due to the way that the current state is tracked.

Public Functions

TrialMorphExpanded(const std::vector<std::vector<int>> particle_type_growth_sequence, const argtype &args = argtype())

  • particle_type_growth_sequence: See MacrostateMorph for a description of the growth sequence. This growth sequence must be equivalent to MacrostateMorph.

Typically requires reference_index if multiple particles are to be morphed simultaneously.

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.