Galeri Package Browser (Single Doxygen Collection)
Version of the Day
Loading...
Searching...
No Matches
example
Map.cpp
Go to the documentation of this file.
1
// @HEADER
2
// ************************************************************************
3
//
4
// Galeri: Finite Element and Matrix Generation Package
5
// Copyright (2006) ETHZ/Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions about Galeri? Contact Marzio Sala (marzio.sala _AT_ gmail.com)
38
//
39
// ************************************************************************
40
// @HEADER
41
42
#include "Galeri_Maps.h"
43
#ifdef HAVE_MPI
44
#include "
Epetra_MpiComm.h
"
45
#include "mpi.h"
46
#else
47
#include "
Epetra_SerialComm.h
"
48
#endif
49
#include "Teuchos_ParameterList.hpp"
50
51
using namespace
Galeri;
52
53
int
main
(
int
argc,
char
* argv[])
54
{
55
#ifdef HAVE_MPI
56
MPI_Init(&argc, &argv);
57
Epetra_MpiComm
Comm(MPI_COMM_WORLD);
58
#else
59
Epetra_SerialComm
Comm;
60
#endif
61
62
// Creates an Epetra_Map corresponding to a 2D Cartesian grid
63
// on the unit square. For parallel runs, the nodes are divided into
64
// strips, so that the total number of subdomains is Comm.NumProc() x 1.
65
66
// Pointer to the object to be created
67
Epetra_Map
* Map = 0;
68
// Type of the object
69
std::string MapType =
"Cartesian2D"
;
70
// Container for parameters
71
Teuchos::ParameterList GaleriList;
72
GaleriList.set(
"nx"
, 2 * Comm.NumProc());
73
GaleriList.set(
"ny"
, 2);
74
GaleriList.set(
"mx"
, Comm.NumProc());
75
GaleriList.set(
"my"
, 1);
76
77
try
78
{
79
// Creation of the map
80
#ifndef GALERI_TEST_USE_LONGLONG_GO
81
Map = CreateMap(
"Cartesian2D"
, Comm, GaleriList);
82
#else
83
Map = CreateMap64(
"Cartesian2D"
, Comm, GaleriList);
84
#endif
85
// print out the map
86
cout << *Map;
87
88
// To created object must be free'd using delete
89
delete
Map;
90
}
91
catch
(Exception& rhs)
92
{
93
if
(Comm.MyPID() == 0)
94
{
95
cerr <<
"Caught exception: "
;
96
rhs.
Print
();
97
}
98
}
99
100
#ifdef HAVE_MPI
101
MPI_Finalize();
102
#endif
103
104
return
(EXIT_SUCCESS);
105
}
Epetra_MpiComm.h
Epetra_SerialComm.h
main
int main(int argc, char *argv[])
Definition
Map.cpp:53
Epetra_BlockMap::Print
virtual void Print(std::ostream &os) const
Epetra_Map
Epetra_MpiComm
Epetra_SerialComm
Generated by
1.10.0