TrialRxVB
-
class TrialRxVB : public feasst::TrialFactoryNamed

Attempt to react a pair of particles, A and B, with a distance bias. When A changes to C, B is chosen in the aggregation volume (AV) of A to change to D, where C and D are given random orientations. This is expected to improve sampling when particles A and B form attractive pairs.
A \(\rightarrow\) C
B(in AV of A) \(\rightarrow\) D
This Trial supports rigid particles only due to how random orientations are implemented.
An AV is defined by a spherical shell of given inner and outer radius about a site in particle A with index of site_index_a. Particle B is in the AV if site_index_b in particle B is inside the AV (e.g., these are site-based definitions of AV).
Because the particle types change, this Trial is derived in the semi-grand canonical ensemble. The derivation of the acceptance criteria is dervied by a similar method as described in https://github.com/usnistgov/best-practices-mc:
Forward event
\(\alpha_{o\rightarrow n}\)
Choose A and B reaction
\(1/2\)
Choose particle of type A
\(1/N_A\)
Choose site_index_b in AV of chosen site_index_a
\(1/N^{AV}_B\)
Change particle A to C and reorient
\(P_{\omega C}\)
Change particle B to D and reorient
\(P_{\omega D}\)
Reverse event
\(\alpha_{n \rightarrow o}\)
Choose C and D reaction
\(1/2\)
Choose particle of type C
\(1/(N_C+1)\)
Choose site_index_d in AV of chosen site_index_c
\(1/(N^{AV}_D+1)\)
Change particle C to A and reorient
\(P_{\omega A}\)
Change particle D to B and reorient
\(P_{\omega B}\)
Application of local detailed balance yields the acceptance probability,
\(\chi = \frac{P_{\omega A} P_{\omega B}}{P_{\omega C} P_{\omega D}} \frac{z_C z_D}{z_A z_B} \frac{N_A N^{AV}_B}{(N_C + 1)(N^{AV}_D+1)} e^{-\beta\Delta U}\)
where \(N^{AV}_D\) is the number of site_index_d of particle type D in the AV in the old configuration (before reaction).
The reverse reaction reaction is implemented as follows:
C \(\rightarrow\) A
D(in AV of C) \(\rightarrow\) B
The acceptance of this reverse move is
\(\chi = \frac{P_{\omega C} P_{\omega D}}{P_{\omega A} P_{\omega B}} \frac{z_A z_B}{z_C z_D} \frac{N_C N^{AV}_D}{(N_A + 1)(N^{AV}_B + 1)} e^{-\beta\Delta U}\)
In order to obey detailed balance, the AV of A and C must be identical. Otherwise, the reverse trial may not be possible.
The current implementation assumes the AVB site is the first on each particle.
Arguments
neighbor_index: NeighborCriteria index contained in System (default: 0).
Trial arguments.
TrialStage arguments.
SelectParticleAVB arguments
target_particle_type and target_site defines the AV
particle_type and site (from TrialSelectParticle) defines particle in AV.
target_particle_type_morph: type of particle to change target
particle_type_morph: type of particle to change particle in AV