Hello everyone,
I want to simulate an irregular shape moving in a flow domain.This shape can be constructed by combining many triangle plates (composed via 3 point as triangle vertexes) as its surface. There are two types of atoms and these atoms are positioned at different side of the shape. I want to prevent the atoms from penetrating the shape surface which move as wall/reflect described. Because the shape is moving and deforming irregularly,how to fulfill my purpose?
Fix wall/region may not work, because hundards of triangle plates are needed to form the shape surface.
Maybe a new fix wall style is needed, which can read in and update the triangles info(the atoms coordinates, atoms velocity,the normal vector of triangles),and can combine fix wall/reflect.
I think this kind of wall style is novel and important, do any expert would like to finish this work? Any guides about how to finish it is appreciated.
2013-10-31
lixiaojun305
Hello everyone,
I want to simulate an irregular shape moving in a flow domain.This shape
can be constructed by combining many triangle plates (composed via 3 point
as triangle vertexes) as its surface. There are two types of atoms and these
atoms are positioned at different side of the shape. I want to prevent the
atoms from penetrating the shape surface which move as wall/reflect
described. Because the shape is moving and deforming irregularly,how to
fulfill my purpose?
Fix wall/region may not work, because hundards of triangle plates are
needed to form the shape surface.
Maybe a new fix wall style is needed, which can read in and update the
triangles info(the atoms coordinates, atoms velocity,the normal vector of
triangles),and can combine fix wall/reflect.
I think this kind of wall style is novel and important, do any expert
would like to finish this work? Any guides about how to finish it is
there isn't any work shown here to begin with. you are asking for
somebody to do the entire thing for you.
appreciated.
that being said, you didn't specify what kind of particles your
irregular shape is supposed to interact with and i doubt that a
reflecting wall is likely the best choice, as that would require to
know the normal of the surface which is diverging unless you do a
smooth polygon mesh interpolation kind of thing.
things to look at that do similar things are the "tri/lj" pair style
in LAMMPS that allows to build irregular shaped objects from
triangulation using LJ style potential interactions and the LIGGGHTS
code that allows to import STL meshes for iregular surfaces, but those
are meant for use with granular particle styles.
axel.
Thanks Axel.
All atoms that I want to use are DPD point particles.
I want to write a new fix that can read in a file contains info of triangle-plates, each triangle is composed by 3 DPD points as vertexes. There are x1,y1,z1,x2,y2,z2,x3,y3,z3,vx,vy,vz in one line that describe the info of one triangle-plate,and other similar lines are list below in the file.
The normal of each triangle canbe calculate from this equation: n=(x2-x1)*(x3-x1) , * is a cross product.
In order to judge whether a particle is approach the triangle-plate, extra neighbor list will be built and need use memory (How?). In the manual doc, modifying & extending Lammps part, fix styles part, there is a table that list many methods might be used.
I think I should use setmask, init, setup,post_integrate,post_force,grow_arrays,pack_exchange. Maybe compute_scalar and compute_vector are needed to calcute the normal of triangles. Please point out my faults and let me know what are left out?
2013-11-01
Thanks Axel.
All atoms that I want to use are DPD point particles.
I want to write a new fix that can read in a file contains info of
triangle-plates, each triangle is composed by 3 DPD points as vertexes.
There are x1,y1,z1,x2,y2,z2,x3,y3,z3,vx,vy,vz in one line that describe the
info of one triangle-plate,and other similar lines are list below in the
file.
The normal of each triangle canbe calculate from this equation:
n=(x2-x1)*(x3-x1) , * is a cross product.
that is not sufficient, since this diverges on every edge and corner
and thus will lead to massive jumps in the force when a particle
passes and edge or corner. you have to put a smooth surface through
your mesh.
In order to judge whether a particle is approach the triangle-plate, extra
neighbor list will be built and need use memory (How?). In the manual doc,
modifying & extending Lammps part, fix styles part, there is a table that
list many methods might be used.
i don't think that would be a good approach. i would prefer the option
similar to the tri/lj pair style, where your object become one large
colloid-like particle and then you can use the "multi" neighbor list
style and regular neighbor list construction methods. you can also
check out the body package as an example for how to propagate such an
object. of course, much of that is still work in progress and you
would be advised to communicate with steve and anybody else working on
this to make sure your not duplicating work and not moving in
different incompatible directions either.
axel.
In order to judge whether a particle is approach the triangle-plate, extra
neighbor list will be built and need use memory (How?). In the manual doc,
modifying & extending Lammps part, fix styles part, there is a table that
list many methods might be used.
i should perhaps add that the LAMMPS workshop in March 24-28 2014 at
ICTP in Trieste is particularly reaching out to people with projects
like yours, i.e. people that want (or need) to implement complex new
features into LAMMPS (i.e. more complex than just another pair
potential) and need to learn more about the inner workings of LAMMPS
than what can be conveyed in the manual.
axel.
http://cdsagenda5.ictp.trieste.it/full_display.php?ida=a13190
You can look at examples/ASPHERE/tri which
has a script that used rigid-body triangullated particles
in an SRD fluid. It would also work with a LJ solvent
if you chose parameters appropriately. The most
important thing to think about is what kind of interaction
do you want between triangles and other particles. LAMMPS
has only a couple rudimentary choices for that (pair tri), and
the SRD case. If you want something more sophisticated,
you’ll have to implement it as a new pair style.
Steve
Thanks Axel and Steve for reply.
I have read a Ph.D paper that describes how to judge the relationship between moving particle at moving triangular faces, in detail. See “Multiscale modeling of blood flow and soft matter” ,Appendix C,please. I suppose this maybe include enough information to solve my question. Would you help me write this code, since you are expert of LAMMPS program.
Xj.
2013-11-13