shear strain and shrink-wrapped boundary!

Dear Lammps users,

I want to use fix deform command to apply xz shear strain on the model. The command is:

fix 3 all deform 3000 xz erate 0.001

Since my boundary is “p s p” the following error occurs:

“Cannot use fix deform tilt on a shrink-wrapped 2nd dim”

Changing the boundary to “p f p” didn’t help me, as well, since some atoms are lost.

How can I solve this problem?

Thanks,

Iman.

Hi

How about “ppp” ? , I think that’s one of the other possible choices …

Oscar G

The y direction isn’t periodic. We have a laminate stacked in y direction consisting of 3 layers.

Hi Iman

I think with “psp” it’s impossible
however trying the “pfp” , just reduce the timestep. it may solve the loss of atoms.
if not you can use the:
“thermo_modify lost ignore”
and follow the number of atoms via “thermo_style custom atoms” during the steps and see if the number of
lost atoms is negligible or not.

best,
Fahim

Ignoring lost atoms is almost always a bad idea. Better to add a sufficient buffer space to the box when using fixed boundaries. If you still lose atoms, then there may be a problem withe the model or the parameters.

Axel.

Thanks,

Is it possible to do it by defining simulation box larger than the region in which we create the atoms? or there is another way?

Thanks,

Is it possible to do it by defining simulation box larger than the region in
which we create the atoms?

sure. why not?
you can set up a fixed size box any which way you like.

or there is another way?

no need.

axel.

it’s a good idea only if the model is solid.
for liquid or gaseous models the atoms will fill the box in few steps
and he has to be confronted by the same problem!

it's a good idea only if the model is solid.
for liquid or gaseous models the atoms will fill the box in few steps
and he has to be confronted by the same problem!

this is nonsense for three reasons.

1) if it was gas or liquid, you would be using
   ppp boundary in the first place.

2) if you just ignore atoms that leave the
   the box, you don't preserve a reasonable
   state. your results will be bogus

3) shear stress/strain for gas or liquid???

axel.

What you are doing should be fine.
There is a one-char typo in fix_deform.cpp.

Change this line: (250)
if (set[4].style &&
      (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2))
    error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim");
to
if (set[5].style &&
      (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2))
    error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim");

It will be in the next patch.

Steve

it’s a good idea only if the model is solid.
for liquid or gaseous models the atoms will fill the box in few steps
and he has to be confronted by the same problem!

this is nonsense for three reasons.

unfortunate literary!

  1. if it was gas or liquid, you would be using
    ppp boundary in the first place.
    why? for example in confined flows in nanochannels
  1. if you just ignore atoms that leave the
    the box, you don’t preserve a reasonable
    state. your results will be bogus

only if their number is relatively significant

  1. shear stress/strain for gas or liquid???

why not? for example in bingham plastics

Thanks for all hints. The discussion was great.

BTW, Steve’s point fixed the problem.

Iman.