85 lines
4.4 KiB
Plaintext
Executable File
85 lines
4.4 KiB
Plaintext
Executable File
#===========================================================================#
|
|
# Sytem of 2 pairs of rigid particles moving towards one another. #
|
|
# At each timestep, the hydrodynamic force acting on one of these four #
|
|
# rigid particles is printed to the screen. #
|
|
# #
|
|
# Here, gamma (used in the calculation of the particle-fluid interaction #
|
|
# force) is calculated by default. Thus, the colloidal objects will have #
|
|
# slightly larger "hydrodynamic" radii than given by the placement of the #
|
|
# particle nodes. #
|
|
# #
|
|
# Sample output from this run can be found in the file: #
|
|
# 'fourspheres_velocity0d0001_defaultgamma.out' #
|
|
#===========================================================================#
|
|
|
|
units micro
|
|
dimension 3
|
|
boundary p p p
|
|
atom_style atomic
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Need a neighbor bin size smaller than the lattice-Boltzmann grid spacing
|
|
# to ensure that the particles belonging to a given processor remain inside
|
|
# that processors lattice-Boltzmann grid.
|
|
# The arguments for neigh_modify have been set to "delay 0 every 1", again
|
|
# to ensure that the particles belonging to a given processor remain inside
|
|
# that processors lattice-Boltzmann grid. However, these values can likely
|
|
# be somewhat increased without issue. If a problem does arise (a particle
|
|
# is outside of its processors LB grid) an error message is printed and
|
|
# the simulation is terminated.
|
|
#----------------------------------------------------------------------------
|
|
neighbor 1.0 bin
|
|
neigh_modify delay 0 every 1 exclude type 1 1
|
|
|
|
read_data data.four
|
|
|
|
#----------------------------------------------------------------------------
|
|
# None of the particles interact with one another.
|
|
#----------------------------------------------------------------------------
|
|
pair_style lj/cut 2.45
|
|
pair_coeff * * 0.0 0.0 2.45
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Need to use a large particle mass in order to approximate an infintely
|
|
# massive particle, moving at constant velocity through the fluid.
|
|
#----------------------------------------------------------------------------
|
|
mass * 10000.0
|
|
timestep 3.0
|
|
|
|
group sphere1 id <> 1 320
|
|
group sphere2 id <> 321 640
|
|
group sphere3 id <> 641 960
|
|
group sphere4 id <> 961 1280
|
|
|
|
velocity sphere1 set 0.0 0.0001 0.0 units box
|
|
velocity sphere2 set 0.0 -0.0001 0.0 units box
|
|
velocity sphere3 set 0.0 0.0001 0.0 units box
|
|
velocity sphere4 set 0.0 -0.0001 0.0 units box
|
|
|
|
#---------------------------------------------------------------------------
|
|
# Create a lattice-Boltzmann fluid covering the simulation domain.
|
|
# All of the particles in the simulation apply a force to the fluid.
|
|
# Use the standard LB integration scheme, a fluid density = 1.0,
|
|
# fluid viscosity = 1.0, lattice spacing dx=4.0, and mass unit, dm=10.0.
|
|
# Use the default method to calculate the interaction force between the
|
|
# particles and the fluid. This calculation requires the surface area
|
|
# of the composite object represented by each particle node. By default
|
|
# this area is assumed equal to dx*dx; however, since this is not the case
|
|
# here, it is input through the setArea keyword (i.e. particles of type 1
|
|
# correspond to a surface area of 2.640508625).
|
|
# Print the force and torque acting on one of the spherical colloidal objects
|
|
# to the screen at each timestep.
|
|
#----------------------------------------------------------------------------
|
|
fix 1 all lb/fluid 1 1 1.0 1.0 setArea 1 2.640508625 dx 4.0 dm 10.0 calcforce 20 sphere1
|
|
|
|
#---------------------------------------------------------------------------
|
|
# For this simulation the colloidal particles move at a constant velocity
|
|
# through the fluid. As such, we do not wish to apply the force from
|
|
# the fluid back onto these objects. Therefore, we do not use any of the
|
|
# viscous_lb, rigid_pc_sphere, or pc fixes, and simply integrate the
|
|
# particle motions using one of the built-in LAMMPS integrators.
|
|
#---------------------------------------------------------------------------
|
|
fix 2 all nve
|
|
|
|
run 300000
|