Segmentation fault with fix deposit using rigid/small

Dear LAMMPS Users,

I'm encountering a segmentation fault when using fix deposit in combination with fix rigid even when I use a modified LAMMPS deposit example for the use of rigid/small. I've attached the modified example file and the corresponding output. Anyone know the reason for that or encountered a similar problems? The SHAKE example and a pre-filled system with dimers and fix rigid/small run fine.

Best regards
Robert

in.deposit.molecule.rigid.small (1.33 KB)

log.screen.2906.luno.ifam.fraunhofer.de (2.48 KB)

molecule.dimer (153 Bytes)

Dear LAMMPS Users,

I'm encountering a segmentation fault when using fix deposit in combination with fix rigid even when I use a modified LAMMPS deposit example for the use of rigid/small. I've attached the modified example file and the corresponding output. Anyone know the reason for that or encountered a similar problems? The SHAKE example and a pre-filled system with dimers and fix rigid/small run fine.

this is a bug and easily correctable with the following change.

diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp
index b0f3d56..cced176 100644
--- a/src/RIGID/fix_rigid_small.cpp
+++ b/src/RIGID/fix_rigid_small.cpp
@@ -2626,11 +2626,13 @@ void FixRigidSmall::set_molecule(int nlocalprev, tagint
     displace[i][1] = onemols[imol]->dxbody[m][1];
     displace[i][2] = onemols[imol]->dxbody[m][2];

- eflags[i] = 0;
- if (onemols[imol]->radiusflag) {
- eflags[i] |= SPHERE;
- eflags[i] |= OMEGA;
- eflags[i] |= TORQUE;
+ if (extended) {
+ eflags[i] = 0;
+ if (onemols[imol]->radiusflag) {
+ eflags[i] |= SPHERE;
+ eflags[i] |= OMEGA;
+ eflags[i] |= TORQUE;
+ }
     }

     if (bodyown[i] >= 0) {

axel.

thanks - will be in next patch.

Steve