MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu_Q2Q1Q2CoarseGridFactory_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_Q2Q1Q2COARSEGRIDFACTORY_DECL_HPP
11#define MUELU_Q2Q1Q2COARSEGRIDFACTORY_DECL_HPP
12
13#include "MueLu_ConfigDefs.hpp"
15//#include "MueLu_Q2Q1Q2CoarseGridFactory_fwd.hpp"
16
17#include <Xpetra_Matrix_fwd.hpp>
18
19#include "MueLu_Level_fwd.hpp"
20#include "MueLu_PFactory.hpp"
21
22namespace MueLu {
23
29
30template <class Scalar = DefaultScalar,
33 class Node = DefaultNode>
35#undef MUELU_Q2Q1Q2COARSEGRIDFACTORY_SHORT
37
38 public:
40
41
44
47
49
51
52
59 void DeclareInput(Level &fineLevel, Level &coarseLevel) const;
60
62
64
65
67 void Build(Level &fineLevel, Level &coarseLevel) const;
68
69 void BuildCoarseGrid(Level &fineLevel, Level &coarseLevel) const;
70
71 /* For our geometric multigrid needs, we will explicitly build the
72 coarse grid here and store it as level data. There are two
73 things we care about here: coordinates of the dofs and
74 element-dof lists.
75
76 We will assume only that the elements are numbered
77 lexicographically, left-to-right, bottom-to-top. The order of
78 the degrees of freedom will only be assumed on coarse grids. It
79 can be anything on the finest grid (fineLevel.GetLevelID()==1).
80
81 We further assume that the x- and y-components of velocity are
82 zippered together: UX1 UY1 UX2 UY2 ETC...
83 */
84
86
87 private:
88 // No parameters need to be stored... To save "P", use
89 // coarseLevel.Set("P", finalP, this);
90
91}; // class Q2Q1Q2CoarseGridFactory
92
93} // namespace MueLu
94
95#define MUELU_Q2Q1Q2COARSEGRIDFACTORY_SHORT
96#endif // MUELU_Q2Q1Q2COARSEGRIDFACTORY_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
MueLu::DefaultNode Node
Class that holds all level-specific information.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
void BuildCoarseGrid(Level &fineLevel, Level &coarseLevel) const
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Specifies the data that this class needs, and the factories that generate that data.
TwoLevelFactoryBase()
Constructor.
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar