replace Fix::box_change_xxx variables with Fix::box_change bitmask and add check to Domain::init()

This allows a more specific tracking of whether multiple fixes are
modifying the same box parameter and error out in that case.
This commit is contained in:
Axel Kohlmeyer
2020-02-08 15:12:26 -05:00
parent f0935feabe
commit 5f68f3006f
22 changed files with 108 additions and 41 deletions

View File

@ -211,8 +211,12 @@ rfix(NULL), irregular(NULL), set(NULL)
if (set[i].style == NONE) dimflag[i] = 0;
else dimflag[i] = 1;
if (dimflag[0] || dimflag[1] || dimflag[2]) box_change_size = 1;
if (dimflag[3] || dimflag[4] || dimflag[5]) box_change_shape = 1;
if (dimflag[0]) box_change |= BOX_CHANGE_X;
if (dimflag[1]) box_change |= BOX_CHANGE_Y;
if (dimflag[2]) box_change |= BOX_CHANGE_Z;
if (dimflag[3]) box_change |= BOX_CHANGE_YZ;
if (dimflag[4]) box_change |= BOX_CHANGE_XZ;
if (dimflag[5]) box_change |= BOX_CHANGE_XY;
// no tensile deformation on shrink-wrapped dims
// b/c shrink wrap will change box-length