Recently, I’ve been studying the sliding friction of monolayer graphene on a rigid monolayer h-BN. I want to apply a uniform pull on the mobile graphene through a harmonic spring. The scheme is as follows,
I tried the fix spring and fix smd commands. It seems that they can not meet my requirements. I wonder if I used the wrong command.
your question and your subject line are inconsistent, so it is very difficult to give advice.
you need to explain in more detail what it is exactly what you want to implement, how your system is set up (and what potentials etc. you are using) and why and how the fixes you tried have failed and why you specifically need what you are asking for.
Here is my script and running snapshots. The top layer does not move along the X-axis as planned. In fact, it tends to move toward the negative direction of the Z-axis.
Besides, the middle layer is not pulled by the top layer.
boundary f f f
pair_style hybrid/overlay rebo lj/cut 8
pair_coeff * * none
pair_coeff * * rebo CH.rebo NULL C NULL
pair_coeff 1 2 lj/cut 0.01 3.4
mass 1 12.01
mass 2 12.01
mass 3 12.01
neigh_modify every 1 delay 0 check yes one 10000
why not use fix smd (or fix colvars or fix plumed in SMD mode) on the orange graphene layer and remove the “rigid” layer completely as it is seems to be not otherwise interacting?
that the orange layer is being pulled toward the green layer is just logical and simple physics due to vector math. you would have to put the green layer exactly on top of the orange layer to avoid this, but then using fix spring would be exactly the same as using fix smd.
you may also need to adjust the spring constant for being effective in pulling the layer as it is very heavy and your spring constant is quite weak. just look at a typical force constant for a covalent bond and keep in mind that you are now connecting many atoms at the same time with a single force constant. that should put you in the right order of magnitude.