← Back to team overview

yade-users team mailing list archive

[Question #657322]: graphs plotting (?)

 

New question #657322 on Yade:
https://answers.launchpad.net/yade/+question/657322

Hi there!

I want to plot or get Vtk / Text result file from my model but I do not know how can I modify it.
Please guide me how can I do that.

Here is my script:
from yade import pack
from math import *
from yade import plot
from yade import qt

vitesse=0.1
cohN=1e5
cohT=1e5
E=70e9
nu=0.5
d=2658
phi=35
rayon_s=0.005
rayon_g=0.05
rayon_boite=rayon_g+0.0001
espace=0.0
gravity=0

O.materials.append(CohFrictMat(young=E,poisson=nu,density=d,frictionAngle=radians(phi),normalCohesion=cohN,shearCohesion=cohT,label='sol'))
O.materials.append(CohFrictMat(young=10e13,poisson=0,density=10000,frictionAngle=radians(10),normalCohesion=0,shearCohesion=0,label='walls'))

mn,mx=(-rayon_boite*2,-rayon_boite,-rayon_boite*2),(rayon_boite*2,rayon_boite,rayon_boite*2)
walls=utils.aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

sp=pack.regularHexa(yade._packPredicates.inSphere(center=(0,0,0),radius=rayon_g),gap=espace,radius=rayon_s,material='sol')
O.bodies.append(sp)

def plotAddData():
    f = O.forces.f(3)[1]
    d = 2*rayon_g
    load = f
    plot.addData(
        dspl = O.bodies[3].state.displ()[1],
        load = load,
    )

O.engines=[
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1),Bo1_Box_Aabb()]),
    InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1),Ig2_Box_Sphere_ScGeom6D()],
        [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),Ip2_FrictMat_FrictMat_FrictPhys()],
        [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
        ),
    GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=5,timestepSafetyCoefficient=0.8, defaultDt=utils.PWaveTimeStep()),
    TranslationEngine(
    translationAxis=(0,-1,0),
    ids=[3],
    label='tl',
    velocity=vitesse
    ),
    NewtonIntegrator(damping=0.3, gravity=[0, gravity, 0]),
    PyRunner(iterPeriod=10,command='plotAddData()'),
]

O.step()
for i in O.interactions:
 i.phys.unp = i.geom.penetrationDepth
print len([i for i in O.interactions])

O.dt=utils.PWaveTimeStep()
O.usesTimeStepper=True

yade.qt.Controller()
qt.View()

plot.plots = {'dspl': 'load'}
plot.plot()

plot.saveDataTxt('Force.txt.bz2')

O.saveTmp()



Best regards
Sam


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