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
Several instances of espressomd.system should be createable in a single Python script.
Benefits
The ML group needs this for optimizatnio tasks
Stuff like Gibbs ensemble or replica exchange could be written down with standard Python theading and without a contorl script talking to two or more other scripts
The test suite would run much faster, since a lot of the runtime is consumed by the numpy/scipy modules being loaded over and over again
Getting rid of the globals in the core, which prevent this at present, is a goal in it self
Steps
Introduce a system class in the core mirroring espressomd.System
Note: This can initially be made globally accessible to ease the transition
Bundle the remaining "clusters of globals" into strucutes. These are mainly a bunch of globals relating to propagation and equaiton of motion (thermostat)
Get rid of mpi callbacks, by moving the functionality to the script interface.
The big ones are:
Setting/getting particle properties (this is in script interface, but uses the mpi callbacks)
The reaction methods, which make use of mpi callbacks. They have to be either fully parallelized or moved to Python
The text was updated successfully, but these errors were encountered:
Description of changes:
- encapsulate several global variables inside the `System` class
- new members: cell_system, integrator, electrostatics, magnetostatics, analysis, comfixed, galilei, bond_breakage
- required for #4613
- partial fix for #2628
- make energy/pressure/force calculation functions members of the `System` class
- fully encapsulate event hooks in the `System` class
- simplify checkpointing of the `System` class
- remove `EspressoSystemStandAlone` class
- API changes:
- `espressomd.galilei.GalileiTransform` is now a member of the `System` class, accessible via `system.galilei`
Fixes#4821
Partial fix for #2628
Partial fix for #4613
Description of changes:
- encapsulate non-bonded interactions, bonded interactions, collision detection, particle list, cluster structure analysis, object-in-fluid, immersed boundaries, auto-update accumulators, constraints, MPI-IO, MMM1D
- API changes:
- `Mpiio` and `ClusterStructure` now take a system object as argument
Goal
Several instances of
espressomd.system
should be createable in a single Python script.Benefits
Steps
Introduce a system class in the core mirroring espressomd.System
Note: This can initially be made globally accessible to ease the transition
Bundle the remaining "clusters of globals" into strucutes. These are mainly a bunch of globals relating to propagation and equaiton of motion (thermostat)
Get rid of mpi callbacks, by moving the functionality to the script interface.
The big ones are:
The text was updated successfully, but these errors were encountered: