espressomd-users
[Top][All Lists]
Advanced

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

Re: [ESPResSo-users] Pronlems with FENE bond


From: Peter Košovan
Subject: Re: [ESPResSo-users] Pronlems with FENE bond
Date: Mon, 31 Aug 2015 17:51:02 +0200

Hi all,

as already mentioned by Kai, the "bond broken" error occurs when you initially put your particles too close (or too far), such that huge forces occur and within one step they move more than the bond length. Then the simulation "explodes".

The generic Espresso solution to this problem is to use force capping and gradually increase the cap until the overlaps are gone - see UG and the pe_solution.tcl example script. This is the primary purpose of the "warmup" phase. You a cycle called "warmup" in your script, but the force capping has been moved outside the warmup loop. For this problem it does not matter whether you use the polymer command or set particle positions manually.

Btw: perhaps this problem might be added to the Espresso FAQ.

Greetings,

peter


On Mon, Aug 31, 2015 at 4:52 PM, Nairhita Samanta <address@hidden> wrote:
I removed the pid part from the polymer. But the same error message appears
"background_errors { ERROR: bond broken between particles 3 and 2. Distance vector: 1.52436 10.2081 -8.71879 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 7 and 6. Distance vector: -5.77841 -8.30212 -11.8511 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 4 and 3. Distance vector: -2.61192 0.75811 3.32631 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 5 and 4. Distance vector: -10.3837 9.82012 -0.23919 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 2 and 1. Distance vector: 5.96483 1.0942 -6.3494 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 6 and 5. Distance vector: -10.2424 -7.42658 9.36097 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 8 and 7. Distance vector: -11.4322 6.64519 -7.67446 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 1 and 0. Distance vector: -8.86446 -10.7269 -8.23615 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 } { ERROR: bond broken between particles 9 and 8. Distance vector: 1.8256 0.81504 2.1973 in function void add_bonded_force(Particle*) (forces_inline.hpp:903) on node 0 }
    while executing
"integrate $warm_steps"
    ("while" body line 2)
    invoked from within
