New question #679320 on Yade: https://answers.launchpad.net/yade/+question/679320
Hello, I would like to model the vertical squashing (compression) of a porous material filled with a fluid. The material is inserted in an initially cubic box with six impermeable faces. During the squashing the material is supposed to expand freely along the side faces of the box. I want to measure the force felt by top plate (face). For this model, I was inspired by the oedemeter.py code developed in yade (examples) which uses the TriaxialStressController. 1- My first question concerns the parametrization of the flow engine (* at the end of message): I want to model as initial conditions 6 impermeable boundaries as: flow.bndCondIsPressure=[False,False,False,False,False,False] #flow.bndCondValue=[0,0,0,0,0,0] but I have immediatly some error messages concerning all the bodies of the code: "55 : Vh==NULL!! id=55 Point=-261779 255626 -257189 rad=0.0669795 227 : Vh==NULL!! id=227 Point=281321 290581 293209 rad=0.0610796 285 : Vh==NULL!! id=285 Point=302977 -297801 305075 rad=0.0590901 304 : Vh==NULL!! id=304 Point=-457272 -456443 291186 rad=0.0584384 354 : Vh==NULL!! id=354 Point=-295804 297047 300808 rad=0.0567233 496 : Vh==NULL!! id=496 Point=303403 284717 -313298 rad=0.0518524 520 : Vh==NULL!! id=520 Point=310560 -309795 -315643 rad=0.0510292 572 : Vh==NULL!! id=572 Point=-336225 -819563 -802613 rad=0.0492455 CHOLMOD warning: matrix not positive definite something went wrong in Cholesky factorization, use LDLt as fallback this time 6 : Vh==NULL!! id=6 Point=-2.05296e+15 -1.03117e+16 6.74598e+16 rad=0.0686603 7 : Vh==NULL!! id=7 Point=-6.70813e+13 7.31321e+16 5.4678e+16 rad=0.068626 etc..." when I write instead: flow.bndCondIsPressure=[False,False,False,True,False,False] #flow.bndCondValue=[0,0,0,0,0,0] I have no error message apparently but this is not what I want! 2- My second question concerns the control of the dynamics of the squashing I want and the motion for the 6 plates: a motion driven by an applied strain rate (0.1) on vertical direction and free motion with no applied pressure for the 4 side faces: " triax.stressMask=5 triax.internalCompaction=False triax.goal2=-0.1 triax.goal1= 0 triax.goal3= 0 triax.wall_left_activated= True triax.wall_right_activated= True triax.wall_front_activated= True triax.wall_back_activated= True triax.wall_top_activated= True " when I ask for printing the force and position of the top plate "global plate: plate = O.bodies[triax.wall_top_id] Ftot0 = abs(O.forces.f(plate.id)[0]) Ftot1 = abs(O.forces.f(plate.id)[1]) Ftot2 = abs(O.forces.f(plate.id)[2]) xtot = plate.state.pos[0] ytot = plate.state.pos[1] ztot = plate.state.pos[2]" I get a constant force Ftot1 an no motion at all of the upper plate (xtot, ytot, ztot)=Cst !! I don't understand. Thank you very much for your enlightments, Fr. (*) #B. Activate flow engine and set boundary conditions in order to get permeability flow.dead=0 flow.defTolerance=0.3 flow.meshUpdateInterval=200 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.dt=0.1e-3 O.dynDt=False O.run(1,1) ... #D. now the compression test, impermeable at the top, impermeable at the bottom plate and on the sides flow.bndCondIsPressure=[False,False,False,False,False,False] #flow.bndCondValue=[0,0,0,0,0,0] flow.updateTriangulation=True #force remeshing to reflect new BC immediately newton.damping=0 -- 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 : [email protected] Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp

