Nektar++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
library
MultiRegions
GlobalLinSysKey.h
Go to the documentation of this file.
1
///////////////////////////////////////////////////////////////////////////////
2
//
3
// File GlobalLinSysKeys.h
4
//
5
// For more information, please see: http://www.nektar.info
6
//
7
// The MIT License
8
//
9
// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10
// Department of Aeronautics, Imperial College London (UK), and Scientific
11
// Computing and Imaging Institute, University of Utah (USA).
12
//
13
// License for the specific language governing rights and limitations under
14
// Permission is hereby granted, free of charge, to any person obtaining a
15
// copy of this software and associated documentation files (the "Software"),
16
// to deal in the Software without restriction, including without limitation
17
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
// and/or sell copies of the Software, and to permit persons to whom the
19
// Software is furnished to do so, subject to the following conditions:
20
//
21
// The above copyright notice and this permission notice shall be included
22
// in all copies or substantial portions of the Software.
23
//
24
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
25
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
29
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30
// DEALINGS IN THE SOFTWARE.
31
//
32
// Description: Headers for GlobalLinSysKey
33
//
34
///////////////////////////////////////////////////////////////////////////////
35
36
#ifndef NEKTAR_LIBS_MULTIREGIONS_GLOBALLINSYSKEY_H
37
#define NEKTAR_LIBS_MULTIREGIONS_GLOBALLINSYSKEY_H
38
#include <
MultiRegions/MultiRegionsDeclspec.h
>
39
#include <
MultiRegions/MultiRegions.hpp
>
40
#include <
MultiRegions/GlobalMatrixKey.h
>
41
42
namespace
Nektar
43
{
44
namespace
MultiRegions
45
{
46
/// Describe a linear system.
47
class
GlobalLinSysKey
:
public
GlobalMatrixKey
48
{
49
public
:
50
MULTI_REGIONS_EXPORT
GlobalLinSysKey
(
const
StdRegions::MatrixType
matrixType,
51
const
AssemblyMapSharedPtr
&locToGloMap
52
=
NullAssemblyMapSharedPtr
,
53
const
StdRegions::ConstFactorMap
&factors =
StdRegions::NullConstFactorMap
,
54
const
StdRegions::VarCoeffMap
&varCoeffs =
StdRegions::NullVarCoeffMap
);
55
56
/// Copy constructor.
57
MULTI_REGIONS_EXPORT
GlobalLinSysKey
(
const
GlobalLinSysKey &key);
58
/// Destructor.
59
MULTI_REGIONS_EXPORT
virtual
~GlobalLinSysKey
();
60
61
/// Less-than operator for GlobalLinSysKey comparison.
62
MULTI_REGIONS_EXPORT
friend
bool
operator<
(
const
GlobalLinSysKey &
lhs
,
63
const
GlobalLinSysKey &rhs);
64
/// Return the associated solution type.
65
inline
GlobalSysSolnType
GetGlobalSysSolnType
()
const
;
66
67
protected
:
68
/// Store the solution type associated with the linear system. This
69
/// may be none, full matrix, static condensation or multi-level
70
/// static condensation.
71
GlobalSysSolnType
m_solnType
;
72
73
private
:
74
75
};
76
77
/// Writes information about the object to a given stream.
78
MULTI_REGIONS_EXPORT
std::ostream&
operator<<
(std::ostream& os,
const
GlobalLinSysKey
& rhs);
79
80
inline
GlobalSysSolnType
GlobalLinSysKey::GetGlobalSysSolnType
()
81
const
82
{
83
return
m_solnType
;
84
}
85
86
}
87
}
88
89
#endif
Generated on Sun Mar 15 2015 00:11:32 for Nektar++ by
1.8.1.2