"while { $i < $warm_n_times && $act_min_dist < $min_dist } {
     integrate $warm_steps

    if { $vmd_online=="yes" } { imd positions }
    if { $vmd..."
    (file "pol3.tcl" line 221)"

Attached is my tcl file.

On Mon, Aug 31, 2015 at 7:03 PM, Kai Szuttor <address@hidden> wrote:
To first use the harmonic bond is a little "overkill". As far as i can
see you first use the polymercommand which starts creating particles
with pid 0. After that you're overwriting the positions of these particles
manually.

Cheers,

Kai

PS: theres also a sample in the source in the directory
samples/pe_solution.tcl
On Mon, Aug 31, 2015 at 06:51:55PM +0530, Nairhita Samanta wrote:
> Hi Tristan!
> Is there any way I can generate bonds within the FENE length in the first
> place? i have just started using espresso and I doubt whether I can execute
> what you suggested.
>
> On Mon, Aug 31, 2015 at 6:46 PM, Tristan Bereau <address@hidden>
> wrote:
>
> > Hi Nairhita,
> >
> > Then why not run it first with harmonic bonds, equilibrate it, save
> > the configuration, and then use that as initial configuration for the
> > FENE simulation. What you describe sounds like the polymer you
> > initially generate creates bonds beyond the FENE length.
> >
> > Cheers,
> > Tristan
> >
> > On Mon, Aug 31, 2015 at 3:13 PM, Nairhita Samanta <address@hidden>
> > wrote:
> > > Please find the attached. And it is working when I use harmonic bonds in
> > the
> > > polymer.
> > >
> > > On Mon, Aug 31, 2015 at 6:37 PM, Kai Szuttor <address@hidden>
> > > wrote:
> > >>
> > >> Hi,
> > >>
> > >> maybe we could better help, if you attach the whole script.
> > >> The snippet in your email should not be the problem (although your doin
> > >> some weird stuff with that for-loop).
> > >>
> > >> Cheers,
> > >>
> > >> Kai
> > >> On Mon, Aug 31, 2015 at 06:31:22PM +0530, Nairhita Samanta wrote:
> > >> > Hi everyone!
> > >> > I am still getting the same error (background_errors { ERROR: bond
> > >> > broken
> > >> > between particles 3 and 2...) when I use the following command
> > >> >
> > >> >
> > >> >
> > >> > set pid 0
> > >> > append vtf_bonds "polymer"
> > >> > polymer 1 $nummon $b_l start $pid mode RW bond 2
> > >> >  set start_pid $pid
> > >> > for {set i 0} { $i < $nummon } {incr i} {
> > >> >    incr pid}
> > >> > set end_pid [expr $pid-1]
> > >> >     append vtf_bonds "bond " $start_pid "::" $end_pid "\n"
> > >> >
> > >> > Regards,
> > >> > Nairhita
> > >> >
> > >> > On Mon, Aug 31, 2015 at 5:45 PM, Nairhita Samanta <
> > address@hidden>
> > >> > wrote:
> > >> >
> > >> > > Okay I got it. Thank you for your reply Kai.
> > >> > >
> > >> > > On Mon, Aug 31, 2015 at 5:43 PM, Kai Szuttor
> > >> > > <address@hidden>
> > >> > > wrote:
> > >> > >
> > >> > >> Please have a look at the UG at page 35 (in the current dev UG).
> > >> > >> You dont need to explicitly set the position of the monomers if
> > youre
> > >> > >> using the "polymer" command.
> > >> > >>
> > >> > >> Cheers,
> > >> > >>
> > >> > >> Kai
> > >> > >> On Mon, Aug 31, 2015 at 05:40:05PM +0530, Nairhita Samanta wrote:
> > >> > >> > Thank you Florian for your reply. Yes I would definitely answer
> > in
> > >> > >> > the
> > >> > >> > mailing list from now on.
> > >> > >> >
> > >> > >> > So is it like if I mention a bond-length for the polymer, the
> > >> > >> > 'polymer'
> > >> > >> > command will automatically put the monomers accordingly. In that
> > >> > >> > case I
> > >> > >> > don't need to "set the position" for the monomers. Or do I need
> > to?
> > >> > >> >
> > >> > >> > On Mon, Aug 31, 2015 at 4:33 PM, Florian Weik <
> > >> > >> address@hidden>
> > >> > >> > wrote:
> > >> > >> >
> > >> > >> > > On Mon, Aug 31, 2015 at 12:54 PM, Nairhita Samanta <
> > >> > >> address@hidden>
> > >> > >> > > wrote:
> > >> > >> > >
> > >> > >> > >> I assumed this way all the particles will be in a distance
> > >> > >> approximately
> > >> > >> > >> $b_l from each other. So how do I position the monomers?
> > >> > >> > >> According
> > >> > >> to box
> > >> > >> > >> length?
> > >> > >> > >>
> > >> > >> > >> "set posx [expr $b_l*rand()]
> > >> > >> > >> set posy [expr $b_l*rand()]
> > >> > >> > >> set posz [expr $b_l*rand()]" is it defining all the monomers
> > or
> > >> > >> > >> just
> > >> > >> the
> > >> > >> > >> starting one? I am confuse with this command.
> > >> > >> > >>
> > >> > >> > >> On Mon, Aug 31, 2015 at 4:17 PM, Florian Weik <
> > >> > >> address@hidden
> > >> > >> > >> > wrote:
> > >> > >> > >>
> > >> > >> > >>> Hi,
> > >> > >> > >>> you are putting all particles in a sphere of radius of $b_l
> > >> > >> > >>> about
> > >> > >> the
> > >> > >> > >>> origin. Is this really what you want?
> > >> > >> > >>> If you have other interactions, for example a Lennard-Jones,
> > >> > >> > >>> this
> > >> > >> will
> > >> > >> > >>> probably explode, if you have a
> > >> > >> > >>> typical time step.
> > >> > >> > >>>
> > >> > >> > >>> Cheers,
> > >> > >> > >>> Florian
> > >> > >> > >>>
> > >> > >> > >>
> > >> > >> > >>
> > >> > >> > > The polymer command actually creates the particles, the
> > positions
> > >> > >> > > are
> > >> > >> > > chosen by a random walk with step length $b_l (because you said
> > >> > >> > > so).
> > >> > >> > > If you have no other interactions what you did should still
> > work,
> > >> > >> maybe
> > >> > >> > > you need to reduce you time step.
> > >> > >> > >
> > >> > >> > > Please answer to the mailing list and not to me personally
> > >> > >> > > ('Answer to
> > >> > >> > > all'), so everybody can read profit from the conversation.
> > >> > >> > >
> > >> > >> > > Cheers,
> > >> > >> > > Florian
> > >> > >> > >
> > >> > >> > > --
> > >> > >> > > Florian Weik, Dipl.-Phys.,
> > >> > >> > > Institut für Computerphysik, Allmandring 3, D-70569 Stuttgart
> > >> > >> > > Phone: +49-711-685-67703
> > >> > >> > > Public Key 0x0562F11D Fingerprint 3294 6360 EC93 37A3 BD40
> > F597
> > >> > >> > > 0BAD
> > >> > >> 3AF8
> > >> > >> > > 0562 F11D
> > >> > >> > >
> > >> > >> > >
> > >> > >>
> > >> > >
> > >> > >
> > >
> > >
> >




--
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

www.natur.cuni.cz/chemistry/fyzchem/
Tel. +420221951290
Fax +420224919752


Pokud je tento e-mail součástí obchodního jednání, Přírodovědecká fakulta Univerzity Karlovy v Praze:
a) si vyhrazuje právo jednání kdykoliv ukončit a to i bez uvedení důvodu,
b) stanovuje, že smlouva musí mít písemnou formu,
c) vylučuje přijetí nabídky s dodatkem či odchylkou,
d) stanovuje, že smlouva je uzavřena teprve výslovným dosažením shody na všech náležitostech smlouvy.

reply via email to

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