← Back to team overview

yade-users team mailing list archive

Re: [Question #707866]: Export velocity and force

 

Question #707866 on Yade changed:
https://answers.launchpad.net/yade/+question/707866

Description changed to:
Hi! 
I want to export the force and the velocity in 02-gravity-deposition.py[1] to ParaView through vtkExporter. In vtkExporter, the parameter of ‘what (dictionary)’ can export scalar, vector, and tensor variables. I read some of the earlier responses[2-4] and Yade Documentation. I have written a vtkExport function according to [5], but I still have several problems:
1. The variables of what(dictionary) content coordnumber, forceLen, forceVec, stressLen, stressVec, torqueLen, torqueVec[3]. I want to know the meaning of coordnumber, ‘Vec’, and ‘Len’. In addition, I would like to know which variables can be referenced in what (dictionary) and how to describe them correctly.
2. The different supported export types like exportContactPoints, exportSpheres, and exportInteractions.etc. I want to export the force of spheres and facets, and these force parameters need to be entered into those export types.

Here is the MWE:

from yade import pack, plot, export
O.bodies.append(geom.facetBox((.5, .5, .5),(.5, .5, .5),wallMask=31))
sp = pack.SpherePack()
sp.makeCloud((0, 0, 0),(1, 1, 1),rMean= .02,rRelFuzz= .5)
sp.toSimulation()
O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb(), Bo1_Facet_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()]
        ),
        NewtonIntegrator(gravity=(0, 0, -9.81),damping=0.4),
        PyRunner(command='vtkExport()',  iterPeriod=100),
        PyRunner(command='checkUnbalanced()', realPeriod=2),
        PyRunner(command='addPlotData()', iterPeriod=100)
]
O.dt= .5* PWaveTimeStep()
O.trackEnergy = True
vtkExporter= export.VTKExporter('deposited')

def vtkExport():                                    
    vtkExporter.exportSpheres(ids='all',what=dict(particleVelocity='b.state.vel'))
    vtkExporter.exportFacets(ids='all',what={'pos': 'b.state.pos'})
    vtkExporter.exportInteractions(ids='all',what=dict(kn='i.phys.kn'))
    vtkExporter.exportContactPoints(ids='all',what={'nn': 'i.geom.normal'})

def checkUnbalanced():
        if unbalancedForce() < .05:
              O.pause()
def addPlotData():
       plot.addData(i=O.iter, unbalanced=unbalancedForce(), **O.energy)
plot.plots={'i': ('unbalanced', None, O.energy.keys)}
plot. Plot()
O.saveTmp()

Cheers,
Weihao Mu

[1] https://gitlab.com/yade-dev/trunk/blob/master/doc/sphinx/tutorial/02-gravity-deposition.py
[2] https://answers.launchpad.net/yade/+question/689234
[3] https://answers.launchpad.net/yade/+question/695966
[4] https://answers.launchpad.net/yade/+question/689542
[5] https://gitlab.com/yade-dev/trunk/-/blob/master/examples/test/vtk-exporter/vtkExporter.py

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