confusion between doc and src in cohesion model

Submitted by NSalloum on Wed, 11/14/2018 - 12:48


I have an inquiry regarding the cohesion model easo/capillary/viscous which I hope someone may help me getting an answer for it.

I felt maybe there is a contradiction between the documentation and the source code regarding the calculation of the Fcapilary where the following is stated in the documentation:
Fcapilary = - pi*surfaceTension*sqrt(radi*radj)*(exp(A*dist/R2+B)+C)
volBondScaled = volBond/R2^3
A = -1.1*volBondScaled^(-0.53)
B = (-0.148*log(volBondScaled)-0.96)*contactAngleEff*contactAngleEff - 0.0082*log(volBondScaled) + 0.48
C = 0.0018*log(volBondScaled)+0.078;
contactAngleEff = 0.5*(contactAngleI+contactAngleJ)

but in the source code it is as follows:
const double R2 = (radi >=radj) ? radi : radj;
const double R2inv = 1./R2;
const double volBondScaled = volBond1000*R2inv*0.001*R2inv*R2inv;
const double Bparam = (-0.148*log(volBondScaled)-0.96)*contactAngleEff*contactAngleEff - 0.0082*log(volBondScaled) + 0.48;
const double Cparam = 0.0018*log(volBondScaled)+0.078;
const double Fcapilary = - M_PI*surfaceTension*sqrt(radi*radj)*(exp(Bparam)+Cparam);

so why is the Bparam the only parameter considered in the exp ?

best wishes,

arnom's picture

arnom | Thu, 11/15/2018 - 15:18

You are looking at the part where two particles intersect. In the surfacesClose function which is called if particles are only nearby then the formula with A is used as documented.

DCS team member & LIGGGHTS(R) core developer