You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description of changes:
- rewrite Monte Carlo methods in Python
- allow user-defined MC acceptance criteria
- API change: reaction methods now take a `system` argument
Co-authored-by: Pablo Miguel Blanco Andrés <blancoapa@natur.cuni.cz>
@@ -353,14 +348,44 @@ The Monte Carlo (MC) sampling of the reaction can be coupled with a configurati
353
348
For non-interacting systems this coupling is not an issue, but for interacting systems the insertion of new particles
354
349
can lead to instabilities in the MD integration ultimately leading to a crash of the simulation.
355
350
356
-
This integration instabilities can be avoided by defining a distance around the particles which already exist in the system
357
-
where new particles will not be inserted, which is defined by the required keyword ``exclusion_range``.
358
-
This prevents big overlaps with the newly inserted particles, avoiding too big forces between particles, which prevents the MD integration from crashing.
359
-
The value of the exclusion range does not affect the limiting result and it only affects the convergence and the stability of the integration. For interacting systems,
360
-
it is usually a good practice to choose the exclusion range such that it is comparable to the diameter of the particles.
361
-
362
-
If particles with significantly different sizes are present, it is desired to define a different exclusion range for each pair of particle types. This can be done by
363
-
defining an exclusion radius per particle type by using the optional argument ``exclusion_radius_per_type``. Then, their exclusion range is calculated using
364
-
the Lorentz-Berthelot combination rule, *i.e.* ``exclusion_range = exclusion_radius_per_type[particle_type_1] + exclusion_radius_per_type[particle_type_2]``.
365
-
If the exclusion radius of one particle type is not defined, the value of the parameter provided in ``exclusion_range`` is used by default.
366
-
If the value in ``exclusion_radius_per_type`` is equal to 0, then the exclusion range of that particle type with any other particle is 0.
351
+
These integration instabilities can be avoided by defining a distance
352
+
``exclusion_range`` around particles in the system, within which new particles
353
+
will not be inserted (and old particles will not be removed, to maintain detailed balance).
354
+
This prevents big overlaps with the newly inserted particles, which would
355
+
otherwise cause large forces between particles and crash the MD integrator.
356
+
The value of the exclusion range does not affect the limiting result
357
+
and only affects the convergence and the stability of the integration.
358
+
For interacting systems, it is usually a good practice to choose the exclusion
359
+
range such that it is comparable to the diameter of the particles.
360
+
361
+
If particles with significantly different sizes are present, it is desirable
362
+
to define a different exclusion range for each pair of particle types.
363
+
This can be done by defining an exclusion radius per particle type via
364
+
the optional argument ``exclusion_radius_per_type``.
365
+
Then, their exclusion range is calculated using the Lorentz-Berthelot
0 commit comments