moving group in a periodic box

I have a Periodic Box. I divide it into 3 groups (Upper, Middle and lower)
I want to fix Lower group and move the Upper group.
"Change_box" and "fix deform" do not work for this case.
"displace_atom" can not move atom in periodic condition.
how can I do this?

Maybe fix move? Or velocity with "set" keyword.

Oleg Sergeev,
junior researcher, VNIIA.

24.04.13, 19:53, "Mehdi Eftekhari" <[email protected]...>":

I have a Periodic Box. I divide it into 3 groups (Upper, Middle and lower)
I want to fix Lower group and move the Upper group.
"Change_box" and "fix deform" do not work for this case.

why not?

"displace_atom" can not move atom in periodic condition.

huh? why not?

how can I do this?

using a combination of change_box and displace_atoms sounds exactly what
you ask for. perhaps the problem is not in the commands but in your model
design. ...or your description, as it is not very specific.

axel.

I embed a CNT in a medium as the attachment.
The problem is when I deform the box I want the CNT deform as well, but it does not.
The surrounding material is Periodic but the CNT has a finite length, so deforming box cannot change its length.

as you suggest I used these command for the simulation but it does not change anything.

fix NPT2 all npt temp 300 300 100 x 0 0 50 y 0 0 50 drag 2.0
displace_atoms Upper move 0 0 10 units box
change_box all z delta 0 10 remap units box

but the box in Z direction does not chnaged

CNT.png

I embed a CNT in a medium as the attachment.
The problem is when I deform the box I want the CNT deform as well, but it does not.
The surrounding material is Periodic but the CNT has a finite length, so deforming box cannot change its length.

the main problem is in your concept and the fact that you seem to be
viewing an atomic system like a continuous medium.

as you suggest I used these command for the simulation but it does not change anything.

fix NPT2 all npt temp 300 300 100 x 0 0 50 y 0 0 50 drag 2.0
displace_atoms Upper move 0 0 10 units box
change_box all z delta 0 10 remap units box

combining this with fix npt is a bad idea.

but the box in Z direction does not chnaged

your reasoning doesn't make a lot of sense. there are two major issues:

- why should changing the box also change the coordinates? there is no
physical reason for it. it would happen the other way around, i.e. you
have an external force pulling on (some of) your atoms that will make
the atoms move apart and thus also change the box.

- where is the force that would be deforming/straining your CNT be
coming from? from the picture is looks like a finite object fully
embedded into a matrix. there is nothing interacting with it than the
matrix atoms, so the only part of the system that should experience
some external interactions are atoms at the "outer parts" of the
matrix. this, BTW, can be implemented using either fix move, fix
addforce or fix aveforce.

Finally I made it.
I used these command to get the reaction force and the pressure of the system under tension.

if I divide the model to "middle", "Upper" and "Lower" atom then:

fix store lower store/force
compute reaction Lower reduce sum f_store[3]

fix Lower setforce 0 0 0
fix upper setforce 0 0 0
velocity lower set 0 0 0 units box
velocity upper set 0 0 0.001 units box

fix NPT all npt temp temp 300 300 100 x 0 0 50 z 0 0 50 drag 2
thermo_style custom v_strain c_reaction

it gaves me the force-strain curve
thanks,
regards

Finally I made it.
I used these command to get the reaction force and the pressure of the system under tension.

if I divide the model to "middle", "Upper" and "Lower" atom then:

fix store lower store/force
compute reaction Lower reduce sum f_store[3]

fix Lower setforce 0 0 0
fix upper setforce 0 0 0
velocity lower set 0 0 0 units box
velocity upper set 0 0 0.001 units box

fix NPT all npt temp temp 300 300 100 x 0 0 50 z 0 0 50 drag 2
thermo_style custom v_strain c_reaction

it gaves me the force-strain curve

you still need to do one more test with:

velocity lower set 0 0 -0.0005 units box
velocity upper set 0 0 0.0005 units box

and see, if you get the same result.

axel.

p.s.: also, having such a high drag value on fix npt can be an
accuracy problem and you should test how much you can lower it.

Dear Mehdi,

it gaves me the force-strain curve

In my opinion, it does not

fix store lower store/force
compute reaction Lower reduce sum f_store[3]

fix Lower setforce 0 0 0
fix upper setforce 0 0 0
velocity lower set 0 0 0 units box
velocity upper set 0 0 0.001 units box

fix NPT all npt temp temp 300 300 100 x 0 0 50 z 0 0 50 drag 2

how do you imagine the z-component of stress-tensor being 0 if you apply the strain along the z axis? is it physical for this system?
Even if you meant "y" here I'm not sure what will your pressure mean with fixed zero forces on matrix particles.

Another reason why your curve may be unrealistic is that Upper and Lower atoms do not feel any action from CNT. In real system there will always be mutual interaction between CNT and the matrix, and relaxed matrix will not give the same forces on CNT as the one that is fixed, as in your case.

Oleg.