forked from johannesgerer/jburkardt-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
scvt_mpi.html
163 lines (133 loc) · 3.9 KB
/
scvt_mpi.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
<html>
<head>
<title>
SCVT_MPI - Parallel Program for Centroidal Voronoi Tessellations on Spheres
</title>
</head>
<body bgcolor="#EEEEEE" link="#CC0000" alink="#FF3300" vlink="#000055">
<h1 align = "center">
SCVT_MPI <br> Parallel Program for Centroidal Voronoi Tessellations on Spheres
</h1>
<hr>
<p>
<b>SCVT_MPI</b>
is a C++ program which
carries out a procedure that produces
Centroidal Voronoi Tessellations (CVT's) on the surface of a sphere.
</p>
<p>
A CVT is a kind of mesh. Such meshes can be used for weather
or climate modeling on the Earth's surface, for instance.
</p>
<p>
The program uses Jonathan Shewchuk's triangle library, which
can triangulate a set of points in the plane.
</p>
<p>
The program uses the boost library of high-quality arithmetic
procedures, in particular, it refers to the boost mpi and
boost serialization libraries.
</p>
<p>
The program relies on the boost mpi library to implement the parallel
execution of the algorithm.
</p>
<p>
The program relies on the boost serialization library to encode
a C++ structure as a sequence of bytes that can be recorded in a
file or transmitted as a message, which can then be decoded by
a receiving program to recover the original C++ structure.
</p>
<h3 align = "center">
Licensing:
</h3>
<p>
The computer code and data files described and made available on this web page
are distributed under
<a href = "../../txt/gnu_lgpl.txt">the GNU LGPL license.</a>
</p>
<h3 align = "center">
Languages:
</h3>
<p>
<b>SCVT_MPI</b> is available in
<a href = "../../cpp_src/divdif/divdif.html">a C++ version</a>.
</p>
<h3 align = "center">
Related Data and Programs:
</h3>
<p>
<a href = "../../cpp_src/boost/boost.html">
BOOST</a>,
C++ programs which
demonstrate the use of the Boost libraries;
</p>
<p>
<a href = "../../cpp_src/mpi/mpi.html">
MPI</a>,
C++ programs which
illustrate the use of the MPI application program interface
for carrying out parallel computations in a distributed memory environment.
</p>
<p>
<a href = "../../c_src/triangle/triangle.html">
TRIANGLE</a>,
a C program which
computes a triangulation of a geometric region,
by Jonathan Shewchuk.
</p>
<h3 align = "center">
Reference:
</h3>
<p>
<ol>
<li>
Douglas Jacobsen, Max Gunzburger, Todd Ringler,
John Burkardt, Janet Peterson,<br>
Parallel algorithms for planar and spherical Delaunay construction
with an application to centroidal Voronoi tessellations,<br>
Geoscientific Model Development.
<li>
Jonathan Shewchuk,<br>
Delaunay Refinement Algorithms for Triangular Mesh Generation,<br>
Computational Geometry, Theory and Applications,<br>
Volume 23, pages 21-74, May 2002.
</li>
</ol>
</p>
<h3 align = "center">
Source Code:
</h3>
<p>
<ul>
<li>
<a href = "scvt_mpi.cpp">scvt_mpi.cpp</a>, the source code;
</li>
<li>
<a href = "triangle.h">triangle.h</a>,
an include file for accessing the triangle library.
</li>
<li>
<a href = "triangulation.h">triangulation.h</a>,
an include file containing useful definitions.
</li>
</ul>
</p>
<h3 align = "center">
Examples and Tests:
</h3>
<p>
<ul>
</ul>
</p>
<p>
You can go up one level to <a href = "../cpp_src.html">
the C++ source codes</a>.
</p>
<hr>
<i>
Last revised on 25 February 2013.
</i>
<!-- John Burkardt -->
</body>
</html>