Loading [MathJax]/extensions/tex2jax.js
ug4
Toggle main menu visibility
ug4
Modules
ugBase
libAlgebra
libDiscretization
libGrid
Plugins
Registry
Scripts
Apps
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
s
t
u
v
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
v
Enumerations
a
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
e
f
g
h
m
n
o
p
r
s
t
v
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
x
Related Symbols
a
b
c
d
f
g
h
i
k
l
m
n
o
p
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
e
g
l
n
o
p
r
s
u
v
y
Typedefs
Enumerations
Enumerator
b
g
l
n
t
y
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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
}
37
void
WriteVectorGnuplot
(std::string filename,
const
Vector_type &v, {
…
}
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 Feb 24 2025 01:13:18 for ug4 by
1.9.8