New question #293368 on Yade: https://answers.launchpad.net/yade/+question/293368
Hello everyone, I want to use the boundary controller “peri3dController” to test the property of the concrete material, but I found that the Young modulus of x direction will change when the rate of x direction's strain and y direction's strain changed(x is perpendicular to y), but in the finite element method and in the elastic stage it will not change. I use the first code to calculate the Young modulus of x direction when there had strain in x direction and is no strain in y direction and save the model. Then in the second code I load the model and calculate the Young modulus of x direction when there had both strain in x and y direction. Can you give me some suggestions? Thanks a lot. This is my code. ###################################################### first code #!/usr/bin/python # This is server.py file from __future__ import division import string from yade import plot,qt from yade.pack import * from yade import pack, plot O.materials.append(CpmMat(density=4800,young=10.4e10,frictionAngle=.7,poisson=.15,sigmaT=3e60,epsCrackOnset=1e60,relDuctility=30,neverDamage=True)) initSize=1.2 sp=pack.randomPeriPack(radius=.05,initSize=Vector3(initSize,initSize,initSize)) sp.toSimulation() O.dt=PWaveTimeStep()/2 EnlargeFactor=1.5 EnlargeFactor=1.0 O.engines=[ ForceResetter(), InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=EnlargeFactor,label='bo1s')]), InteractionLoop( [Ig2_Sphere_Sphere_ScGeom(interactionDetectionFactor=EnlargeFactor,label='ig2ss')], [Ip2_CpmMat_CpmMat_CpmPhys()],[Law2_ScGeom_CpmPhys_Cpm()]), NewtonIntegrator(), Peri3dController( stressMask=0b011100, # prescribed ex,ey,sz,syz,ezx,sxy; e..strain; s..stress nSteps=4000, # how many time steps the simulation will last # after reaching nSteps do doneHook action doneHook='print "Simulation with Peri3dController finished."; O.pause()', # the prescribed path (step,value of stress/strain) can be defined in absolute values # or in relative values # if the goal value is 0, the absolute stress/strain values are always considered (step values remain relative) # if ##Path is not explicitly defined, it is considered as linear function between (0,0) and (nSteps,goal) # as in yzPath and xyPath # the relative values are really relative (zxPath gives the same - except of the sign from goal value - result as yyPath) # variables used in the first step label='p3d' ), ] O.save('/tmp/first.gz') p3d.goal=(0.00001,0,0,0,0,0) #xx, yy, zz, yz, zx, xy O.step() bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1. O.run(); O.wait() print "the first Young modulus" print p3d.stress[0]/p3d.strain[0] ########################################## second code #!/usr/bin/python # This is server.py file from __future__ import division import string from yade import plot,qt from yade.pack import * from yade import pack, plot loadFile='/tmp/first.gz' O.load(loadFile) p3d.goal=(0.00001,0.00001,0,0,0,0) #xx, yy, zz, yz, zx, xy O.step() bo1s.aabbEnlargeFactor=ig2ss.interactionDetectionFactor=1. O.run(); O.wait() print "the second Young modulus" print p3d.stress[0]/p3d.strain[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 : yade-users@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp