Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-07-03 Thread Launchpad Janitor
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Status: Open => Expired

Launchpad Janitor expired the question:
This question was expired because it remained in the 'Open' state
without activity for the last 15 days.

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-20 Thread Zhicheng Gao
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Zhicheng Gao posted a new comment:
Hi,
I have searched for the answers about the PeriodicFlowEngine. I concluded that 
since there is no boundary condition for periodic boundary conditions, the 
PeriodicFlowEngine does not need to set boundary conditions,that is,  it does 
not need to set the bndCondIsPressure, bndCondValue, boundaryUseMaxMin.   As I 
want to achieve a similar simulation like the paper  " A discrete numerical 
model involving partial fluid-solid coupling to describe suffusion effects in 
soils "[1], In short, it is to achieve the fluid flow from top to bottom under 
a certain pressure gradient, and no fluid flows out from the side. So I just 
need to apply a macroscopic pressure gradient by flow.gradP=Vector3(0, i,0), 
where i is the macroscopic pressure gradient. Is that right?
Thank you for any help!
[1]https://www.sciencedirect.com/science/article/pii/S0266352X17303087

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-17 Thread Zhicheng Gao
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Zhicheng Gao gave more information on the question:
The paper[1] link is
https://www.sciencedirect.com/science/article/pii/S0266352X17303087

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-17 Thread Zhicheng Gao
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Status: Answered => Open

Zhicheng Gao is still having a problem:
Hello, Bruno. Thank you very much for your reply.  I'm doing research similar 
to the paper " A discrete numerical model involving partial fluid-solid 
coupling to describe suffusion effects in soils "[1].  In this paper, the 
periodic boundary condition is chosen and it says "In order to avoid any 
boundary effect we use periodic boundary conditions as if the same grain 
arrangement and the same flow field were replicated periodically in space", so 
I constructed scene in periodic boundary conditions and used the 
PeriodicFlowEngine to simulate flow. Is that right?
I want to make the fluid flow from top to bottom under a certain pressure 
gradient, and no fluid flows out from the side. So I set 
flow.bndCondIsPressure=[0,0,1,1,0,0], flow.bndCondValue=[0,0,1,0,0,0]. If my 
approach is wrong, then how should I set up to achieve what I want?
And how to switch solver to LDlt?

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-16 Thread Bruno Chareyre
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Status: Open => Answered

Bruno Chareyre proposed the following answer:
Hi,
It can happen that LDL fails for numerical reason, then the solver switches to 
LDLt, which is more stable.
I _could_ be a safe warning.

That said, I'm struggling to understand why you would use periodic FlowEngine 
with (it seems) a non-periodic problem.
Also this makes no sense in periodic conditions since there are no boundaries:
flow.bndCondIsPressure=[0,0,1,1,0,0]

I hope it helps.

Bruno

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


Re: [Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-15 Thread Zhicheng Gao
Question #697526 on Yade changed:
https://answers.launchpad.net/yade/+question/697526

Zhicheng Gao posted a new comment:
Can anyone provide some help, thank you very much!

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp


[Yade-users] [Question #697526]: CHOLMOD warning: matrix not positive definite

2021-06-14 Thread Zhicheng Gao
New question #697526 on Yade:
https://answers.launchpad.net/yade/+question/697526

Hello,
I reinstalled Yade from the source code,the version is 
yade-2021-06-08.git-4852d56, and the version of Ubuntu is 18.04. I tried to 
delete the particles. There is no problem with the FlowEngine, but the 
PeriodicFlowEngine will give the following warning.
CHOLMOD warning: matrix not positive definite. file: 
../Supernodal/t_cholmod_super_numeric.c line: 911
something went wrong in Cholesky factorization, use LDLt as fallback this time1
Does it matter to the simulation? Here is my code:
##__ First section, generate sample_

from __future__ import print_function
from yade import pack, qt, plot
from math import *

nRead=readParamsFromTable(
## model parameters
num_spheres=1000,
targetPorosity= .4,
confiningPressure=-10,
## material parameters
compFricDegree=15,#contact friction during the confining phase
finalFricDegree=30,#contact friction during the deviatoric loading
young=2e8,
poisson=.2,
density=2600,
alphaKr=7.5,
alphaKtw=0,
competaRoll=.22,
finaletaRoll=.22,
etaTwist=0,
normalCohesion=0,
shearCohesion=0,
## fluid parameters
fluidDensity=1000,
dynamicViscosity=.001,
## control parameters
damp=0,
stabilityThreshold=.001,
## output specifications
filename='suffusion',
unknowOk=True
)

from yade.params.table import *

O.periodic=True
O.cell.hSize=Matrix3(1,0,0, 0,1,0, 0,0,1)
# create materials for spheres
#shear strength is the sum of friction and adhesion, so the 
momentRotationLaw=True
O.materials.append(CohFrictMat(alphaKr=alphaKr,alphaKtw=alphaKtw,density=density,etaRoll=competaRoll,etaTwist=etaTwist,frictionAngle=radians(compFricDegree),momentRotationLaw=True,normalCohesion=normalCohesion,poisson=poisson,shearCohesion=shearCohesion,young=young,label='spheres'))

# generate particles packing
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(1,1,1),-1,0.,num_spheres,False, 0.95,seed=1)
sp.toSimulation(material='spheres')

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D()],

[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(label='contact',setCohesionNow=False,setCohesionOnNewContacts=False)],

[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)],
 ),
PeriodicFlowEngine(dead=1,label="flow"),#introduced as a dead engine 
for the moment, see 2nd section

GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
PeriTriaxController(label='triax',
# specify target values and whether they are strains or stresses
goal=(confiningPressure,confiningPressure,confiningPressure), 
stressMask=7,
# type of servo-control, the strain rate isn't determined, it 
shloud check the unbalanced force
dynCell=True,maxStrainRate=(10,10,10),
# wait until the unbalanced force goes below this value
maxUnbalanced=stabilityThreshold,relStressTol=1e-3,
doneHook='compactionFinished()'
),
NewtonIntegrator(damping=0)
]

import sys
def compactionFinished():
 # after sample preparation, save the state
O.save('compactedState'+filename+'.yade.gz')
print('Compacted state saved', 'porosity', porosity())
# next time, called python command
triax.doneHook=''
O.pause()
O.run()
O.wait()

#B. Activate flow engine and set boundary conditions in order to get 
permeability
flow.dead=0
flow.defTolerance=-1
flow.meshUpdateInterval=-1
flow.useSolver=3
flow.permeabilityFactor=1
flow.viscosity=10
flow.bndCondIsPressure=[0,0,1,1,0,0]
flow.bndCondValue=[0,0,1,0,0,0]
flow.boundaryUseMaxMin=[0,0,0,0,0,0]

O.run(1,1)
csdList=flow.getConstrictionsFull()
print(len(O.bodies),len(csdList),'finished')
flow.dead=1
print(O.bodies[10].shape.radius)

for i in range(10,50):
O.bodies.erase(i)
print(len(O.bodies))
O.run(1000,True)

flow.dead=0
flow.updateTriangulation=True

O.run(1,1)
csdList1=flow.getConstrictionsFull()
print(len(csdList1))

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

___
Mailing list: https://launchpad.net/~yade-users
Post to : yade-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp