units si atom_style granular atom_modify map array boundary f f f newton off communicate single vel yes soft_particles yes neighbor 0.0002 bin neigh_modify delay 0 read_data particlesInput fix m1 all property/global youngsModulus peratomtype 6.5E+07 6.5E+07 fix m2 all property/global poissonsRatio peratomtype 0.245 0.245 fix m3 all property/global coefficientRestitution peratomtypepair 2 0.94 0.94 0.94 0.94 fix m4 all property/global coefficientFriction peratomtypepair 2 0.07 0.07 0.07 0.07 fix m6 all property/global minSeparationDistanceRatio scalar 1.01 fix m7 all property/global maxSeparationDistanceRatio scalar 1.1 fix m8 all property/global surfaceLiquidContentInitial scalar 0.01 fix m9 all property/global surfaceTension scalar 0.073 fix m10 all property/global fluidViscosity scalar 0.001 fix m11 all property/global contactAngle peratomtype 0 0 pair_style gran model hertz tangential history cohesion washino/capillary/viscous pair_coeff * * variable dt equal 1e-7 timestep ${dt} fix integrate all nve/sphere fix gravi all gravity 0.0 vector 1.0 0.0 0.0 variable runTime equal 0.02 variable runSteps equal ${runTime}/${dt} variable saveTime equal 0.00001 variable saveSteps equal ${saveTime}/${dt} #run 0 is needed to access f_surfaceLiquidContent[0], f_liquidFlux[0], and f_liquidSource[0] (See LIGGGHTS documentation of gran_cohesion_washino_capillary_viscous) run 0 dump dmp all custom/vtk ${saveSteps} post/twoParticles_*.vtk id type type x y z vx vy vz fx fy fz radius mass f_surfaceLiquidContent[0] & f_liquidFlux[0] f_liquidSource[0] variable time equal step*dt variable x_1 equal x[1] variable y_1 equal y[1] variable z_1 equal z[1] variable vx_1 equal vx[1] variable vy_1 equal vy[1] variable vz_1 equal vz[1] variable fx_1 equal fx[1] variable fy_1 equal fy[1] variable fz_1 equal fz[1] variable slc_1 equal f_surfaceLiquidContent[1] variable lf_1 equal f_liquidFlux[1] variable ls_1 equal f_liquidSource[1] variable x_2 equal x[2] variable y_2 equal y[2] variable z_2 equal z[2] variable vx_2 equal vx[2] variable vy_2 equal vy[2] variable vz_2 equal vz[2] variable fx_2 equal fx[2] variable fy_2 equal fy[2] variable fz_2 equal fz[2] variable slc_2 equal f_surfaceLiquidContent[2] variable lf_2 equal f_liquidFlux[2] variable ls_2 equal f_liquidSource[2] fix particleData all print ${saveSteps} "${time} ${x_1} ${y_1} ${z_1} ${vx_1} ${vy_1} ${vz_1} ${fx_1} ${fy_1} ${fz_1} ${slc_1} ${lf_1} ${ls_1} & ${x_2} ${y_2} ${z_2} ${vx_2} ${vy_2} ${vz_2} ${fx_2} ${fy_2} ${fz_2} ${slc_2} ${lf_2} ${ls_2}" file twoParticlesPrint.txt screen no & title "%time x_1 y_1 z_1 vx_1 vy_1 vz_1 fx_1 fy_1 fz_1 slc_1 lf_1 ls_1 x_2 y_2 z_2 vx_2 vy_2 vz_2 fx_2 fy_2 fz_2 slc_2 lf_2 ls_2" #In particlesInput file, the two particles have been given different atom types to allow for setting different liquid contents. #Same can be achieved using different other set styles like atom, group, region etc. (See https://www.cfdem.com/media/DEM/docu/set.html) set type 2 property/atom surfaceLiquidContent 0 run ${runSteps} upto