yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #20989
[Question #685082]: errors in plot, print, save file, micro data, time step, 3D show
New question #685082 on Yade:
https://answers.launchpad.net/yade/+question/685082
Hello all and thank you for your help in advanced.
I am using Yade-2019-08-08.git-775ae74 on Ubuntu18.04
I have coded a Trixial test as bellow and have some questions. would you please guide me to solve my problems?
1- When I run my code, no plot will show up however I coded plotting commands
2- The strange problem is when I try to modify my code a little, I get nothing (or a filled 1-color page) as the 3D show of the specimen.
3- The timp steps are so low and run will take a long time (more than 1 hour)
4- I cannot save the dada as a text file that I coded its command at the end of my code
5- I do not know how can I get micro information such as contact forces through my code
6- I do not see on the screen the printed test text I used in my code.
7- please let me know if I have any other problem with my code
Also, I get these warnings when I run my code:
This is my code:
In [1]: <WARNING> InsertionSortCollider:261 virtual void InsertionSortCollider::action(): verletDist is set to 0 because no spheres were found. It will result in suboptimal performances, consider setting a positive verletDist in your script.
<WARNING> Shop:445 static Real Shop::PWaveTimeStep(boost::shared_ptr<Scene>): PWaveTimeStep has not found any suitable spherical body to calculate dt. dt is set to 1.0
from yade import pack, plot
sp=pack.Spherepack()
mn, mx=Vector3(0,0,0), Vector3(10,10,10)
sp.makeCloud(minCorner=mn,maxCorner=mx,rRelFuzz=0.2,num=2000,porosity=0.5)
sp.toSimulation()
O.materials.append(FrictMat(young=15e6,poisson=0.4,frictionAngle=radians(30),density=2600,label='spheres'))
O.materials.append(FrictMat(young=15e6,poisson=0.4,frictionAngle=0,density=0,label='frictionless'))
walls=aabbWalls(thickness=1e-10,material='frictionless')
wallIds=O.bodies.append(walls)
O.bodies.append([sphere(center,rad,material='spheres') for center, rad in sp])
triax=TriaxialCompressionEngine(
wall_bottom_id=wallIds[2],
wall_top_id=wallIds[3],
wall_left_id=wallIds[0],
wall_right_id=wallIds[1],
wall_back_id=wallIds[4],
wall_front_id=wallIds[5],
internalCompaction=False,
sigmaIsoCompaction=-50e3,
sigmaLateralConfinement=-50e3,
max_vel=10,
strainRate=0.01,
label="triax",
)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=100,timestepSafetyCoefficient=0.8),
triax,
NewtonIntegrato(gravity=(0,0,-9.81),damping=0.5)
PyRunner(command='checkUnbalanced()',realPeriod=2),
PyRunner(command='addPlotData()',iterPeriod=100),
PyRunner(command='history()',iterPeriod=20)
]
O.dt=.5*PWaveTimeStep()
def history():
plot.addData(i=O.iter,
e11=-triax.strain[0],e22=-triax.strain[1],e33=-triax.strain[2],
s11=-triax.stress(0)[0],s22=-triax.stress(2)[1],s33=-triax.stress(4)[2])
def addPlotData():
plot.addData(unbalanced=unbalancedForce(),i=O.iter,**O.energy
s11=-triax.stress[0],s22=-triax.stress[1],s33=-triax.stress[2],
e11=-triax.strain[0],e22=-triax.strain[1],e33=-triax.strain[2],
Etot=O.energy.total())
O.trackEnergy=True
def checkUnbalanced():
if unbalancedForce()<.05:
O.pause()
plot.saveDataTxt('bbb.txt.bz2')
print "****** TEST TEXT ******"
plot.plots={'i':('unbalanced'),'i ':('s11','s22','s33'),' i':('e11','e22','e33'),' i ':(O.energy.keys,None,'Etot'),}
Gl1_Sphere.stripes=True
O.run()
plot.plot()
O.saveTmp()
plot.saveDataTxt('results')
Thank you for your help.
--
You received this question notification because your team yade-users is
an answer contact for Yade.