EpetraExt Package Browser (Single Doxygen Collection)
Development
Toggle main menu visibility
Loading...
Searching...
No Matches
src
transform
EpetraExt_StaticCondensation_LinearProblem.h
Go to the documentation of this file.
1
//@HEADER
2
// ***********************************************************************
3
//
4
// EpetraExt: Epetra Extended - Linear Algebra Services Package
5
// Copyright (2011) Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
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? Contact Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ***********************************************************************
40
//@HEADER
41
42
#ifndef EpetraExt_LINEARPROBLEM_STATICCONDENSATION_H
43
#define EpetraExt_LINEARPROBLEM_STATICCONDENSATION_H
44
45
#include <
EpetraExt_Transform.h
>
46
47
class
Epetra_LinearProblem
;
48
class
Epetra_Map
;
49
class
Epetra_MultiVector
;
50
class
Epetra_CrsGraph
;
51
class
Epetra_CrsMatrix
;
52
class
Epetra_Export
;
53
54
namespace
EpetraExt
{
55
56
class
LinearProblem_StaticCondensation
:
public
SameTypeTransform
<Epetra_LinearProblem>
57
{
58
const
int
degree_
;
59
const
bool
verbose_
;
60
61
const
Epetra_Map
*
OldRowMap_
;
62
Epetra_LinearProblem
*
OldProblem_
;
63
Epetra_MultiVector
*
OldRHS_
;
64
Epetra_MultiVector
*
OldLHS_
;
65
const
Epetra_CrsGraph
*
OldGraph_
;
66
Epetra_CrsMatrix
*
OldMatrix_
;
67
68
Epetra_Export
*
Exporter_
;
69
70
Epetra_Map
*
NewRowMap_
;
71
Epetra_Map
*
NewColMap_
;
72
Epetra_LinearProblem
*
NewProblem_
;
73
Epetra_MultiVector
*
NewRHS_
;
74
Epetra_MultiVector
*
NewLHS_
;
75
Epetra_CrsGraph
*
NewGraph_
;
76
Epetra_CrsMatrix
*
NewMatrix_
;
77
78
Epetra_Map
*
UMap_
;
79
Epetra_Map
*
RMap_
;
80
Epetra_Map
*
LMap_
;
81
82
Epetra_Export
*
UExporter_
;
83
Epetra_Export
*
RExporter_
;
84
Epetra_Export
*
LExporter_
;
85
86
Epetra_MultiVector
*
ULHS_
;
87
Epetra_MultiVector
*
RLHS_
;
88
Epetra_MultiVector
*
LLHS_
;
89
90
Epetra_MultiVector
*
URHS_
;
91
Epetra_MultiVector
*
RRHS_
;
92
Epetra_MultiVector
*
LRHS_
;
93
94
Epetra_CrsGraph
*
UUGraph_
;
95
Epetra_CrsGraph
*
URGraph_
;
96
Epetra_CrsGraph
*
ULGraph_
;
97
Epetra_CrsGraph
*
RRGraph_
;
98
Epetra_CrsGraph
*
RLGraph_
;
99
Epetra_CrsGraph
*
LLGraph_
;
100
101
Epetra_CrsMatrix
*
UUMatrix_
;
102
Epetra_CrsMatrix
*
URMatrix_
;
103
Epetra_CrsMatrix
*
ULMatrix_
;
104
Epetra_CrsMatrix
*
RRMatrix_
;
105
Epetra_CrsMatrix
*
RLMatrix_
;
106
Epetra_CrsMatrix
*
LLMatrix_
;
107
108
public
:
109
110
~LinearProblem_StaticCondensation
();
111
112
LinearProblem_StaticCondensation
(
int
degree = 1,
bool
verbose =
false
)
113
:
degree_
(degree),
114
verbose_
(verbose),
115
OldRowMap_
(0),
116
OldProblem_
(0),
117
OldRHS_
(0),
118
OldLHS_
(0),
119
OldGraph_
(0),
120
OldMatrix_
(0),
121
Exporter_
(0),
122
NewRowMap_
(0),
123
NewColMap_
(0),
124
NewProblem_
(0),
125
NewRHS_
(0),
126
NewLHS_
(0),
127
NewGraph_
(0),
128
NewMatrix_
(0),
129
UMap_
(0),
130
RMap_
(0),
131
LMap_
(0),
132
UExporter_
(0),
133
RExporter_
(0),
134
LExporter_
(0),
135
ULHS_
(0),
136
RLHS_
(0),
137
LLHS_
(0),
138
URHS_
(0),
139
RRHS_
(0),
140
LRHS_
(0),
141
UUGraph_
(0),
142
URGraph_
(0),
143
ULGraph_
(0),
144
RRGraph_
(0),
145
RLGraph_
(0),
146
LLGraph_
(0),
147
UUMatrix_
(0),
148
URMatrix_
(0),
149
ULMatrix_
(0),
150
RRMatrix_
(0),
151
RLMatrix_
(0),
152
LLMatrix_
(0)
153
{}
154
155
NewTypeRef
operator()
(
OriginalTypeRef
orig );
156
157
bool
fwd
();
158
bool
rvs
();
159
};
160
161
}
//namespace EpetraExt
162
163
#endif
//EpetraExt_LINEARPROBLEM_STATICCONDENSATION_H
EpetraExt_Transform.h
EpetraExt::LinearProblem_StaticCondensation::degree_
const int degree_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:58
EpetraExt::LinearProblem_StaticCondensation::OldRHS_
Epetra_MultiVector * OldRHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:63
EpetraExt::LinearProblem_StaticCondensation::URMatrix_
Epetra_CrsMatrix * URMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:102
EpetraExt::LinearProblem_StaticCondensation::OldProblem_
Epetra_LinearProblem * OldProblem_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:62
EpetraExt::LinearProblem_StaticCondensation::RRGraph_
Epetra_CrsGraph * RRGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:97
EpetraExt::LinearProblem_StaticCondensation::NewLHS_
Epetra_MultiVector * NewLHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:74
EpetraExt::LinearProblem_StaticCondensation::NewRHS_
Epetra_MultiVector * NewRHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:73
EpetraExt::LinearProblem_StaticCondensation::rvs
bool rvs()
Reverse transfer of data from new object created in the operator() method call to the orig object inp...
Definition
EpetraExt_StaticCondensation_LinearProblem.cpp:407
EpetraExt::LinearProblem_StaticCondensation::NewGraph_
Epetra_CrsGraph * NewGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:75
EpetraExt::LinearProblem_StaticCondensation::RMap_
Epetra_Map * RMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:79
EpetraExt::LinearProblem_StaticCondensation::LExporter_
Epetra_Export * LExporter_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:84
EpetraExt::LinearProblem_StaticCondensation::ULGraph_
Epetra_CrsGraph * ULGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:96
EpetraExt::LinearProblem_StaticCondensation::URGraph_
Epetra_CrsGraph * URGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:95
EpetraExt::LinearProblem_StaticCondensation::NewRowMap_
Epetra_Map * NewRowMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:70
EpetraExt::LinearProblem_StaticCondensation::Exporter_
Epetra_Export * Exporter_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:68
EpetraExt::LinearProblem_StaticCondensation::LinearProblem_StaticCondensation
LinearProblem_StaticCondensation(int degree=1, bool verbose=false)
Definition
EpetraExt_StaticCondensation_LinearProblem.h:112
EpetraExt::LinearProblem_StaticCondensation::fwd
bool fwd()
Forward transfer of data from orig object input in the operator() method call to the new object creat...
Definition
EpetraExt_StaticCondensation_LinearProblem.cpp:362
EpetraExt::LinearProblem_StaticCondensation::OldRowMap_
const Epetra_Map * OldRowMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:61
EpetraExt::LinearProblem_StaticCondensation::OldMatrix_
Epetra_CrsMatrix * OldMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:66
EpetraExt::LinearProblem_StaticCondensation::NewMatrix_
Epetra_CrsMatrix * NewMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:76
EpetraExt::LinearProblem_StaticCondensation::UMap_
Epetra_Map * UMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:78
EpetraExt::LinearProblem_StaticCondensation::UExporter_
Epetra_Export * UExporter_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:82
EpetraExt::LinearProblem_StaticCondensation::verbose_
const bool verbose_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:59
EpetraExt::LinearProblem_StaticCondensation::UUMatrix_
Epetra_CrsMatrix * UUMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:101
EpetraExt::LinearProblem_StaticCondensation::RLGraph_
Epetra_CrsGraph * RLGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:98
EpetraExt::LinearProblem_StaticCondensation::operator()
NewTypeRef operator()(OriginalTypeRef orig)
Definition
EpetraExt_StaticCondensation_LinearProblem.cpp:105
EpetraExt::LinearProblem_StaticCondensation::OldGraph_
const Epetra_CrsGraph * OldGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:65
EpetraExt::LinearProblem_StaticCondensation::UUGraph_
Epetra_CrsGraph * UUGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:94
EpetraExt::LinearProblem_StaticCondensation::LLGraph_
Epetra_CrsGraph * LLGraph_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:99
EpetraExt::LinearProblem_StaticCondensation::RLHS_
Epetra_MultiVector * RLHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:87
EpetraExt::LinearProblem_StaticCondensation::ULHS_
Epetra_MultiVector * ULHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:86
EpetraExt::LinearProblem_StaticCondensation::URHS_
Epetra_MultiVector * URHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:90
EpetraExt::LinearProblem_StaticCondensation::LRHS_
Epetra_MultiVector * LRHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:92
EpetraExt::LinearProblem_StaticCondensation::NewColMap_
Epetra_Map * NewColMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:71
EpetraExt::LinearProblem_StaticCondensation::ULMatrix_
Epetra_CrsMatrix * ULMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:103
EpetraExt::LinearProblem_StaticCondensation::NewProblem_
Epetra_LinearProblem * NewProblem_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:72
EpetraExt::LinearProblem_StaticCondensation::LLMatrix_
Epetra_CrsMatrix * LLMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:106
EpetraExt::LinearProblem_StaticCondensation::RRHS_
Epetra_MultiVector * RRHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:91
EpetraExt::LinearProblem_StaticCondensation::RLMatrix_
Epetra_CrsMatrix * RLMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:105
EpetraExt::LinearProblem_StaticCondensation::~LinearProblem_StaticCondensation
~LinearProblem_StaticCondensation()
Definition
EpetraExt_StaticCondensation_LinearProblem.cpp:61
EpetraExt::LinearProblem_StaticCondensation::LLHS_
Epetra_MultiVector * LLHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:88
EpetraExt::LinearProblem_StaticCondensation::RExporter_
Epetra_Export * RExporter_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:83
EpetraExt::LinearProblem_StaticCondensation::LMap_
Epetra_Map * LMap_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:80
EpetraExt::LinearProblem_StaticCondensation::RRMatrix_
Epetra_CrsMatrix * RRMatrix_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:104
EpetraExt::LinearProblem_StaticCondensation::OldLHS_
Epetra_MultiVector * OldLHS_
Definition
EpetraExt_StaticCondensation_LinearProblem.h:64
EpetraExt::SameTypeTransform
Definition
EpetraExt_Transform.h:271
EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >::OriginalTypeRef
Epetra_LinearProblem & OriginalTypeRef
Definition
EpetraExt_Transform.h:74
EpetraExt::Transform< Epetra_LinearProblem, Epetra_LinearProblem >::NewTypeRef
Epetra_LinearProblem & NewTypeRef
Definition
EpetraExt_Transform.h:79
Epetra_CrsGraph
Epetra_CrsMatrix
Epetra_Export
Epetra_LinearProblem
Epetra_Map
Epetra_MultiVector
EpetraExt
EpetraExt::BlockCrsMatrix: A class for constructing a distributed block matrix.
Definition
EpetraExt_BlockCrsMatrix.cpp:46
Generated by
1.17.0