217 lines
10 KiB
Groff
217 lines
10 KiB
Groff
LAMMPS (17 Feb 2022)
|
|
#===========================================================================#
|
|
# 2 particle microrheology test #
|
|
# #
|
|
# Run consists of 2 colloidal particles undergoing Brownian motion in a #
|
|
# thermal lattice-Boltzmann fluid. #
|
|
# #
|
|
# If you uncomment the "fix printCM..." line, sample output from this run #
|
|
# can be found in the file: #
|
|
# 'twocolloid.out' #
|
|
#===========================================================================#
|
|
|
|
units nano
|
|
dimension 3
|
|
boundary p p p
|
|
atom_style molecular
|
|
read_data data.two
|
|
Reading data file ...
|
|
orthogonal box = (-48 -48 -48) to (48 48 48)
|
|
1 by 2 by 2 MPI processor grid
|
|
reading atoms ...
|
|
482 atoms
|
|
Finding 1-2 1-3 1-4 neighbors ...
|
|
special bond factors lj: 0 0 0
|
|
special bond factors coul: 0 0 0
|
|
0 = max # of 1-2 neighbors
|
|
0 = max # of 1-3 neighbors
|
|
0 = max # of 1-4 neighbors
|
|
1 = max # of special neighbors
|
|
special bonds CPU = 0.000 seconds
|
|
read_data CPU = 0.033 seconds
|
|
|
|
#----------------------------------------------------------------------------
|
|
# 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 0.3 bin
|
|
neigh_modify delay 0 every 1
|
|
neigh_modify exclude type 2 2
|
|
neigh_modify exclude type 2 1
|
|
|
|
comm_modify cutoff 2.5 # cutoff for communcation shoud be at least 2 dx
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Implement a hard-sphere interaction between the particles at the center of
|
|
# each colloidal object (use a truncated and shifted Lennard-Jones
|
|
# potential).
|
|
#----------------------------------------------------------------------------
|
|
pair_style lj/cut 5.88
|
|
pair_coeff * * 0.0 0.0 5.88
|
|
pair_coeff 1 1 100.0 5.238484463 5.88
|
|
pair_modify shift yes
|
|
|
|
mass * 0.0002398
|
|
timestep 0.00025
|
|
|
|
#----------------------------------------------------------------------------
|
|
# ForceAtoms are the particles at the center of each colloidal object which
|
|
# do not interact with the fluid, but are used to implement the hard-sphere
|
|
# interactions.
|
|
# FluidAtoms are the particles representing the surface of the colloidal
|
|
# object which do interact with the fluid.
|
|
#----------------------------------------------------------------------------
|
|
group ForceAtoms type 1
|
|
2 atoms in group ForceAtoms
|
|
group FluidAtoms type 2
|
|
480 atoms in group FluidAtoms
|
|
|
|
#---------------------------------------------------------------------------
|
|
# Create a lattice-Boltzmann fluid covering the simulation domain.
|
|
# This fluid feels a force due to the particles specified through FluidAtoms
|
|
# (however, this fix does not explicitly apply a force back on to these
|
|
# particles...this is accomplished through the use of the lb/viscous fix).
|
|
# Use a fluid viscosity = 1.0, fluid density= 0.0009982071 (water), and a
|
|
# lattice spacing dx=1.2.
|
|
# Use the trilinear interpolation stencil to distribute the force from
|
|
# a given particle onto the fluid mesh.
|
|
# Use a thermal lattice-Boltzmann fluid (temperature 300K, random number
|
|
# seed=2762). This enables the particles to undergo Brownian motion in
|
|
# the fluid.
|
|
#----------------------------------------------------------------------------
|
|
fix 1 FluidAtoms lb/fluid 1 1.0 0.0009982071 dx 1.2 stencil 2 noise 300.0 2762
|
|
Using a lattice-Boltzmann grid of 80 by 80 by 80 total grid points. (../fix_lb_fluid.cpp:486)
|
|
Local Grid Geometry created. (../fix_lb_fluid.cpp:1018)
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Apply the force due to the fluid onto the FluidAtoms particles (again,
|
|
# these atoms represent the surface of the colloidal object, which should
|
|
# interact with the fluid).
|
|
#----------------------------------------------------------------------------
|
|
fix 2 FluidAtoms lb/viscous
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Each colloidal object (spherical shell of particles and central particle)
|
|
# is specified as a separate molecule in the confinedcolloids.dat data
|
|
# file. Integrate the motion of these sets of particles as rigid objects
|
|
# which each move and rotate together.
|
|
#----------------------------------------------------------------------------
|
|
fix 3 all rigid molecule
|
|
2 rigid bodies with 482 atoms
|
|
|
|
#----------------------------------------------------------------------------
|
|
# To ensure that numerical errors do not lead to a buildup of momentum in the
|
|
# system, the momentum_lb fix is used every 50000 timesteps to zero out the
|
|
# total (particle plus fluid) momentum in the system.
|
|
#----------------------------------------------------------------------------
|
|
fix 4 all lb/momentum 50000 linear 1 1 1
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Create variables containing the positions of the central atoms (these
|
|
# values should correspond to the center of mass of each composite
|
|
# colloidal particle), and output these quantities to the screen.
|
|
#----------------------------------------------------------------------------
|
|
variable x1 equal x[1]
|
|
variable y1 equal y[1]
|
|
variable z1 equal z[1]
|
|
variable x2 equal x[242]
|
|
variable y2 equal y[242]
|
|
variable z2 equal z[242]
|
|
|
|
#fix printCM all print 100 "$(step) ${x1} ${y1} ${z1} ${x2} ${y2} ${z2}" file twocolloid.out screen no
|
|
thermo_style custom step v_x1 v_y1 v_z1 v_x2 v_y2 v_z2
|
|
thermo 100
|
|
|
|
run 2000
|
|
|
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
|
|
|
Your simulation uses code contributions which should be cited:
|
|
|
|
- fix lb/fluid command:
|
|
|
|
@Article{Denniston et al.,
|
|
author = {C. Denniston, N. Afrasiabian, M.G. Cole-Andre,F.E. Mackay, S.T.T. Ollila, T. Whitehead},
|
|
title = {LAMMPS lb/fluid fix version 2: Improved Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid}, journal = {Comp.~Phys.~Comm.},
|
|
year = 2022,
|
|
volume = 275,
|
|
pages = {108318}
|
|
}
|
|
|
|
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
|
|
|
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
|
Neighbor list info ...
|
|
update every 1 steps, delay 0 steps, check yes
|
|
max neighbors/atom: 2000, page size: 100000
|
|
master list distance cutoff = 6.18
|
|
ghost atom cutoff = 6.18
|
|
binsize = 3.09, bins = 32 32 32
|
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
(1) pair lj/cut, perpetual
|
|
attributes: half, newton on
|
|
pair build: half/bin/newton
|
|
stencil: half/bin/3d
|
|
bin: standard
|
|
WARNING: Communication cutoff adjusted to 6.18 (../comm.cpp:732)
|
|
Per MPI rank memory allocation (min/avg/max) = 7.071 | 7.133 | 7.196 Mbytes
|
|
Step v_x1 v_y1 v_z1 v_x2 v_y2 v_z2
|
|
0 -6 -6 -6 6 6 6
|
|
100 -5.9728258 -6.0005827 -5.9442685 5.9742978 6.0301171 5.9331116
|
|
200 -5.9160265 -5.9832234 -5.9485519 6.0258914 6.0954103 5.8748455
|
|
300 -5.859605 -5.9503512 -5.9827305 6.0472442 6.0610438 5.8531801
|
|
400 -5.8495832 -5.923183 -6.0205706 6.1502952 5.9975714 5.8964144
|
|
500 -5.8229958 -5.9256007 -5.963852 6.1738854 5.8961268 5.8723276
|
|
600 -5.7813718 -5.9423848 -5.9309537 6.2083705 5.866578 5.9308017
|
|
700 -5.7652512 -5.8737534 -5.9083059 6.2502919 5.757157 5.9690204
|
|
800 -5.7586139 -5.8559089 -5.8863028 6.2708214 5.7307727 5.9443721
|
|
900 -5.7200104 -5.8603762 -5.8944329 6.28719 5.7723113 5.9660136
|
|
1000 -5.7224239 -5.8487095 -5.9013071 6.3156272 5.8026721 5.9558441
|
|
1100 -5.576187 -5.8604571 -5.9254376 6.3778561 5.7655467 5.9702619
|
|
1200 -5.5348377 -5.8086817 -5.9982829 6.3979309 5.8028207 5.930579
|
|
1300 -5.5937473 -5.7733457 -6.0596682 6.3630776 5.937045 5.9662317
|
|
1400 -5.6207137 -5.7027974 -6.0641922 6.3079248 5.9631009 5.9707377
|
|
1500 -5.6648138 -5.6229854 -6.0989624 6.2784552 5.9448163 5.9254903
|
|
1600 -5.6905161 -5.5479418 -6.0704567 6.3133179 5.941372 5.8933924
|
|
1700 -5.6878847 -5.5415566 -6.0222328 6.3633902 5.9957476 5.7994115
|
|
1800 -5.6500526 -5.5204331 -5.9767389 6.4081067 5.9651289 5.7297962
|
|
1900 -5.7221835 -5.4972898 -5.9670446 6.4470403 5.9161644 5.6902098
|
|
2000 -5.7427378 -5.4637388 -6.0196569 6.3668465 5.9127502 5.6931183
|
|
Loop time of 358.9 on 4 procs for 2000 steps with 482 atoms
|
|
|
|
Performance: 120.368 ns/day, 0.199 hours/ns, 5.573 timesteps/s
|
|
100.0% CPU use with 4 MPI tasks x no OpenMP threads
|
|
|
|
MPI task timing breakdown:
|
|
Section | min time | avg time | max time |%varavg| %total
|
|
---------------------------------------------------------------
|
|
Pair | 0.0026566 | 0.0054654 | 0.0084461 | 3.6 | 0.00
|
|
Bond | 0.0003946 | 0.000476 | 0.0005288 | 0.0 | 0.00
|
|
Neigh | 0.0011268 | 0.0045933 | 0.0080717 | 5.0 | 0.00
|
|
Comm | 0.053156 | 0.057764 | 0.062919 | 1.9 | 0.02
|
|
Output | 0.0009824 | 0.0018621 | 0.0043906 | 3.4 | 0.00
|
|
Modify | 358.62 | 358.63 | 358.64 | 0.0 | 99.93
|
|
Other | | 0.1963 | | | 0.05
|
|
|
|
Nlocal: 120.5 ave 241 max 0 min
|
|
Histogram: 2 0 0 0 0 0 0 0 0 2
|
|
Nghost: 181 ave 297 max 80 min
|
|
Histogram: 2 0 0 0 0 0 0 0 1 1
|
|
Neighs: 0 ave 0 max 0 min
|
|
Histogram: 4 0 0 0 0 0 0 0 0 0
|
|
|
|
Total # of neighbors = 0
|
|
Ave neighs/atom = 0
|
|
Ave special neighs/atom = 0
|
|
Neighbor list builds = 20
|
|
Dangerous builds = 0
|
|
#run 2000000000
|
|
Total wall time: 0:05:59
|