"cohesion easo/capillary/viscous" is missing in the combination with "hertz tangential history"

Submitted by yidongxia on Tue, 01/31/2017 - 22:51

After I updated LIGGGHTS-PUBLIC to version 3.6.0, my simulation tests cannot run for the following reason:

####################################################################################################
pair_style gran model hertz tangential history cohesion easo/capillary/viscous rolling_friction cdt
ERROR: unknown contact model or model not in whitelist. Possible root causes:
(1) it's a typo. Check the documentation of the contact model you are using.
(2) the contact model is http://www.cfdem.com/node/add/forum/2#not available in your installation. Check if a documentation for this.
contact model is available at all in your version.
(3) the model is part of a package which was not installed. Check the documentation for details.
(4) the model is available, but was not in the whitelist during compilation. Check if a file
src/style_contact_model.whitelist exists. If yes, modify it and re-compile. You can also
use script whitelist.sh in the /src directory to create a full whitelist. (../pair_gran_proxy.cpp:75)

Comment from the off: Bazinga! (../pair_gran_proxy.cpp:75)
####################################################################################################

As I followed the hint (4) and checked src/style_contact_model.whitelist, I found there is no combination of "hertz tangential history" and "cohesion easo/capillary/viscous" in the file. All available relevant options (when you have "hertz tangential history") in that files are

####################################################################################################
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_OFF, ROLLING_OFF, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_OFF, ROLLING_CDT, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_OFF, ROLLING_EPSD2, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_OFF, ROLLING_EPSD, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_SJKR2, ROLLING_OFF, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_SJKR, ROLLING_OFF, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_SJKR, ROLLING_CDT, SURFACE_DEFAULT)
GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_OFF, ROLLING_OFF, SURFACE_MULTICONTACT)
####################################################################################################

So it seems "cohesion easo/capillary/viscous" is missing in the combination with "hertz tangential history". Anyone could confirm if this is a negligence?

Thanks,

yidongxia | Tue, 01/31/2017 - 23:00

Plus, I would add that even in file src/style_contact_model.h, that is no such combination:

GRAN_MODEL(HERTZ, TANGENTIAL_HISTORY, COHESION_EASO_CAPILLARY_VISCOUS, ROLLING_CDT, SURFACE_DEFAULT)

Could anyone give an explanation?

yidongxia | Tue, 01/31/2017 - 23:10

In addition, at the beginning of my code compilation, there is a weird message

mv: style_contact_model.tmp: No such file or directory

ckloss's picture

ckloss | Mon, 02/27/2017 - 20:37

Hi yidongxia,

in LIGGGHTS, all the model cominations (normal, tangential, cohesion, rolling, surface) are inlined to increase the code performance. However, the model variety (possibility of model combinations) has become huge so in the compilation process we're including the likely ones only. If you're missing a model, just add a line into the model whitelist

best wishes
Christoph