[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Reactive polymer cross-linking

From: Buurma, Chris F
Subject: RE: Reactive polymer cross-linking
Date: Mon, 6 Jan 2020 13:39:31 +0000

Hi Peter,

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>
Sent: Sunday, January 5, 2020 5:55 PM
To: Buurma, Chris F <address@hidden>
Cc: address@hidden
Subject: Re: Reactive polymer cross-linking


Message received from outside the Battelle network. Carefully examine it before you open any links or attachments.

Hi Chris,


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.


With regards,





On Thu, Jan 2, 2020 at 10:00 PM Buurma, Chris F <address@hidden> wrote:

Hi all,

I’m new to using espresso-md, so I’ve been pouring over the documentation and examples to better familiarize myself.

I’m starting with a somewhat simple example of poly-phenylene sulfide curing and cross-linking. So I have a few polymer chains with harmonic bonds, DPD style forces, and free oxygen ‘beads’.


I setup a reaction ensemble with the reaction to take a monomer location on two different molecules along with oxygen, and then bond them. I’m currently doing this now by introducing a new monomer type ‘linked’, which I then add a new bond type after seeing its been replaced in the reaction.


Long story short: the reaction ensemble is reacting over the entire simulation space, and picking any two monomer elements, reacting them and then forcing strange long distance bonds. Can I control the reaction volume with espressomd? Ideally I’d like a small radius around the reactants.


I also looked into the cool dynamic bonds thing, but it kept creating new bonds from ‘collisions’ of my monomer elements along a polymer chain.



Chris Buurma, Ph. D.


Dr. Peter Košovan

Department of Physical and Macromolecular Chemistry

Faculty of Science, Charles University in Prague, Czech Republic

Katedra fyzikální a makromolekulární chemie

Přírodovědecká fakulta Univerzity Karlovy v Praze
Tel. +420221951029

Fax +420224919752

reply via email to

[Prev in Thread] Current Thread [Next in Thread]