Introduction
Introduction Statistics Contact Development Disclaimer Help
tforce chain output working - sphere - GPU-based 3D discrete element method alg…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 21d1bf93a237295c7fa054f9cf3bf3e073150796
parent bac135cd197b4e44448c4e1c0c7af6f2550f5718
Author: Anders Damsgaard <[email protected]>
Date: Mon, 14 Jan 2013 16:09:21 +0100
force chain output working
Diffstat:
M src/sphere.cpp | 63 ++++++++++++++++++++++++++---…
1 file changed, 54 insertions(+), 9 deletions(-)
---
diff --git a/src/sphere.cpp b/src/sphere.cpp
t@@ -354,7 +354,7 @@ void DEM::porosity(const int z_slices)
Float porosity[z_slices];
// Loop over vertical slices
-//#pragma omp parallel for if(np > 100)
+#pragma omp parallel for if(np > 100)
for (int iz = 0; iz<z_slices; ++iz) {
// The void volume equals the slice volume, with the
t@@ -484,7 +484,10 @@ void DEM::findOverlaps(
if (delta_n < 0.0) {
// Store particle indexes and delta_n
- ij.push_back(std::vector<unsigned int> (i, j));
+ std::vector<unsigned int> ij_pair(2);
+ ij_pair[0] = i;
+ ij_pair[1] = j;
+ ij.push_back(ij_pair);
delta_n_ij.push_back(delta_n);
}
t@@ -505,17 +508,23 @@ void DEM::forcechains()
findOverlaps(ij, delta_n_ij);
// Write Asymptote header
- cout << "import three;\nsize(600);" << endl;
+ //cout << "import three;\nsize(600);" << endl;
+
+ // Write Gnuplot header
+ //cout << "#!/usr/bin/env gnuplot" << endl;
+
+ // Write Matlab header
+ //cout << "plot(";
// Loop over found contacts, report to stdout
unsigned int n, i, j;
- std::vector<unsigned int> ij_pair(2);
Float delta_n;
for (n=0; n<ij.size(); ++n) {
- ij_pair = ij[n];
- i = ij_pair[0];
- j = ij_pair[1];
+ // Get contact particle indexes
+ i = ij[n][0];
+ j = ij[n][1];
+ //cout << "(i,j) = " << i << ", " << j << endl;
delta_n = delta_n_ij[n];
t@@ -525,15 +534,51 @@ void DEM::forcechains()
<< j << "), delta_n = " << delta_n
<< endl;*/
- cout << "path3 g=("
+ // Asymptote output
+ /*cout << "path3 g=("
<< k.x[i].x << ','
<< k.x[i].y << ','
<< k.x[i].z << ")..("
<< k.x[j].x << ','
<< k.x[j].y << ','
- << k.x[j].z << ");\ndraw(g);" << endl;
+ << k.x[j].z << ");\ndraw(g);" << endl;*/
+
+ // Gnuplot output
+ /*cout << "set arrow " << n+1 << " from "
+ << k.x[i].x << ','
+ << k.x[i].y << ','
+ << k.x[i].z << " to "
+ << k.x[j].x << ','
+ << k.x[j].y << ','
+ << k.x[j].z << " nohead "
+ << endl;*/
+
+ // Matlab output
+ /*cout << "plot::Line3d("
+ << '[' << k.x[i].x << ','
+ << k.x[i].y << ','
+ << k.x[i].z << "], "
+ << '[' << k.x[j].x << ','
+ << k.x[j].y << ','
+ << k.x[j].z << "]),";*/
+
+ cout << k.x[i].x << '\t'
+ << k.x[i].y << '\t'
+ << k.x[i].z << '\t'
+ << k.x[j].x << '\t'
+ << k.x[j].y << '\t'
+ << k.x[j].z << '\t'
+ << -delta_n*params.k_n << endl;
}
+ // Write Gnuplot footer
+ /*cout << "splot "
+ << '[' << grid.origo[0] << ':' << grid.L[0] << "] "
+ << '[' << grid.origo[1] << ':' << grid.L[1] << "] "
+ << '[' << grid.origo[2] << ':' << grid.L[2] << "] "
+ << "NaN notitle" << endl;*/
+
+
}
// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.