tfix vtk file parsing - slidergrid - grid of elastic sliders on a frictional surface
(HTM) git clone git://src.adamsgaard.dk/slidergrid
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 153343f86817343c65a421adafecbb2769977911
(DIR) parent aa7f30b3e772dca9dfc4bc189437b5c3acbeb6d3
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Thu, 17 Mar 2016 16:16:53 -0700
fix vtk file parsing
Diffstat:
M Makefile | 2 +-
M slidergrid/simulation.c | 55 ++++++++++++++++---------------
2 files changed, 30 insertions(+), 27 deletions(-)
---
(DIR) diff --git a/Makefile b/Makefile
t@@ -14,7 +14,7 @@ default: run-test
run-test: test
./$<
- python postprocessing.py --plot-sliders $<-output
+ #python postprocessing.py --plot-sliders $<-output
test: test.o $(ESSENTIALOBJS)
(DIR) diff --git a/slidergrid/simulation.c b/slidergrid/simulation.c
t@@ -164,17 +164,30 @@ int save_sliders_to_vtk_file(
"byte_order=\"LittleEndian\">\n");
fprintf(f, " <UnstructuredGrid>\n");
fprintf(f, " <Piece NumberOfPoints=\"%d\" NumberOfCells=\"0\">\n", N);
- fprintf(f, " <PointData Scalars=\"Mass [kg]\" "
- "Vectors=\"Position [m]\">\n");
+
+ fprintf(f, " <Points>\n");
// positions
- fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
- "Name=\"Position [m]\" format=\"ascii\">\n");
+ fprintf(f, " <DataArray Name=\"Position [m]\" type=\"Float32\" "
+ "NumberOfComponents=\"3\" format=\"ascii\">\n");
fprintf(f, " ");
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].pos.x, sliders[i].pos.y, sliders[i].pos.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
+
+ fprintf(f, " </Points>\n");
+
+ fprintf(f, " <PointData Scalars=\"Mass [kg]\" "
+ "Vectors=\"vector\">\n");
+
+ // mass
+ fprintf(f, " <DataArray type=\"Float32\" "
+ "Name=\"Mass [kg]\" format=\"ascii\">\n");
+ fprintf(f, " ");
+ for (i=0; i<N; i++)
+ fprintf(f, "%f ", sliders[i].mass);
+ fprintf(f, "\n </DataArray>\n");
// velocities
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -183,7 +196,7 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].vel.x, sliders[i].vel.y, sliders[i].vel.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// accelerations
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -192,16 +205,16 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].acc.x, sliders[i].acc.y, sliders[i].acc.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// force
- fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
+ fprintf(f, "\n <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
"Name=\"Force [N]\" format=\"ascii\">\n");
fprintf(f, " ");
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].force.x, sliders[i].force.y, sliders[i].force.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// angular positions
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -210,7 +223,7 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].angpos.x, sliders[i].angpos.y, sliders[i].angpos.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// angular velocities
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -219,7 +232,7 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].angvel.x, sliders[i].angvel.y, sliders[i].angvel.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// angular accelerations
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -228,7 +241,7 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].angacc.x, sliders[i].angacc.y, sliders[i].angacc.z);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// torque
fprintf(f, " <DataArray NumberOfComponents=\"3\" type=\"Float32\" "
t@@ -237,15 +250,7 @@ int save_sliders_to_vtk_file(
for (i=0; i<N; i++)
fprintf(f, "%f %f %f ",
sliders[i].torque.x, sliders[i].torque.y, sliders[i].torque.z);
- fprintf(f, " </DataArray>\n");
-
- // mass
- fprintf(f, " <DataArray type=\"Float32\" "
- "Name=\"Mass [kg]\" format=\"ascii\">\n");
- fprintf(f, " ");
- for (i=0; i<N; i++)
- fprintf(f, "%f ", sliders[i].mass);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// moment of inertia
fprintf(f, " <DataArray type=\"Float32\" "
t@@ -253,12 +258,12 @@ int save_sliders_to_vtk_file(
fprintf(f, " ");
for (i=0; i<N; i++)
fprintf(f, "%f ", sliders[i].moment_of_inertia);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
// bond-parallel stiffness
fprintf(f, " <DataArray type=\"Float32\" "
"Name=\"Bond-parallel stiffness [N/m]\" format=\"ascii\">\n");
- fprintf(f, " ");
+ fprintf(f, "\n ");
for (i=0; i<N; i++)
fprintf(f, "%f ", sliders[i].bond_parallel_stiffness);
fprintf(f, " </DataArray>\n");
t@@ -269,13 +274,11 @@ int save_sliders_to_vtk_file(
fprintf(f, " ");
for (i=0; i<N; i++)
fprintf(f, "%f ", sliders[i].bond_parallel_viscosity);
- fprintf(f, " </DataArray>\n");
+ fprintf(f, "\n </DataArray>\n");
fprintf(f, " </PointData>\n");
fprintf(f, " <CellData>\n");
fprintf(f, " </CellData>\n");
- fprintf(f, " <Points>\n");
- fprintf(f, " </Points>\n");
fprintf(f, " <Cells>\n");
fprintf(f, " <DataArray type=\"Int32\" Name=\"connectivity\" "
"format=\"ascii\">\n");