From 45c3c197a41e181df3a34676bc842893615986fe Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Tue, 28 Feb 2012 07:58:45 +0100 Subject: [PATCH] Write matrix octave-ready to file `data' --- src/one-body-sample.cc | 9 +++++++++ src/plot_displacement.m | 4 ++++ src/plot_neumann.m | 4 ++++ src/plot_state.m | 4 ++++ 4 files changed, 21 insertions(+) create mode 100644 src/plot_displacement.m create mode 100644 src/plot_neumann.m create mode 100644 src/plot_state.m diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 2115b297..1807b07f 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -365,8 +365,12 @@ int main(int argc, char *argv[]) { multigridStep.ignoreNodes_ = &ignoreNodes; // }}} + std::fstream octave_writer("data", std::fstream::out); timer.reset(); auto const timesteps = parset.get<size_t>("timesteps"); + octave_writer << "# name: A" << std::endl << "# type: matrix" << std::endl + << "# rows: " << timesteps << std::endl << "# columns: 3" + << std::endl; double const h = 1.0 / timesteps; for (size_t run = 1; run <= timesteps; ++run) { if (parset.get<bool>("printProgress")) { @@ -468,6 +472,10 @@ int main(int argc, char *argv[]) { "%|40t|u[%03d] = %+3e"); std::cout << boost::format(formatter) % run % (*s4_new)[i] % run % u4[i] << std::endl; + octave_writer << (*s4_new)[i] << " " << u4[i][0] * 1e6 << " " + << ((h * run <= 0.5) ? sin(h * run * 2 * M_PI) * 1 + : (h * run - 0.5) * 2 * 1) + << std::endl; break; } @@ -552,6 +560,7 @@ int main(int argc, char *argv[]) { std::cout << "sup |u1 - u4| = " << diff4.infinity_norm() << ", " << "|u1 - u4| = " << diff4.two_norm() << std::endl; } + octave_writer.close(); if (parset.get<bool>("printFrictionalBoundary")) { // Print displacement on frictional boundary diff --git a/src/plot_displacement.m b/src/plot_displacement.m new file mode 100644 index 00000000..63132b01 --- /dev/null +++ b/src/plot_displacement.m @@ -0,0 +1,4 @@ +close all; + +plot(1:length(A),A(:,2)); +axis tight; diff --git a/src/plot_neumann.m b/src/plot_neumann.m new file mode 100644 index 00000000..8fd9e217 --- /dev/null +++ b/src/plot_neumann.m @@ -0,0 +1,4 @@ +close all; + +plot(1:length(A),A(:,3)); +axis tight; diff --git a/src/plot_state.m b/src/plot_state.m new file mode 100644 index 00000000..0172ebc7 --- /dev/null +++ b/src/plot_state.m @@ -0,0 +1,4 @@ +close all; + +plot(1:length(A),A(:,1)); +axis tight; -- GitLab