Error in running the cohesion force model

Submitted by mehdikamyabi on Sat, 11/04/2017 - 14:23

Dear all,
hello,
I'm new on LIGGGHTS so please forgive me if the question is stupid.
I was running the cohesive example of LIGGGHTS. When I changed the cohesive force as washino/capillary/viscous I received this error: "ERROR: Could not locate a fix/property storing value(s) for surfaceLiquidContentInitial as requested by cohesion_model washino/capillary/viscous. (../modify_liggghts.cpp:411)"

could you please help me to fix this?
Thank you in advance

the in.cohesion file is as:

#Contact model example

atom_style granular
atom_modify map array
boundary m m m
newton off

communicate single vel yes

units si

region reg block -0.05 0.05 -0.05 0.05 0. 0.15 units box
create_box 1 reg

neighbor 0.002 bin
neigh_modify delay 0

#Material properties required for new pair styles

fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
fix m4 all property/global coefficientFriction peratomtypepair 1 0.05
fix m5 all property/global characteristicVelocity scalar 2.
fix m6 all property/global cohesionEnergyDensity peratomtypepair 1 300000

#New pair style
pair_style gran model hertz tangential history cohesion washino/capillary/viscous #Hertzian with cohesion
pair_coeff * *

fix id all property/global minSeparationDistanceRatio scalar 1.01
#(value=value for the minimum separation distance, recommended as 1.01)
fix id all property/global maxSeparationDistanceRatio scalar 1.1
#(value=value for the maximum separation distance, recommended as 1.1)
fix id all property/global surfaceLiquidContentInitial scalar 0.1 0.1
#(value=value for the initial surface liquid volume in % of the solid volume)
fix id all property/global surfaceTension scalar 0.073
#(value=value for the surface tension of liquid (SI units N/m))
fix id all property/global fluidViscosity scalar 1000
#(value=value for the fluidViscosity (SI units Pas))
fix id all property/global contactAngle peratomtype 25 25 ...
#(value_i=value for contact angle of atom type i and fluid)
fix id all property/global maxLiquidContent peratomtype 0.2 0.2 ...
#(value_i=value for maximum liquid content of an atom of type i in % of particle volume)

timestep 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.15
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.05 0. 0.

#region for insertion
region bc cylinder z 0.01 0.01 0.025 0.05 0.0603 units box
group nve_group region reg

#distributions for insertion
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 2500 radius constant 0.0015
fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0

#particle insertion
fix ins nve_group insert/pack seed 32452843 distributiontemplate pdd1 &
maxattempt 100 insert_every 3000 overlapcheck yes all_in yes vel constant 0.0 0.0 -0.2 &
region bc particles_in_region 250 ntry_mc 10000

#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere

#output settings, include total thermal energy
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol
thermo 1000
thermo_modify lost ignore norm no

#insert the first particles so that dump is not empty
run 1
dump dmp all custom/vtk 800 post/cohesion_*.vtk id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

#insert particles
run 10000
unfix ins

#run
run 50000 upto

paul | Sat, 11/04/2017 - 15:34

Liggghts reads and executes input scripts line for line.
As such, the settings for the cohesion model have to be put before they are used (before pair_style).

Greetings,
Paul

mehdikamyabi | Mon, 11/06/2017 - 08:16

Dear Paul,
Thank you so much for your response. I did your instruction and brought these lines before pair_style (as below) but still the error is existed. Do you know the reason?

#Contact model example

atom_style granular
atom_modify map array

boundary m m m
newton off

communicate single vel yes

units si

region reg block -0.05 0.05 -0.05 0.05 0. 0.15 units box
create_box 1 reg

neighbor 0.002 bin
neigh_modify delay 0

#Material properties required for new pair styles

fix m1 all property/global youngsModulus peratomtype 5.e6
fix m2 all property/global poissonsRatio peratomtype 0.45
fix m3 all property/global coefficientRestitution peratomtypepair 1 0.9
fix m4 all property/global coefficientFriction peratomtypepair 1 0.05
fix m5 all property/global characteristicVelocity scalar 2.
fix m6 all property/global cohesionEnergyDensity peratomtypepair 1 300000

fix id all property/global minSeparationDistanceRatio scalar 1.01
#(value=value for the minimum separation distance, recommended as 1.01)
fix id all property/global maxSeparationDistanceRatio scalar 1.1
#(value=value for the maximum separation distance, recommended as 1.1)
fix id all property/global surfaceLiquidContentInitial scalar 0.1
#(value=value for the initial surface liquid volume in % of the solid volume)
fix id all property/global surfaceTension scalar 0.073
#(value=value for the surface tension of liquid (SI units N/m))
fix id all property/global fluidViscosity scalar 1000
#(value=value for the fluidViscosity (SI units Pas))
fix id all property/global contactAngle peratomtype 25 25
#(value_i=value for contact angle of atom type i and fluid)
fix id all property/global maxLiquidContent peratomtype 0.2 0.2
#(value_i=value for maximum liquid content of an atom of type i in % of particle volume)

#New pair style
pair_style gran model hertz tangential history cohesion washino/capillary/viscous #Hertzian with cohesion
pair_coeff * *

timestep 0.00001

fix gravi all gravity 9.81 vector 0.0 0.0 -1.0

fix zwalls1 all wall/gran model hertz tangential history primitive type 1 zplane 0.0
fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane 0.15
fix cylwalls all wall/gran model hertz tangential history primitive type 1 zcylinder 0.05 0. 0.

#region for insertion
region bc cylinder z 0.01 0.01 0.025 0.05 0.0603 units box
group nve_group region reg

#distributions for insertion
fix pts1 all particletemplate/sphere 15485863 atom_type 1 density constant 2500 radius constant 0.0015
fix pdd1 all particledistribution/discrete 15485867 1 pts1 1.0

#particle insertion
fix ins nve_group insert/pack seed 32452843 distributiontemplate pdd1 &
maxattempt 100 insert_every 3000 overlapcheck yes all_in yes vel constant 0.0 0.0 -0.2 &
region bc particles_in_region 250 ntry_mc 10000

#apply nve integration to all particles that are inserted as single particles
fix integr nve_group nve/sphere

#output settings, include total thermal energy
compute rke all erotate/sphere
thermo_style custom step atoms ke c_rke vol
thermo 1000
thermo_modify lost ignore norm no

#insert the first particles so that dump is not empty
run 1
dump dmp all custom/vtk 800 post/cohesion_*.vtk id type type x y z ix iy iz vx vy vz fx fy fz omegax omegay omegaz radius

#insert particles
run 10000
unfix ins

#run
run 50000 upto

paul | Mon, 11/06/2017 - 09:36

All your fixes are named the same ("id"), and they shouldn't be. I'd have assumed LIG would throw an error, but that does not seem to be the case here.
Additionally, contactAngle and maxLiquidContent have values for two atom types, while there is only one in the system.

Have fun,
Paul

mmkamyabi | Mon, 11/06/2017 - 12:52

Thank you Paul. Your instructions helped me so much. Now the code is running without error but the memory usage has increased so much that the run is almost dead. May you please help me again with this?
Best Regards