Beruflich Dokumente
Kultur Dokumente
We have prepared a script for reverse poiseuille flow in LAMMPS. This kind of flow has been
chosen so that we are able to simulate a flow without having to worry about boundary interactions
(for now). The LAMMPS script is as follows.
We would like to check the profile of number density and temperature of particles through the
simulation box length. It should ideally be a straight line, meaning that there are no density
variations, but there will definitely be some. The point is to take note of how much variation is
allowed.
The variation is around 1.5, and fluctuates around that value. The temperature shows varation as a
parabola. We can say it is a parabola because the velocity variations are the same way, and
temperature is calculated from the sum of kinetic energies only.
BACKER. Et al (Poiseuille flow to measure the viscosity of particle model fluids, 2005)
We shall take up the parameters from the paper and simply substitute them in the script that we
have. Let us see how the result comes out. First of all, we want the temperature profile, as
calculated from LAMMPS, directly, and the velocity profile. The list of parameters in the paper are
listed in the table below:
pair_style dpd 0.5 1.0 215355 1) The DPD parameters are fed in here
pair_coeff * * 0 20.25 1.0
fix 3 gleft addforce 0.0 0.055 2) The values of force are fed in here
0.0 #region left
fix 4 gright addforce 0.0
-0.055 0.0 #region right
The temperature shows steady increase even up till 70 lakh timesteps. Not very encouraging!
We shall implement some changes here. We can reduce the timestep value and run the simulation. It
shall be changed from 0.001 to 0.0001. This means that 50 lakh timesteps, now shall represent total
simulation time from 5000 seconds to 500 seconds.
Also, one computes are being introduced here. One is “compute ke”, to calculate the total
translational kinetic energy of the atoms. It shall be printed with every time step.
timestep 0.0001 1) reduce the timestep to one tenth of previous
value
compute cke all ke 1) Compute to calculate translational kinetic
energy
thermo_style custom step temp c_cke pe 1) Print total kinetic energy with time
etotal
So, coming back to the temperature graph, it does not seem to be settling down even at low time
steps, and for 70 lakh runs. Also, the external force is much lower than required temperature. We
may argue that since there is an external force; acting on every particle at every time step, the
temperature must add up, and hence we should expect a graph like the one we have.
But two things come up here: the external force, in the problem acts in opposite directions in two
halves of the simulation box, so per time step, it all adds up to zero (and hence we should not get an
increasing value). Further, the variation of temperature isn’t steadily increasing. At certain times,
the other forces take over (dissipative, for instance), and the overall temperature dips to a certain
value before the external forces take control again.
We can do one thing. There is a pair_style dpd/fdt that sets up the relation between dissipative
force coefficient and random force, as per the Fluctuation Dissipation theorem. The code snippet
shall now become...
pair_style dpd/fdt 0.5 1.0 215355 1) Parameters for the dpd/fdt style. Note that in
pair_coeff * * 0 4.5 1.0 dpd pair style, gamma is specified. Here, its
sigma, in its place.
We must note, however, that there isn’t any actual difference between the two pair styles, as far as
the current problem is concerned because the FDT is kept in mind, in both pair styles, (as per the
documentation). We’ll try, nonetheless...