Zoltan2
Toggle main menu visibility
Loading...
Searching...
No Matches
Zoltan2_MeshCoordinateTest.hpp
Go to the documentation of this file.
1
//
2
// Zoltan2_MeshCoordinateTest.h
3
// Zoltan2TestDriver
4
//
5
// Created by Bradley Davidson on 7/6/15.
6
// Copyright (c) 2015 TXCorp. All rights reserved.
7
//
8
9
#ifndef Zoltan2TestDriver_Zoltan2_MeshCoordinateTest_h
10
#define Zoltan2TestDriver_Zoltan2_MeshCoordinateTest_h
11
12
#include "
Zoltan2_TestInterface.hpp
"
13
#include <
Zoltan2_BasicVectorAdapter.hpp
>
14
#include <
Zoltan2_XpetraMultiVectorAdapter.hpp
>
15
#include <
Zoltan2_PartitioningSolution.hpp
>
16
#include <
Zoltan2_PartitioningProblem.hpp
>
17
18
using
Teuchos::RCP;
19
using
Teuchos::rcp;
20
21
typedef
Tpetra::MultiVector<zscalar_t, zlno_t, zgno_t, znode_t>
tMVector_t
;
22
typedef
Zoltan2::BasicUserTypes<zscalar_t, zlno_t, zgno_t>
myTypes_t
;
23
24
25
class
MeshCoordinateTest
:
public
Zoltan2Test
{
26
27
public
:
30
MeshCoordinateTest
();
31
34
~MeshCoordinateTest
() {};
35
40
void
Run
(
const
ParameterList ¶ms,
const
RCP<
const
Teuchos::Comm<int> > & comm);
41
44
bool
didPass
();
45
46
private
:
47
bool
success;
48
};
49
50
51
MeshCoordinateTest::MeshCoordinateTest
(){
52
this->success =
false
;
53
};
54
55
void
MeshCoordinateTest::Run
(
const
ParameterList ¶ms,
56
const
RCP<
const
Teuchos::Comm<int> > & comm)
57
{
58
const
ParameterList &input = params.sublist(
"TestParameters"
);
59
60
UserInputForTests
uinput(input,comm,
true
,
true
);
61
if
(!uinput.
hasUICoordinates
())
return
;
62
63
RCP<tMVector_t> coords = uinput.
getUICoordinates
();
64
65
size_t
localCount = coords->getLocalLength();
66
67
zscalar_t
*x=NULL, *y=NULL, *z=NULL;
68
x = coords->getDataNonConst(0).getRawPtr();
69
y = coords->getDataNonConst(1).getRawPtr();
70
z = coords->getDataNonConst(2).getRawPtr();
71
72
const
zgno_t
*globalIds = coords->getMap()->getLocalElementList().getRawPtr();
73
typedef
Zoltan2::BasicVectorAdapter<tMVector_t>
inputAdapter_t;
74
75
inputAdapter_t ia(localCount, globalIds, x, y, z, 1, 1, 1);
76
77
// ParameterList zoltan2params(params.sublist("Zoltan2Parameters"));
78
const
ParameterList &zoltan2params = params.sublist(
"Zoltan2Parameters"
);
79
#ifdef HAVE_ZOLTAN2_MPI
80
Zoltan2::PartitioningProblem<inputAdapter_t>
problem(&ia,
const_cast<
ParameterList *
>
(&zoltan2params), MPI_COMM_WORLD);
81
#else
82
Zoltan2::PartitioningProblem<inputAdapter_t>
problem(&ia,
const_cast<
ParameterList *
>
(&zoltan2params));
83
#endif
84
85
problem.
solve
();
86
87
this->success =
true
;
88
89
}
90
91
bool
MeshCoordinateTest::didPass
(){
return
this->success;}
92
93
94
#endif
Zoltan2_BasicVectorAdapter.hpp
Defines the BasicVectorAdapter class.
myTypes_t
Zoltan2::BasicUserTypes< zscalar_t, zlno_t, zgno_t > myTypes_t
Definition
Zoltan2_MeshCoordinateTest.hpp:22
Zoltan2_PartitioningProblem.hpp
Defines the PartitioningProblem class.
Zoltan2_PartitioningSolution.hpp
Defines the PartitioningSolution class.
zscalar_t
float zscalar_t
Definition
Zoltan2_TestHelpers.hpp:113
zgno_t
Tpetra::Map ::global_ordinal_type zgno_t
Definition
Zoltan2_TestHelpers.hpp:107
Zoltan2_TestInterface.hpp
Zoltan2_XpetraMultiVectorAdapter.hpp
Defines the XpetraMultiVectorAdapter.
MeshCoordinateTest::Run
void Run(const ParameterList ¶ms, const RCP< const Teuchos::Comm< int > > &comm)
Definition
Zoltan2_MeshCoordinateTest.hpp:55
MeshCoordinateTest::~MeshCoordinateTest
~MeshCoordinateTest()
Destructor.
Definition
Zoltan2_MeshCoordinateTest.hpp:34
MeshCoordinateTest::didPass
bool didPass()
Did pass?
Definition
Zoltan2_MeshCoordinateTest.hpp:91
MeshCoordinateTest::MeshCoordinateTest
MeshCoordinateTest()
Default Constructor.
Definition
Zoltan2_MeshCoordinateTest.hpp:51
UserInputForTests
Definition
UserInputForTests.hpp:127
UserInputForTests::hasUICoordinates
bool hasUICoordinates()
Definition
UserInputForTests.hpp:743
UserInputForTests::getUICoordinates
RCP< tMVector_t > getUICoordinates()
Definition
UserInputForTests.hpp:544
Zoltan2Test
Definition
Zoltan2_TestInterface.hpp:27
Zoltan2::BasicUserTypes
A simple class that can be the User template argument for an InputAdapter.
Definition
Zoltan2_InputTraits.hpp:140
Zoltan2::BasicVectorAdapter
BasicVectorAdapter represents a vector (plus optional weights) supplied by the user as pointers to st...
Definition
Zoltan2_BasicVectorAdapter.hpp:86
Zoltan2::PartitioningProblem
PartitioningProblem sets up partitioning problems for the user.
Definition
Zoltan2_PartitioningProblem.hpp:105
Zoltan2::PartitioningProblem::solve
void solve(bool updateInputData=true)
Direct the problem to create a solution.
Definition
Zoltan2_PartitioningProblem.hpp:614
tMVector_t
Tpetra::MultiVector< zscalar_t, zlno_t, zgno_t, znode_t > tMVector_t
Definition
zoltanCompare.cpp:118
test
core
driver
Zoltan2_MeshCoordinateTest.hpp
Generated by
1.17.0