MueLu
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
MueLu_LineDetectionFactory_decl.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// MueLu: A package for multigrid based preconditioning
4
//
5
// Copyright 2012 NTESS and the MueLu contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef MUELU_LINEDETECTIONFACTORY_DECL_HPP
11
#define MUELU_LINEDETECTIONFACTORY_DECL_HPP
12
13
// same as in SemiCoarsenPFactory (TODO rework this)
14
#define VERTICAL 1
15
#define HORIZONTAL 2
16
#define GRID_SUPPLIED -1
17
18
#include "
MueLu_ConfigDefs.hpp
"
19
#include "
MueLu_LineDetectionFactory_fwd.hpp
"
20
21
#include "
MueLu_Level_fwd.hpp
"
22
#include "
MueLu_SingleLevelFactoryBase.hpp
"
23
24
namespace
MueLu
{
25
30
31
template
<
class
Scalar
=
DefaultScalar
,
32
class
LocalOrdinal
=
DefaultLocalOrdinal
,
33
class
GlobalOrdinal
=
DefaultGlobalOrdinal
,
34
class
Node
=
DefaultNode
>
35
class
LineDetectionFactory
:
public
SingleLevelFactoryBase
{
36
#undef MUELU_LINEDETECTIONFACTORY_SHORT
37
#include "
MueLu_UseShortNames.hpp
"
38
39
public
:
40
using
coordinate_type
=
typename
Teuchos::ScalarTraits<SC>::coordinateType;
41
using
CoordinateMultiVector
=
typename
Xpetra::MultiVector<coordinate_type, LO, GO, NO>;
42
44
45
46
LineDetectionFactory
()
47
:
Zorientation_
(
VERTICAL
) {}
48
50
virtual
~LineDetectionFactory
() {}
51
52
RCP<const ParameterList>
GetValidParameterList
()
const
;
53
55
57
58
59
void
DeclareInput
(
Level
& currentLevel)
const
;
60
62
64
65
71
void
Build
(
Level
& currentLevel)
const
;
72
74
75
private
:
76
void
sort_coordinates
(LO numCoords, LO* OrigLoc,
77
coordinate_type
* xvals,
78
coordinate_type
* yvals,
79
coordinate_type
* zvals,
80
coordinate_type
* xtemp,
81
coordinate_type
* ytemp,
82
coordinate_type
* ztemp,
83
bool
flipXY =
false
)
const
;
84
85
LO
ML_compute_line_info
(LO LayerId[], LO VertLineId[],
86
LO Ndof, LO DofsPerNode,
87
LO MeshNumbering, LO NumNodesPerVertLine,
88
coordinate_type
* xvals,
coordinate_type
* yvals,
coordinate_type
* zvals,
89
const
Teuchos::Comm<int>
& comm)
const
;
90
91
void
ML_az_dsort2
(
coordinate_type
dlist[], LO N, LO list2[])
const
;
92
97
mutable
LO
Zorientation_
;
98
99
};
// class LineDetectionFactory
100
101
}
// namespace MueLu
102
103
#define MUELU_LINEDETECTIONFACTORY_SHORT
104
#endif
// MUELU_LINEDETECTIONFACTORY_DECL_HPP
MueLu_ConfigDefs.hpp
MueLu_Level_fwd.hpp
VERTICAL
#define VERTICAL
Definition
MueLu_LineDetectionFactory_decl.hpp:14
MueLu_LineDetectionFactory_fwd.hpp
MueLu_SingleLevelFactoryBase.hpp
LocalOrdinal
MueLu::DefaultLocalOrdinal LocalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:13
Scalar
MueLu::DefaultScalar Scalar
Definition
MueLu_UseDefaultTypes.hpp:12
GlobalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Definition
MueLu_UseDefaultTypes.hpp:14
Node
MueLu::DefaultNode Node
Definition
MueLu_UseDefaultTypes.hpp:15
MueLu_UseShortNames.hpp
MueLu::Level
Class that holds all level-specific information.
Definition
MueLu_Level.hpp:63
MueLu::LineDetectionFactory::GetValidParameterList
RCP< const ParameterList > GetValidParameterList() const
Return a const parameter list of valid parameters that setParameterList() will accept.
Definition
MueLu_LineDetectionFactory_def.hpp:25
MueLu::LineDetectionFactory::sort_coordinates
void sort_coordinates(LO numCoords, LO *OrigLoc, coordinate_type *xvals, coordinate_type *yvals, coordinate_type *zvals, coordinate_type *xtemp, coordinate_type *ytemp, coordinate_type *ztemp, bool flipXY=false) const
Definition
MueLu_LineDetectionFactory_def.hpp:333
MueLu::LineDetectionFactory::~LineDetectionFactory
virtual ~LineDetectionFactory()
Destructor.
Definition
MueLu_LineDetectionFactory_decl.hpp:50
MueLu::LineDetectionFactory::ML_az_dsort2
void ML_az_dsort2(coordinate_type dlist[], LO N, LO list2[]) const
Definition
MueLu_LineDetectionFactory_def.hpp:379
MueLu::LineDetectionFactory::DeclareInput
void DeclareInput(Level ¤tLevel) const
Input.
Definition
MueLu_LineDetectionFactory_def.hpp:40
MueLu::LineDetectionFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Zorientation_
LO Zorientation_
Definition
MueLu_LineDetectionFactory_decl.hpp:97
MueLu::LineDetectionFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CoordinateMultiVector
typename Xpetra::MultiVector< coordinate_type, LO, GO, NO > CoordinateMultiVector
Definition
MueLu_LineDetectionFactory_decl.hpp:41
MueLu::LineDetectionFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coordinate_type
typename Teuchos::ScalarTraits< SC >::coordinateType coordinate_type
Definition
MueLu_LineDetectionFactory_decl.hpp:40
MueLu::LineDetectionFactory::LineDetectionFactory
LineDetectionFactory()
Definition
MueLu_LineDetectionFactory_decl.hpp:46
MueLu::LineDetectionFactory::Build
void Build(Level ¤tLevel) const
Build method.
Definition
MueLu_LineDetectionFactory_def.hpp:55
MueLu::LineDetectionFactory::ML_compute_line_info
LO ML_compute_line_info(LO LayerId[], LO VertLineId[], LO Ndof, LO DofsPerNode, LO MeshNumbering, LO NumNodesPerVertLine, coordinate_type *xvals, coordinate_type *yvals, coordinate_type *zvals, const Teuchos::Comm< int > &comm) const
Definition
MueLu_LineDetectionFactory_def.hpp:226
MueLu::SingleLevelFactoryBase::SingleLevelFactoryBase
SingleLevelFactoryBase()
Constructor.
Teuchos::Comm
Definition
MueLu_Memory.hpp:22
MueLu
Namespace for MueLu classes and methods.
Definition
MueLu_BrickAggregationFactory_decl.hpp:42
MueLu::DefaultNode
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Definition
MueLu_Details_DefaultTypes.hpp:32
MueLu::DefaultGlobalOrdinal
int DefaultGlobalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:29
MueLu::DefaultLocalOrdinal
int DefaultLocalOrdinal
Definition
MueLu_Details_DefaultTypes.hpp:22
MueLu::DefaultScalar
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar
Definition
MueLu_Details_DefaultTypes.hpp:20
src
Misc
MueLu_LineDetectionFactory_decl.hpp
Generated by
1.17.0