Ah, this is a clarification... I knew this was succion value dependant, but did 
not catch that the zero volume is inconsistent... Then, would it possible to 
know a validity range of the capillary data files ?


A second thing is that I was thinking to commit, with the reverted fCap, the 
use of alpha * -currentContactGeometry->penetrationDepth for D value (instead 
of computation of l. 112, (*) ).
It would be equivalent to current computation, and maybe useful for periodic 
simulations. I'm currently using it (mainly for non-periodic cases, yet)

Thanks for remarks,

Jerome


(*) 
https://github.com/yade/trunk/blob/master/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L112
________________________________
From: Yade-dev [[email protected]] 
on behalf of Bruno Chareyre [[email protected]]
Sent: October 29, 2014 12:48 PM
To: [email protected]
Subject: Re: [Yade-dev] Some cleaning in capillary law

On 29/10/14 17:59, Jerome Duriez wrote:
Inserting the following lines
            else
              if (!hertzOn) {
                if (!cundallContactPhysics->meniscus) 
scene->interactions->requestErase(interaction);
              } else {
                if (!mindlinContactPhysics->meniscus) 
scene->interactions->requestErase(interaction);
              }
between current lines 128-129 would solve this problem.

Agree ?
Nope. The problem if you do that is that you break the fusionDetection logic.
There is already a requestErase in the right place [1]. The question is why it 
is not reached in your case.
The reason is the data files are incomplete, there is no solution found for the 
parameters you use in your script (try with capillaryPressure=30.e3, you will 
see the difference).
This result is absolutely wrong: there is always a finite volume when the 
particles are in contact, mathematicaly speaking. The real problem is the 
missing data.
I've put an explicit error message when it occures [3] : the simulation is 
wrong, no point continuing.
I think it fixes the bug.

Meanwhile, I fixed another small thing that would give wrong meniscii during 
the first iteration. In [2] "D" should not be zero if positive.

Bruno

[1] 
https://github.com/yade/trunk/blob/fbd593a9888c11d0ca3dd1d09161f81362433407/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L162
[2] 
https://github.com/yade/trunk/blob/fbd593a9888c11d0ca3dd1d09161f81362433407/pkg/dem/Law2_ScGeom_CapillaryPhys_Capillarity.cpp#L120
[3] 
https://github.com/yade/trunk/commit/85616e85f3dac5b3bb949ba6d7deff0095909f2e


_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to