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
Preparing the ground for #4225.
Description of changes:
- document the creation policy of script interface objects
- guard against double parsing in `ObjectList::do_call_method()`
Fixes#4225Fixes#4377Fixes#4169
Description of changes:
- Bonded interactions are now stored as ScriptInterface objects, are immutable and can be removed
- It is no longer possible to overwrite a bond object by a different type of bond (avoids segmentation faults)
Bonded interactions should be managed by the script interface and the hand-crafted Cython code should be removed.
Steps:
Wrap the bonded interaction parameter store by a map-like container
at()
andinsert()
andcontains()
as instd::unordered_map
insert()
which auto-generates a free key (as we would like to avoid manual bond id handling in the future)Reading clients such as the bond loop should probably only have const access
bonded_ia_params.at()
set_bonded_ia_params()
inbonded_interactions/bonded_interactions_utils.hpp
Remove MPI broadcasting of bonds
Write an
ObjectMap
analogue to the script interfaceObjectList
which wraps an associative container:add()
method takes aKeyType
and aManagedType
remove()
takes aKeyType
Write Python bindings for the
ObjectMap
__getitem__()
,__iter__()
, and dictionary-related friendsImplement the script interface
BondedInteractInteractionsMap
ObjectMap
, otherwise analogous toConstraints
orLBBoundaries
Write script interface classes for Espresso's bonded interaction classes
@script_interface
-register the classesBondedInteractionsStore
and the bonded interaction script interface classes in PythonThe text was updated successfully, but these errors were encountered: