FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
fei_fwd.hpp
1
/*
2
// @HEADER
3
// ************************************************************************
4
// FEI: Finite Element Interface to Linear Solvers
5
// Copyright (2005) Sandia Corporation.
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the
8
// 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 Alan Williams (william@sandia.gov)
38
//
39
// ************************************************************************
40
// @HEADER
41
*/
42
43
#ifndef _fei_fwd_hpp_
44
#define _fei_fwd_hpp_
45
46
47
#include <fei_macros.hpp>
48
#include <fei_defs.h>
49
50
//
51
//Forward declarations for fei classes.
52
//
53
54
//
55
//First, the "old" classes that aren't in a namespace.
56
//
57
58
class
BlockDescriptor
;
59
class
ConnectivityTable
;
60
class
Data
;
61
class
EqnBuffer
;
62
class
EqnCommMgr
;
63
class
FEI_Implementation;
64
class
Filter
;
65
class
FiniteElementData
;
66
class
LibraryWrapper;
67
class
LinearSystemCore
;
68
class
NodeCommMgr
;
69
class
NodeDatabase
;
70
class
NodeDescriptor
;
71
class
ProcEqns
;
72
class
SNL_FEI_Structure
;
73
class
SlaveVariable
;
74
75
//
76
//Now the symbols in the fei namespace.
77
//
78
79
namespace
fei
{
81
enum
OutputLevel
{
82
//We want to make sure that BRIEF_LOGS < FULL_LOGS < ALL, so that
83
//debug-output code can use statements like
84
// 'if (output_level_ >= BRIEF_LOGS)'.
85
//So be aware that re-arranging these values can change the behavior
86
//of debug-output code... Don't do it!
87
NONE = 0,
88
STATS = 1,
89
MATRIX_FILES = 2,
90
BRIEF_LOGS = 3,
91
FULL_LOGS = 4,
92
ALL = 5
93
};
94
95
class
Factory;
96
class
FillableMat;
97
class
Graph;
98
class
CSRMat;
99
class
CSVec;
100
class
LogFile;
101
class
Logger;
102
class
LogManager;
103
class
Reducer;
104
class
VectorSpace;
105
class
MatrixGraph;
106
class
Param;
107
class
ParameterSet;
108
template
<
typename
T>
class
SharedIDs;
109
class
SparseRowGraph;
110
class
Vector;
111
class
Matrix;
112
class
LinearSystem;
113
template
<
typename
T>
class
ctg_set;
114
template
<
typename
T>
class
Matrix_Impl;
115
template
<
typename
T>
class
Vector_Impl;
116
}
//namespace fei
117
118
//
119
//Finally the symbols that are still in the soon-to-be-eliminated
120
//snl_fei namespace.
121
//
122
namespace
snl_fei {
123
template
<
class
RecordType>
class
Constraint
;
124
class
RecordCollection
;
125
126
class
BlockDescriptor;
127
class
PointBlockMap
;
128
129
class
Broker
;
130
class
Factory
;
131
}
132
133
#undef FEI_OSTREAM
134
135
#ifdef FEI_HAVE_IOSFWD
136
#include <iosfwd>
137
#define FEI_OSTREAM std::ostream
138
#else
139
#include <iostream.hpp>
140
#define FEI_OSTREAM ostream
141
#endif
142
143
#include <exception>
144
#include <vector>
145
146
#endif
147
BlockDescriptor
Definition
fei_BlockDescriptor.hpp:67
ConnectivityTable
Definition
fei_ConnectivityTable.hpp:22
Data
Definition
fei_Data.hpp:18
EqnBuffer
Definition
fei_EqnBuffer.hpp:21
EqnCommMgr
Definition
fei_EqnCommMgr.hpp:104
Filter
Definition
fei_Filter.hpp:27
FiniteElementData
Definition
fei_FiniteElementData.hpp:33
LinearSystemCore
Definition
fei_LinearSystemCore.hpp:124
NodeCommMgr
Definition
fei_NodeCommMgr.hpp:37
NodeDatabase
Definition
fei_NodeDatabase.hpp:66
NodeDescriptor
Definition
fei_NodeDescriptor.hpp:36
ProcEqns
Definition
fei_ProcEqns.hpp:27
SNL_FEI_Structure
Definition
SNL_FEI_Structure.hpp:43
SlaveVariable
Definition
fei_SlaveVariable.hpp:16
snl_fei::Broker
Definition
snl_fei_Broker.hpp:30
snl_fei::Constraint
Definition
snl_fei_Constraint.hpp:23
snl_fei::Factory
Definition
snl_fei_Factory.hpp:35
snl_fei::PointBlockMap
Definition
snl_fei_PointBlockMap.hpp:23
snl_fei::RecordCollection
Definition
snl_fei_RecordCollection.hpp:32
fei
Definition
fei_ArrayUtils.hpp:16
fei::OutputLevel
OutputLevel
Definition
fei_fwd.hpp:81
Generated by
1.17.0