Using a Coulombic Solver with triclinic box and slab correction

Are there any current workarounds for using a coulomb solver such as PPPM with a triclinic box and non-periodic in the z-direction? I am wanting to carry out simulations of sputtering in some oxides, but having trouble applying a coulombic solver in the non-periodic dimension. I know there were workarounds for this for cases that were not triclinic boxes, but what about for triclinic boxes?

Thanks,

Ben

Are there any current workarounds for using a coulomb solver such as PPPM
with a triclinic box and non-periodic in the z-direction? I am wanting to
carry out simulations of sputtering in some oxides, but having trouble
applying a coulombic solver in the non-periodic dimension. I know there were
workarounds for this for cases that were not triclinic boxes, but what about
for triclinic boxes?

the simplest approach would be to convert your non-orthogonal box into
an orthogonal one.
for your kind of simulation, there is no need to use a triclinic cell.

axel.

Can it be readily converted within lammps itself to ortho, or is this something that needs to be done prior?

I tried using the command:

change_box all ortho

But says I cannot do it with a tilt factor nonzero. If I change the tilt factor to 0, then I get the boost neigh modify command error, which I would think would indicate a structure that is too dense.

Ben

Can it be readily converted within lammps itself to ortho, or is this
something that needs to be done prior?

I tried using the command:

change_box all ortho

But says I cannot do it with a tilt factor nonzero. If I change the tilt
factor to 0, then I get the boost neigh modify command error, which I would
think would indicate a structure that is too dense.

you have to "manually" convert your geometry.
e.g. try:

replicate 2 2 1

then define a block region with the x,y lattice spacing and all of z
in the center of the resulting box, that can be properly replicated.
if this is not possible, you may need to replicate 3x or 5x or more.

write out the system with write_data, and manually remove the tilt
factors and adjust the box bounds to those of the region.

read it back, and check if it properly reproduces the same structure.

axel.