AMDiS_fwd.h 4.56 KB
Newer Older
1
2
3
4
// ============================================================================
// ==                                                                        ==
// == AMDiS - Adaptive multidimensional simulations                          ==
// ==                                                                        ==
5
// ==  http://www.amdis-fem.org                                              ==
6
7
// ==                                                                        ==
// ============================================================================
8
9
10
11
12
13
14
15
16
17
18
19
//
// Software License for AMDiS
//
// Copyright (c) 2010 Dresden University of Technology 
// All rights reserved.
// Authors: Simon Vey, Thomas Witkowski et al.
//
// This file is part of AMDiS
//
// See also license.opensource.txt in the distribution.


20
21
22
23
24
25
26

/** \file AMDiS_fwd.h */


#ifndef AMDIS_AMDIS_FWD_INCLUDE
#define AMDIS_AMDIS_FWD_INCLUDE

27
#include <boost/numeric/mtl/mtl.hpp>
Thomas Witkowski's avatar
Blub  
Thomas Witkowski committed
28
#include "OpenMP.h"
29

30
31
32
33
namespace AMDiS {

  class AdaptInfo;
  class AdaptStationary;
34
  class Assembler;
35
36
37
38
  class BasisFunction; 
  class BoundaryManager;
  class CGSolver;
  class CoarseningManager;
39
  class CouplingIterationInterface;
40
41
  class DiagonalPreconditioner; 
  class DOFAdmin; 
42
43
  class DOFContainer;
  class DOFIndexedBase;
44
  class DOFMatrix;
Thomas Witkowski's avatar
Thomas Witkowski committed
45
  class DOFVectorDOF;
46
  class Element;
47
  class ElementDofIterator;
48
  class ElInfo; 
Thomas Witkowski's avatar
Thomas Witkowski committed
49
  class ElMatrixInfo;
50
51
52
53
54
  class Estimator;
  class FastQuadrature;
  class FillInfo; 
  class FileWriterInterface;
  class FiniteElemSpace; 
Thomas Witkowski's avatar
Thomas Witkowski committed
55
  class Flag;
56
  class IdentityPreconditioner; 
57
  class InteriorBoundary;
58
59
  class LeafDataPeriodic;
  class LevelAdmin;
60
  class Line;
61
  class MacroElement;
Thomas Witkowski's avatar
Thomas Witkowski committed
62
  class MacroInfo;
63
64
  class Marker;
  class Mesh; 
65
  class MeshStructure;
66
67
  class OEMSolver;
  class Operator;
68
  class OperatorTerm;
Thomas Witkowski's avatar
Thomas Witkowski committed
69
70
  class Parametric;
  class PeriodicBC;
71
  class ProblemInstat;
72
73
  class ProblemInstatScal;
  class ProblemInstatVec;
74
  class ProblemIterationInterface;
Thomas Witkowski's avatar
Thomas Witkowski committed
75
  class ProblemStatBase;
76
  class ProblemStatSeq;
77
  class ProblemTimeInterface;
78
  class Projection;
79
80
  class PreconditionerScal;
  class Quadrature; 
81
82
83
84
85
  class Q00PsiPhi;
  class Q0Psi;
  class Q10PsiPhi;
  class Q01PsiPhi;
  class Q1Psi;
86
87
  class RCNeighbourList;
  class RefinementManager;
88
89
  class RosenbrockAdaptInstationary;
  class RosenbrockStationary;
90
  class RobinBC;
91
92
  class SubElInfo;
  class SurfaceOperator;
93
  class SMIAdapter;
94
  class SystemVector;
95
  class Tetrahedron;
Thomas Witkowski's avatar
Thomas Witkowski committed
96
  class TraverseStack;
97
  class Triangle;
98
  class VertexInfo;
99
100
  class VertexVector;

Thomas Witkowski's avatar
Thomas Witkowski committed
101
#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
102
  class ElementObjectDatabase;
Thomas Witkowski's avatar
Thomas Witkowski committed
103
  class FeSpaceDofMap;
104
  class MatrixNnzStructure;
105
  class MeshLevelData;
106
  class PetscSolver;
107
108
  class PetscSolverFeti;
  class PetscSolverFetiDebug;
Thomas Witkowski's avatar
Thomas Witkowski committed
109
110
#endif

111
112
113
  struct BoundaryObject;
  struct AtomicBoundary;

114
  template<typename ReturnType, typename ArgumentType> class AbstractFunction;
115
116
117
118
119
120
121
122
123
124
125
126
127
  template<typename ReturnType, 
	   typename ArgumentType1, 
	   typename ArgumentType2>                     class BinaryAbstractFunction;
  template<typename ReturnType, 
	   typename ArgumentType1, 
	   typename ArgumentType2,
	   typename ArgumentType3>                     class TertiaryAbstractFunction;
  template<typename ReturnType, 
	   typename ArgumentType1, 
	   typename ArgumentType2, 
	   typename ArgumentType3,
	   typename ArgumentType4>                     class QuartAbstractFunction;

128
  template<typename T>                                 class DOFIndexed;
129
130
  template<typename T>                                 class DOFVectorBase;
  template<typename T>                                 class DOFVector;
131
132
133
  template<typename T>                                 class DimVec;
  template<typename T>                                 class DimMat;
  template<typename ITLSolver>                         class ITL_OEMSolver;
134
  template<typename T, typename Vec, typename Mat >    class ITL_Preconditioner;
135
  template<typename T>                                 class Matrix;
Thomas Witkowski's avatar
Thomas Witkowski committed
136
  template<typename T>                                 class MatrixOfFixVecs;
137
138
139
  template<typename T>                                 class MatVecMultiplier;
  template<typename T>                                 class SolverMatrix;
  template<typename T>                                 class Vector;
140
  template<typename T>                                 class WorldVector;
141
142
  template<typename T>                                 class WorldMatrix;
  template<typename T>                                 class VectorOfFixVecs;
143
144
145
146
147


  typedef mtl::dense2D<double>              ElementMatrix;
  typedef mtl::dense_vector<double>         ElementVector;

148
149
150
} // namespace AMDiS

#endif // AMDIS_AMDIS_FWD_INCLUDE