undrained triax test of fully saturated material (using TriaxialStressController and FlowEngine)

Asked by Christian Jakob

Hi,

For my simulations it is no problem to do a drained triax test with this PFV options:

flow.bndCondIsPressure=[0,0,1,0,0,0]
flow.bndCondValue=[0,0,0,0,0,0]

I also want to do an undrained test, like this:

flow.bndCondIsPressure=[0,0,0,0,0,0]
flow.bndCondValue=[0,0,0,0,0,0]

Then I get this warning:

CHOLMOD warning: matrix not positive definite
something went wrong in Cholesky factorization, use LDLt as fallback this time

To solve this, I have to use at least one fixed pressure boundary condition or impose pressure at one (or more) cells, e.g.:

flow.imposePressure(Vector3(triax.width/2,triax.height/2,triax.depth/2),0.001)

So the pressure of this cell will be constant during the calculation and in the end it is still a drained test, right?
If I do flow.clearImposedPressure() after some steps were done, the same warning (see above) appears again.

Is there a trick to simulate an undrained test with FlowEngine?

Christian

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Bruno Chareyre
Solved:
Last query:
Last reply:
Revision history for this message
Jérôme Duriez (jduriez) said :
#1

Hello Christian,

Curiosity question : why do you want to use FlowEgine in a simulation where there is no flow ? Disregarding the (modelization of) presence of water, and using a constant volume control (that is often said to correspond to undrained conditions in soil mechanics) would not be adequate for you ?

Jérôme

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#2

Hi Jerome,

Ok, I see the problem is that FlowEngine supports just incompressible flow.

Hm, then the question is how to make FlowEngine compressible?

Christian

Revision history for this message
Jérôme Duriez (jduriez) said :
#3

I think Tran2011b (in https://www.yade-dem.org/doc/publications.html#master-and-phd-theses) used a compressible scheme. But I can not tell you more about it (and you will need to read french before other answers).

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#4

Thanks for the literature link, Jerome.

Nice to hear that compressible flow is implemented in the code of Van Tieng Tran. But it seems this feature was never pushed to yade main trunk ...

Revision history for this message
Best Bruno Chareyre (bruno-chareyre) said :
#5

1/ Undrained/incompressible is ill posed, therefore not possible without tricks (I'm myself thinking about it).
2/ imposed pressure condition is a drainage condition, it is not what you want.
3/ the compressible scheme is used if you set flow.bulkModulus to something (isn't it visible in the documentation?)

Jerome: undrained does not mean no flow.

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#6

Thanks Bruno Chareyre, that solved my question.

Revision history for this message
Christian Jakob (jakob-ifgt) said :
#7

Bruno,

1/ tricks?
2/ right, I thought it could be used as a trick
3/ flow.fluidBulkModulus is hopefully doing what I want and it is now visible for me ^^
Are there other parameters to take care of in compressible scheme?

Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#8

Sorry for late reply... for the record:
1/ custom ones, I have no general answer
2/ I think maintaining constant volume by manipulating the imposed pressure does not play very well with incompressibility
3/ switching to compressible scheme does not imply to change other parameters, no. It is more the other way around: the stability of the incompressible scheme requires the smallest timestep, for instance. So switching to compressible should be 100% safe in general.