|From:||Buurma, Chris F|
|Subject:||RE: Reactive polymer cross-linking|
|Date:||Mon, 6 Jan 2020 13:39:31 +0000|
Thank you for your detailed answer. I’d be glad to help implementing this functionality in Espresso, and in the meantime will continue working with it on the python-side interface (at a performance loss I wager).
The ‘linked’ type was a workaround I was trying. My polymer is formed from two interlinking types, unlinkable, and linkable with the exact same material properties (PPS in my example). The linkable type has a reaction (which later I discovered was globally reactive) which changes it from linkable to a 3rd type called linked when nearby Oxygen. After calling ReactionEnsemble.react() I have some python code to identify which two were reacted and then I create a new bond between them, representing the cross-link. This if course does not work with global reactions sadly.
You're right in that the dynamic bonds won’t work, and I hadn’t notice they were irreversible! Thanks for warning me. Do you think I should continue exploring that option? Can I have the dynamic bonds only affect certain types, or must it be global?
My next approach is to implement reactions separately as local-volume based. I had planned to identify all possible sites for reactions (aka, tabulate the total number of sites within which their local volume contains the reactants). Then draw from them a probability for reaction. Once drawn from a random distribution, replace reactants with products (like in your implementation) within the local volume or with relabeling, and continue my old code to forge new bonds. I will need to study the effects this will have on detailed balance, and the correct acceptance probability. Any resources I can read through for that would be most helpful.
From: Peter Košovan <address@hidden>
Message received from outside the Battelle network. Carefully examine it before you open any links or attachments.
The current reaction ensemble cannot do what you need, i.e. cross-linking polymers by creating/deleting bonds between two existing particles. We are aware of the problem. It should not be difficult to implement, but it might be tricky to make this implementation efficient in sampling the reaction equilibrium.
I do not understand your description of how you create the new monomer of type "linked". Could you send a minimalistic example script?
You cannot control the reaction volume with the current implementation. In principle, you might be able to do so, but then you would have to correct for this bias in the acceptance probability of the reaction move. Otherwise, it would break the detailed balance.
Dynamic bonds looks similar to the reaction ensemble but it simulates a different situation: bonds that are created but never destroyed anymore, i.e. an irreversible reaction. In contrast, the reaction ensemble is designed for simulating the equilibrium state of reversible reactions.
I personally think that curing and crosslinking of poly(phenylene suffide) could be described as an irreversible reaction, rather than reversible bonds that are dynamically created and destroyed. But this is presumably not an issue of espressomd.
On Thu, Jan 2, 2020 at 10:00 PM Buurma, Chris F <address@hidden> wrote:
Dr. Peter Košovan
Faculty of Science, Charles University in Prague, Czech Republic
Katedra fyzikální a makromolekulární chemie
Přírodovědecká fakulta Univerzity Karlovy v Praze
|[Prev in Thread]||Current Thread||[Next in Thread]|