Pressure application to separate oil in water through amorphous polymer membrane

GROMACS version:
GROMACS modification: Yes/No
Hello folks! I want to simulate oil water separation using an amorphous polymer membrane. I have created equilibrated polymer membrane and oil-water mixture individually. Now, further, what is the roadmap to apply pressure at one side of this combined structure and simulate water passing through the membrane? What changes need to be done in the.mdp file to carry out this. Any reference.mdp file which are available would be really helpful. Any suggestion regarding this will be really helpful. Thanks in advance.

There is no easy way of doing this. One way would be adding a solid wall and then applied a constant force between the COM of the wall and the COM of the polymer using the pull code (see the pull mdp options).

Thanks for the suggestion.

  1. I want to know if there is any need to change the pressure in the Z direction, too, using pressure coupling, as I want to apply varying pressure to simulate the water passing through the membrane.
  2. How can I define COM of wall and membrane.
  3. Do I need to freeze/restrain the movement of the membrane also?

One option is using the pull-code and select the wall and membrane as groups to pull on. You should not apply pressure coupling along the direction your are pulling.

Thanks for the update. My follow-up question is:

  1. I need to pull one side, and another side wall should be fixed (as 1 atm pressure at one side wall and larger pressure at another side wall). How can I make groups for that? as i have combined .gro file for both walls.
  2. How can i convert force to pressure (is it just F= p*A, where Area is the surface area of the wall created)?

If you want such a setup you should apply pressure coupling along the direction you are pulling. You do not need to fix a wall. The only tricky part is to obtain the correct distance when your distance is close to half the box size. I suppose that if you use geometry=direction this will not be an issue.

Yes, pressure if simply force divided by the area.

Thanks for the clarification. It would be helpful for me if you could provide me a reference .mdp file.

When you want pressure coupling, you need to have the walls parallel to the xy-plane.
You need to set up pull-groups.
I realize now that the position/PBC doesn’t matter with constant-force.

Some critical parameters:

pull-ncoords = 1
pull-coord1-type = constant-force
pull-coord1-geometry = direction
pull-coord1-vector = 0 0 1
pull-coord1-k =

pcoupltype = semi-isotropic
compressibility = 0
ref-p = 0

Thanks for the response.

  • I guess pull-coord1-k is the force I want to apply on the wall.
  • I have another issue too. My graphene wall forcefield files are not correct as they are not callable. It gives an error. is there any python script to automate this process. How can i integrate this with my entire model (a box filled with membrane-oil-water). I am not able to rectify the error. It would be helpful if you could ponder light upon this too.

Yes, with constant-force k is the force you want to apply.

I don’t understand what you mean with “callable”.

Thanks for the response.
I understand through works of literature that I need to create walls at the opposite ends of the box and use ‘accelerate’ group to apply pressure.
How can I use these commands in the .mdp file? The walls give an error during minimization, and water molecules pass through them.
Could you kindly share reference files (.mdp) for the same problem

I would use a single wall and use pull groups, as per my previous suggestion.

The wall needs to be tight enough.You can use LJ spheres for that.

Could you kindly write those commands (wall and pull) as in the .mdp file to have a clear idea? or any other reference will be highly supportive.

The wall you need to construct yourself out of atoms. The pull options I gave above, apart from setting up the two pull groups, which is straightforward.

Okay. Thanks a lot for the kind help