understanding output of dump local/gran/vtk

Submitted by assem on Wed, 12/02/2020 - 16:34

Hi all,

1) Could you please explain the meaning of output of the following commands:
compute cpgl all pair/gran/local pos vel force (https://www.cfdem.com/media/DEM/docu/compute_pair_gran_local.html)
and dump dmp3 all local/gran/vtk 200 post/forcechainvtk*.vtk cpgl (https://www.cfdem.com/media/DEM/docu/dump_local_gran_vtk.html)?

I cannot understand why for points there are 9 values, when I expected to obtain 6 values - 3 for particle i (x,y,z) and 3 for particle j.
Then, as I understand there are IDs of two particles.
There are two velocities vel1 and vel2, is the first for one particle and the second for the other particle? If so, why each has 9 values either?
For force between particles there are 9 values, when I expected to obtain 3 values (x,y,z)

Obtained output file is attached forcechainpvtk150000.vtk.
The obtained output consists of the following parts:

# vtk DataFile Version 4.2
Generated by LIGGGHTS
ASCII
DATASET POLYDATA
POINTS 8998 float
0.115645 0.0662375 0.00795164 0.101461 0.0737691 0.00797654 0.115645 0.0662375 0.00795164
0.129598 0.0740193 0.00794865 0.115645 0.0662375 0.00795164 0.115854 0.0822012 0.00793685
0.115645 0.0662375 0.00795164 0.125242 0.0655216 0.0207079 0.115645 0.0662375 0.00795164
...
LINES 4499 13497
2 0 1
2 2 3
2 4 5
...
CELL_DATA 4499
FIELD FieldData 3
vel1 3 4499 double
2.9768111757e-05 -2.0955376874e-05 2.2264427628e-05 2.9768111757e-05 -2.0955376874e-05 2.2264427628e-05 2.9768111757e-05 -2.0955376874e-05 2.2264427628e-05
2.9768111757e-05 -2.0955376874e-05 2.2264427628e-05 2.9768111757e-05 -2.0955376874e-05 2.2264427628e-05 6.0139514823e-05 -3.3908961516e-05 -1.0676536237e-05
6.0139514823e-05 -3.3908961516e-05 -1.0676536237e-05 6.0139514823e-05 -3.3908961516e-05 -1.0676536237e-05 6.0139514823e-05 -3.3908961516e-05 -1.0676536237e-05
...
vel2 3 4499 double
7.4698364414e-05 -6.8728483868e-06 1.3693932629e-05 3.435907867e-05 -2.2683047057e-05 1.9602774394e-05 0.00010121043192 3.5270039628e-05 5.5690290923e-05
5.9381086353e-05 -6.1552828685e-05 -6.3332112969e-06 7.0366042541e-05 -3.4610421224e-05 4.0977793186e-06 7.3633065161e-05 7.928565769e-06 -6.1036653847e-05
3.435907867e-05 -2.2683047057e-05 1.9602774394e-05 -6.2734044065e-05 -0.00015287919968 -2.2327579498e-05 3.1518884243e-05 -0.00019720892012 -5.3673375001e-06
...
force 3 4499 double
-0.0026812152562 0.0014237539498 4.6588334428e-06 -0.12065555545 -0.040415015317 0.0059274544923 -0.040311577646 -0.2278391443 -0.021661321876
-0.068994111396 -0.0036456200396 -0.078193623027 0.17967761508 -0.1534807818 -0.39434115578 -0.013538971922 0.0025463497144 -0.0011907978354
0.23520405679 -0.27525021761 -0.014109341227 0.00098721045488 0.0019593229707 2.5072702657e-06 -0.3356987557 -0.091742056125 -0.60363189605
...

2) Are the following commands used for cohesion easo/capillary/viscous to calculate total force between particles as it is cohesion bond:
compute bonds all pair/gran/local/bond
dump dmp4 all local/gran/vtk 200 post/forcechainpvtk*.vtk bonds ?

it resulted to:
ERROR: Invalid compute style (../modify.cpp:1026)

AttachmentSize
Plain text icon forcechainvtk150000.vtk_.txt972.79 KB

mschramm | Fri, 12/04/2020 - 18:50

Hello,
What you are referring to is simply how vtk formats its data.
POINTS declares that points in 3d space are about to be read in and that there are 8998 points.
So every 3 values are a point. That is why you will see repeated points.
These points are then used to draw the lines. Notice that each line has a unique point and they are not reused.

Sherif | Sat, 07/24/2021 - 23:41

I'm dumping a servo wall using "mesh/gran/VTK". The wall thickness is nearly zero (1e-17). The following lines are the output at each step:

DATASET POLYDATA
POINTS 12 float
0 0.189128 0.00891781 0.189128 0 0.00891781 0.189128 0.189128 0.00891781
0.189128 0.189128 0.00891781 0 0 0.00891781 0 0.189128 0.00891781
0 0 0.00891781 0.189128 0.189128 0.00891781 0.189128 0 0.00891781
0.189128 0 0.00891781 0 0.189128 0.00891781 0 0 0.00891781

POLYGONS 4 16
3 0 1 2
3 3 4 5
3 6 7 8
3 9 10 11

CELL_DATA 4
FIELD FieldData 2
normal_stress_average 1 4 double
92988351.439 124312943.31 82031230.744 99587827.346
shear_stress_average 1 4 double
0 816263.73853 815967.89245 0

1) I know that POINTS are the x,y,z coordinates, but why do I have 12 coordinates for the wall?
2) Is the normal and shear stresses are the stresses acting on the wall? and why each one of them has 4 values?

Daniel Queteschiner | Mon, 07/26/2021 - 11:12

ad 1) your mesh is over-determined: it consists of 4 triangles, where the 1st and 4th as well as the 2nd and 3rd form a square; the difference between them is their winding order (counter-clockwise vs clockwise order of vertices); LIGGGHTS dumping all 3 vertices of each triangle individually might be redundant but doesn't hurt; the bottom line is: get rid of the extra faces in your original mesh

ad 2) normal and shear stress values for each of the 4 triangles

Sherif | Tue, 07/27/2021 - 00:08

Many thanks Daniel, I have some more questions regarding your answer:

1) I'm using Openscad software to create my mesh since it can be coded inside the script but the problem is that I can't draw a 2-D rectangle with it, so I get around this by drawing a cube with very small thickness to make a 2-D square mesh. I think this is the reason behind the 4 triangles that you mentioned. My question is how to get the average normal stress (for example) on the wall using these 4 values (can I take it the avg of the 4 values for simplicity?). Also is it recommended to make servo walls 2-D wall meshes as I did or should I make it 3-D cube with appropriate thickness?

2) Does the shear stress refers to the magnitude of shear in the 2 directions?