How to use fix-controller command to control pressure in non-periodic system?

Dear lammps developers and users,
I have problems with pressure-control in fix-controller.
i want to adjust the position of a wall (piston) to hold a non-periodic system at a desired pressure. just like this:
fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall

but, I found it is hard to use this command , Could you please give me some help with this? And provide a simple example of using this command to control pressure?

Thanks!

Dear lammps developers and users,
I have problems with pressure-control in fix-controller.
i want to adjust the position of a wall (piston) to hold a non-periodic system at a desired pressure. just like this:
fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall

but, I found it is hard to use this command , Could you please give me some help with this? And provide a simple example of using this command to control pressure?

please explain in more detail, what the problem is.

you have to understand, that it is critical to choose meaningful
parameters, and that those are *very* dependent on the individual
system. it requires spending some time understanding the mechanism and
how to work out parameters. there is a detailed section in the fix
controller docs explaining this.

axel.

thankes for your rely!
how to ues this command (fix-controller) to control the pressure?the follow is my in file.

# lammps
units metal #单位,指定为metal
dimension 3 #三维模型
boundary p p f
atom_style atomic #原子模式 自动
#processors 16 1 1
atom_modify map array

##############global variable##############
variable T_initial equal 90
variable T_final equal 153

region box block -0.98 33.26 -0.98 33.26 -14.0 600 units box
create_box 3 box
mass 1 39.94 # Ar
mass 2 195.08 # pt
mass 3 195.08 # pt

lattice fcc 3.92
region r_1 block -0.98 33.26 -0.98 33.26 -8 0 units box
create_atoms 2 region r_1
create_atoms 3 region r_2
group wall type 2
group wall_up type 3

lattice fcc 5.775
region q12 block INF INF INF INF 0.1 80 units box
create_atoms 1 region q12 #将原子按晶格填满区域
group liquid type 1

# potentials
pair_style lj/cut 13.62
pair_coeff 1 1 0.0104 3.405
pair_coeff 1 2 0.0735 2.94
pair_coeff 2 2 0.52 2.475
pair_coeff 1 3 0.0735 2.94
pair_coeff 3 3 0.52 2.475

neighbor 2.0 bin
neigh_modify every 1 delay 0 check yes

#min_style sd
#minimize 1.0e-9 1.0e-9 10000 10000

timestep 0.005
fix 8 wall spring/self 2.925
fix w1 all wall/reflect zhi EDGE units box
velocity all create ${T_initial} 981123 mom yes units box

fix nve4 wall_up nve
fix nve3 wall nve
fix nve1 liquid nve

fix t1 liquid langevin \{T\_initial\} {T_initial} 0.25 699483
fix t2 wall temp/rescale 1 \{T\_initial\} {T_initial} 0.02 1.0
fix t22 wall_up temp/rescale 1 \{T\_initial\} {T_initial} 0.02 1.0

##### compute press #####################
variable vol_liquid equal (103.26*103.26*v_xwall)
compute peratom liquid stress/atom NULL
compute p liquid reduce sum c_peratom[1] c_peratom[2] c_peratom[3]
variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol_liquid)

run 100000
unfix t1

##### control press #####################
fix 1 all controller 100 0.2 0.5 0 100.0 v_press 1.01325 xwall

##### control position by lj/93 #####################
variable xwall internal 81 # wall position
fix zlowall all wall/lj93 zhi v_xwall 0.5 3.405 13.0 units box

run 100000

"Axel Kohlmeyer" <[email protected]...>写道:

sorry, but "here is my input, fix it" does not answer my request.
you have to explain, how you chose the parameters for fix controller
and how you detect that it is not working as expected.
as mentioned before, the fix controller documentation gives a workflow
how you find the parameters, which need to be chosen specifically for
your particular system.
simply copying an example command line from the documentation and
hoping for the best is not sufficient.

axel.