← Back to team overview

yade-users team mailing list archive

Re: [Question #449025]: Capillary model

 

Question #449025 on Yade changed:
https://answers.launchpad.net/yade/+question/449025

    Status: Open => Answered

Jérôme Duriez proposed the following answer:
Hi,

This indeed requires modifying the source code, so that this engine
measures (for control purposes) the right stress state of the periodic
sample.

In the current state, the PeriTriaxController engine only captures the
contact force stress contribution, because of these two lines [1] and
[2].

For the capillary force stress contribution to be captured as well, and the simulation to work as expected, you basically need to:
- replace the interaction physics "NormShearPhys" type in [1] with "CapillaryPhys"
- and add the capillary force in the interaction force in [2], with such line:
Vector3r f= (-1.)*( nsi->normalForce+nsi->shearForce )  - nsi->fCap;

I think everything should work afterwards, except you would then be
unable to use PeriTriaxController engine for classical "dry" simulations
(that do not include CapillaryPhys); these would crash.

Jerome


[1] https://github.com/yade/trunk/blob/e4e757f2e98a620e3177b7a36a1d10f69f6a6a28/pkg/dem/PeriIsoCompressor.cpp#L109
[2] https://github.com/yade/trunk/blob/e4e757f2e98a620e3177b7a36a1d10f69f6a6a28/pkg/dem/PeriIsoCompressor.cpp#L112

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.