Question #261724 on Yade changed: https://answers.launchpad.net/yade/+question/261724
behzad posted a new comment: Sure! Here it is: The first one gives CohBurgers-CohBurgers interaction and the model prediction coincides the analytical response. However, the problem is the FrictMat-CohBurgersMat interaction. (the second python script) ========CohBurgers-CohBurgers interaction=============================== O.reset() from yade import utils, plot from yade import pack, qt id_Mat1=O.materials.append(CohBurgersMat(kmn=1.6e8,kkn=1.2e8,cmn=3e8,ckn=3e8, kms=1.2e8,kks=1.2e8,cms=3e8,cks=3e8,normalCohesion= 1e5, shearCohesion= 1e3, isCohesive= True, young=1e2, density=2600, poisson=0.3, frictionAngle= 0.4)) Mat=O.materials[id_Mat1] s1=utils.sphere([0.0,0.0,0.0],0.01,fixed=True,material=Mat) s2=utils.sphere([0.0,0.0,2.0e-2],0.01,fixed=False,material=Mat) O.bodies.append(s1) O.bodies.append(s2) O.engines=[ ForceResetter(), ForceEngine(force=(0,0,7.0e4),ids=[1],label='fEngine'), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_CohBurgersMat_CohBurgersMat_CohBurgersPhys(setCohesionNow=True)], [Law2_ScGeom_CohBurgersPhys_CohesiveBurgers(),Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(damping=0.7,gravity=[0,0,0]), PyRunner(command="fEngine.force=(0,0,0)", iterPeriod=10000000), PyRunner(command='AutoData()',iterPeriod=100000) ] def AutoData(): f_app=7.0e4 t_loading=10 cmn=3e8 kmn=1.6e8 kkn=1.2e8 ckn=3e8 j1= 1/kmn j2= 1/kkn j3= kkn/ckn j4= 1/cmn a1= cmn/kmn+cmn*(1.0/kmn+1/kmn) a2=cmn*cmn/(kmn*kmn) b1= cmn b2=cmn*cmn/kmn z1=(-a1+sqrt(a1*a1-4.0*a2))/(2.0*a2) z2=(-a1-sqrt(a1*a1-4.0*a2))/(2.0*a2) aa1=(b2*z1+b1)/a2/(z1-z2) aa2=(b2*z2+b1)/a2/(z2-z1) if O.time < t_loading: displacement=f_app*(j1+j2*(1-exp(-(O.time)*j3))+(O.time)*j4) else: displacement=f_app*((t_loading/cmn)+j2*(exp(-(O.time)*j3))*(exp((t_loading)*j3)-1)); plot.addData(t=O.time,d_numerical=0.02-(O.bodies[s2.id].state.pos[2]),d_analytical=-(displacement)) plot.plots={'t':(('d_numerical',('d_analytical','^:'),))} plot.plot() O.dt=1e-6 qt.View() =================================================================== ========FrictMat-CohBurgers Interaction================================ O.reset() from yade import utils, plot from yade import pack, qt id_Mat1=O.materials.append(CohBurgersMat(kmn=1.6e8,kkn=1.2e8,cmn=3e8,ckn=3e8, kms=1.2e8,kks=1.2e8,cms=3e8,cks=3e8,normalCohesion= 1e3, shearCohesion= 1e3, isCohesive= True, young=1e2, density=2600, poisson=0.3, frictionAngle= 0.4)) Mat1=O.materials[id_Mat1] id_Mat2=O.materials.append(FrictMat(young=1e8,poisson=0.3,density=2600,frictionAngle=1)) Mat2=O.materials[id_Mat2] s1=utils.sphere([0.0,0.0,0.0],0.01,fixed=True,material=Mat2) s2=utils.sphere([0.0,0.0,2.0e-2],0.01,fixed=False,material=Mat1) O.bodies.append(s1) O.bodies.append(s2) O.engines=[ ForceResetter(), ForceEngine(force=(0,0,-2e-4),ids=[1],label='fEngine'), InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()], [Ip2_FrictMat_CohBurgersMat_CohBurgersPhys()], [Law2_ScGeom_CohBurgersPhys_CohesiveBurgers(),Law2_ScGeom_FrictPhys_CundallStrack()] ), NewtonIntegrator(damping=0.7,gravity=[0,0,0]), PyRunner(command="fEngine.force=(0,0,0)", iterPeriod=5000000), PyRunner(command='AutoData()',iterPeriod=150000) ] def AutoData(): f_app=2e-4 t_loading=5 cmn=3e8 kmn=0.615384615e8 kkn=1.2e8 ckn=3e8 j1= 1/kmn j2= 1/kkn j3= kkn/ckn j4= 1/cmn a1= cmn/kmn+cmn*(1.0/kmn+1/kmn) a2=cmn*cmn/(kmn*kmn) b1= cmn b2=cmn*cmn/kmn z1=(-a1+sqrt(a1*a1-4.0*a2))/(2.0*a2) z2=(-a1-sqrt(a1*a1-4.0*a2))/(2.0*a2) aa1=(b2*z1+b1)/a2/(z1-z2) aa2=(b2*z2+b1)/a2/(z2-z1) if O.time < t_loading: displacement=f_app*(j1+j2*(1-exp(-(O.time)*j3))+(O.time)*j4) else: displacement=f_app*((t_loading/cmn)+j2*(exp(-(O.time)*j3))*(exp((t_loading)*j3)-1)); plot.addData(t=O.time,d_numerical=0.02-(O.bodies[s2.id].state.pos[2]),d_analytical=displacement) plot.plots={'t':(('d_numerical',('d_analytical','^:'),))} plot.plot() O.dt=1e-6 qt.View() ================================================================= -- You received this question notification because you are a member of yade-users, which 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