Hi all,
We defined new bonding forces for an elastic object (interacting
particles in a triangular mesh representing the surface of the object,
like constant volume force, constant area force). For this we have to
calculate current volume and area of the object. This is done before the
actual force calculation in Espresso because we need information about
every particle in the object. We made exactly the same loop through the
cells and particles as used in calculate_verlet_ia(). The method works
fine with 7 objects (every
object has around 400 particles forming a triangle mesh). Suddenly with
8 objects we get a segmentation fault. Looks like that a bond is broken
(not on the same node). But this error is also when using just 1 node
(Is this possible?). After analyzing we found out that this bond (that
holds 1 particle with 2 neighbours forming a triangle) has a wrong
neighbour id. So exactly the 2nd neighbour of the broken bond points not
to a particle id, but to a different bond id. Could it be that we came
into an out-of-array error and reading information from somewhere else?
We have more than 25000 different bonds because every triangle in the
mesh need to be defined and also other forces (like stretching between
only 2 particles). On the tcl-level (in the tcl-start-script) the bonds
are all correct when printing particle information. We are using version
3.1.0!
We would really appreciate any ideas that could solve our problem!
Thanks,
Markus