Open RudolfWeeber opened 1 year ago
See the test case testsuite/python/bond_breakage.py
And the doc of the feature: https://espressomd.github.io/doc/advanced_methods.html#deleting-bonds-when-particles-are-pulled-apart
This ticket is suitable for early/new contributors, when it comes to the core implementation. An experienced dev can help with the script interface bindings.
@bindgens1 Is this still needed. As far as I understnad, the crashes were caused by sth else?
@RudolfWeeber I could run my simulations in the end, but I still think that this is needed in features that utilize Lees-Edwards. I do not need it for my specific use case.
@bindgens1
Temporary "solution": rewind the LE offset change applied in the last time step before stress measurement, measure stress, re-apply LE offset.
The proper solution is to introduce a script interface call to manually trigger the bond breakage. I'd hesitate to put this into the analysis routines, because analysis shouldn't actually modify the system.
Steps
Core
src/core/bond_breakage/bond_breakage.{cpp,hpp}
:forces_inline.hpp::add_bonded_force()
execute_bond_breakage()
functionCellStructure::bond_loop
with the bond kernel from the previous step (cfshort_range_loop.hpp
)Script interface
src/script_interface/bond_breakage/BondBreakage.hpp
as an instance ofAutoParameters
.src/script_interface/particle_data/Poymer.{hpp,cpp}
as templatedo_call_method()
has to be implementedexecute_bond_breakage()
method written in the coreBondBreakage
script interface class insrc/script_interface/bond_breakage/initialize.cpp
BondBreakage.cpp
file to theCMakeList.txt
Python
BondBreakage
script interface class known to python.shapes.py
_so_name
and_bind_methods
are needed