incompatibility between fix ave/spatial ave running and fix balance?

Dear all,

I just tried to use the recent fix balance in a script including a fix
ave/spatial with keyword ave running, and got the following error:

Fix ave/spatial settings invalid with changing box

However the total box size is not changing in my simulation. Of course
when using fix balance the processor sub-domains sizes change, but
this should not affect fix ave/spatial?

I checked that it is adding fix balance that induces the error, using
LAMMPS 2Jul13 version.

Best regards,
Laurent

Dear all,

I just tried to use the recent fix balance in a script including a fix
ave/spatial with keyword ave running, and got the following error:

Fix ave/spatial settings invalid with changing box

However the total box size is not changing in my simulation. Of course
when using fix balance the processor sub-domains sizes change, but
this should not affect fix ave/spatial?

I checked that it is adding fix balance that induces the error, using
LAMMPS 2Jul13 version.

there is a flag "box_change" in the constructor of fix_balance. that
is set to 1.
since i have not looked at either fix_balance or fix_ave_spatial in
great detail, i cannot say if this is really warrented and that
fix_ave_spatial is affected.

it is probably worth just setting the flag to 0 and trying it out.
it looks to me, that fix_ave_spatial should not check for the rather
generic box_change, but for the more specific box_change_size and
box_change_shape flags... but i am not certain, if they are all used
properly. it may just be that box_change 1 was simply set to err on
the side of caution.

axel.

Dear Steve,

Would it be possible to make the modifications suggested by Axel in
lammps source code, so that it is possible to use fix balance and fix
ave/spatial with keyword ave running in the same script?

Best,
Laurent

yes, I’ll take a look … I can’t recall why that restriction
was checked for …

Steve

ok - the 24 Jul patch should now allow this. This required
a bit of re-factoring, since fix balance does actually require
the box_change flag be set for other parts of the code to work,
since it changes the sub-domains.

Steve