espressomd-users
[Top][All Lists]
Advanced

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

Re: [ESPResSo-users] modelling rigid particles


From: Rudolf Weeber
Subject: Re: [ESPResSo-users] modelling rigid particles
Date: Mon, 30 Oct 2017 10:55:51 +0100
User-agent: Mutt/1.5.24 (2015-08-30)

Hi Tom,
On Mon, Oct 30, 2017 at 09:02:13AM +0000, Tom Roest wrote:
> I want to simulate the motion of a rigid object using the ESPResSo software 
> package. I have configured ESPResSo with all the features of the 
> Object-in-fluid (OIF) module needed to model an object in a fluid with given 
> elastic properties . The object has the (complex) shape of a dumbbell (as the 
> ones studied by Uspal, Eral and Doyle in 
> https://www.nature.com/articles/ncomms3666 ) and a mesh of its surface is 
> generated in the right ESPResSo format . After configuration, I searched for 
> the source code that determines the interaction forces between the object and 
> the fluid. I think the only relevant forces are forces due to interaction 
> with the Lattice Boltzmann fluid (that means there are no Thermostat, Coulomb 
> interactions etcetera).
So, object in fluid and the related immersed boundary method codes in ESPResSo 
are used for deformable objects in fluid flow.
If I understood correctly, you need rigid objects. Then, these are not ideal 
choices.

Espresso has rigid body dynamics by means of virtual sites:
http://espressomd.org/html/doc/part.html#rigid-arrangements-of-particles

You can find an example of how to set up a fluid of dumbbells in the testcase 
for virtual sites in
testsuite/virtual_sites_relative.py in the function run_test_lj().

If you need coupling to a fluid, you can use the raspberry model, also using 
virtual sites. For an example for a sphere see
/doc/tutorials/python/05-raspberry_electrophoresis

A second approach to rigid objects is the RATTLE method, which Espresso also 
supports via the RigidBond interaction. For an example see
testsuite/rigid_bond.py
Which of the two aproaches is better, depends on the system to be studied.
Virtual sites are computed in a single step but require rotational degrees of 
freedom to be integrated (ROTATION in myconfig.hpp), RigidBond uses an 
iterative scheme to fulfill the constraints.
When making performance comparissons, it is important to tune the cell system 
via
http://espressomd.org/html/doc/espressomd.html#espressomd.cellsystem.CellSystem.tune_skin



The paths above are for the Python branch of Espresso at 
http://github.com/espressomd
While the tcl branch has the rigid body mechanics, we have dropped support for 
the tcl version of Espresso and recommend that all new projects are done with 
the Python version.

Hope that helps!
Regards, Rudolf




reply via email to

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