ug4
Loading...
Searching...
No Matches
gnuplot_output.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013-2015: G-CSC, Goethe University Frankfurt
3
* Author: Martin Rupp
4
*
5
* This file is part of UG4.
6
*
7
* UG4 is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License version 3 (as published by the
9
* Free Software Foundation) with the following additional attribution
10
* requirements (according to LGPL/GPL v3 §7):
11
*
12
* (1) The following notice must be displayed in the Appropriate Legal Notices
13
* of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14
*
15
* (2) The following notice must be displayed at a prominent place in the
16
* terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17
*
18
* (3) The following bibliography is recommended for citation and must be
19
* preserved in all covered files:
20
* "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21
* parallel geometric multigrid solver on hierarchically distributed grids.
22
* Computing and visualization in science 16, 4 (2013), 151-164"
23
* "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24
* flexible software system for simulating pde based models on high performance
25
* computers. Computing and visualization in science 16, 4 (2013), 165-179"
26
*
27
* This program is distributed in the hope that it will be useful,
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
* GNU Lesser General Public License for more details.
31
*/
32
33
#ifndef GNUPLOT_OUTPUT_H_
34
#define GNUPLOT_OUTPUT_H_
35
36
template
<
typename
Vector_type,
typename
postype>
37
void
WriteVectorGnuplot
(std::string filename,
const
Vector_type &v,
38
postype *positions,
int
dimensions,
const
Vector_type *compareVec=NULL)
39
{
40
size_t
N = A.num_rows();
41
std::fstream f((filename+
".sh"
).c_str(), std::ios::out);
42
f <<
"#!/bin/bash\n"
43
"cat > gnuplotTemporaryFile <<EOF\n"
44
"set dgrid3d N,N\n"
45
"set style data lines\n"
46
"set pm3d\n"
47
"splot \"-\" pal\n"
;
48
if
(dimensions == 1)
49
for
(
size_t
i=0; i < N; i++)
50
f << positions[i][0] <<
" "
<< v[i] <<
"\n"
;
51
else
if
(dimensions == 2)
52
for
(
size_t
i=0; i < N; i++)
53
f << positions[i][0] <<
" "
<< positions[i][1] <<
" "
<< v[i] <<
"\n"
;
54
else
55
for
(
size_t
i=0; i < N; i++)
56
f << positions[i][0] <<
" "
<< positions[i][1] <<
" "
<< positions[i][2] <<
" "
<< v[i] <<
"\n"
;
57
f <<
"e\n"
58
"EOF\n"
59
"cat gnuplotTemporaryFile | gnuplot -persist\n"
60
"rm gnuplotTemporaryFile\n"
;
61
}
62
63
64
#endif
/* GNUPLOT_OUTPUT_H_ */
WriteVectorGnuplot
void WriteVectorGnuplot(std::string filename, const Vector_type &v, postype *positions, int dimensions, const Vector_type *compareVec=NULL)
Definition
gnuplot_output.h:37
ugbase
lib_algebra
common
gnuplot_output.h
Generated on Mon Dec 8 2025 01:23:39 for ug4 by
1.9.8