Washino and easo capillary wall adhesion

Submitted by abrahamp on Fri, 11/27/2015 - 14:32

The wall interaction in the Washino and Easo model is not implemented for what I can see. Below is a cut from the original file, it is comented and there is hence no visible cohesion in the simulations either.
if(sidata.is_wall) {
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!TODO HERE!!!!!!!!!!!
const double area_ratio = sidata.area_ratio;
i_forces.delta_F[0] += Ft1 * area_ratio;
i_forces.delta_F[1] += Ft2 * area_ratio;
i_forces.delta_F[2] += Ft3 * area_ratio;
i_forces.delta_torque[0] = -sidata.cri * tor1 * area_ratio;
i_forces.delta_torque[1] = -sidata.cri * tor2 * area_ratio;
i_forces.delta_torque[2] = -sidata.cri * tor3 * area_ratio;*/
} else {

Im a fairly new user but I made this change and it works for the contact capillary force:
if(sidata.is_wall) {
// in case of wall contact, r is the contact radius
const double cr = sidata.radi - 0.5*sidata.deltan;
sidata.cri = cr;
const double area_ratio = sidata.area_ratio;
i_forces.delta_F[0] += Ft1 * area_ratio;
i_forces.delta_F[1] += Ft2 * area_ratio;
i_forces.delta_F[2] += Ft3 * area_ratio;
i_forces.delta_torque[0] = -sidata.cri * tor1 * area_ratio;
i_forces.delta_torque[1] = -sidata.cri * tor2 * area_ratio;
i_forces.delta_torque[2] = -sidata.cri * tor3 * area_ratio;
}
But I do not mange to get the non contact force to work where instead of sidata.* the scdata.* is used
if(scdata.is_wall) {
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!TODO HERE!!!!!!!!!!!
const double area_ratio = scdata.area_ratio;
i_forces.delta_F[0] += Ft1 * area_ratio;
i_forces.delta_F[1] += Ft2 * area_ratio;
i_forces.delta_F[2] += Ft3 * area_ratio;
i_forces.delta_torque[0] = -scdata.cri * tor1 * area_ratio;
i_forces.delta_torque[1] = -scdata.cri * tor2 * area_ratio;
i_forces.delta_torque[2] = -scdata.cri * tor3 * area_ratio;*/
} else
If someone has further info on the use of the scdata.* class I would be happy to get some help.
Best regards
Per

ckloss's picture

ckloss | Thu, 12/10/2015 - 21:57

>>The wall interaction in the Washino and Easo model is not implemented for what I can see
Correct! We should mention it in the doc and restrict the usage!
That's not only in this file, there's also some background code missing.

Thanks for dropping the note - I'll clarify this with the next release!

Christoph

ckloss's picture

ckloss | Fri, 01/08/2016 - 13:15

Hi Per,

thanks again for the note. This will be clarified in the doc in the next release and an error message will pop up

best wishes
Christoph

jpola | Thu, 08/18/2016 - 10:37

Hi,

what do you think about implementing the cohesion models to FixWallGran class in a similar way to pair_style? I know that everything is possible but is it reasonable?
i.e.?
fix xwalls1 all wall/gran model hertz tangential history primitive type 1 xplane -0.125 cohesion "model" "params"