tfix vtk file parsing - slidergrid - grid of elastic sliders on a frictional su… | |
git clone git://src.adamsgaard.dk/slidergrid | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 153343f86817343c65a421adafecbb2769977911 | |
parent aa7f30b3e772dca9dfc4bc189437b5c3acbeb6d3 | |
Author: Anders Damsgaard <[email protected]> | |
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(-) | |
--- | |
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) | |
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"); |