/[escript]/trunk/escript/src/AbstractContinuousDomain.h
ViewVC logotype

Contents of /trunk/escript/src/AbstractContinuousDomain.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1059 - (show annotations)
Fri Mar 23 11:01:53 2007 UTC (12 years, 7 months ago) by gross
File MIME type: text/plain
File size: 4717 byte(s)
first steps toward reduced element integration order. The escript bit is done but the finley part still needs work.
1 //$Id$
2 /*
3 ************************************************************
4 * Copyright 2006 by ACcESS MNRF *
5 * *
6 * http://www.access.edu.au *
7 * Primary Business: Queensland, Australia *
8 * Licensed under the Open Software License version 3.0 *
9 * http://www.opensource.org/licenses/osl-3.0.php *
10 * *
11 ************************************************************
12
13 */
14
15 #if !defined escript_AbstractContinuousDomain_20040528_H
16 #define escript_AbstractContinuousDomain_20040528_H
17
18 #include "system_dep.h"
19 #include "AbstractDomain.h"
20
21 #include <string>
22 #include <vector>
23
24 namespace escript {
25
26 //
27 // Forward declaration
28 class Data;
29
30 /**
31 \brief
32 AbstractContinuousDomain, base class for continuous domains.
33
34 Description:
35 AbstractContinuousDomain, base class for continuous domains.
36
37 NOTE: Most of the virtual functions would be pure virtual except
38 boost.python requires a non abstract base class.
39 */
40 class AbstractContinuousDomain : public AbstractDomain {
41
42 public:
43
44 /**
45 \brief
46 Default constructor for AbstractContinuousDomain
47
48 Description:
49 Default constructor for AbstractContinuousDomain
50
51 Preconditions:
52 Describe any preconditions
53
54 Throws:
55 Describe any exceptions thrown
56 */
57 ESCRIPT_DLL_API
58 AbstractContinuousDomain();
59
60 /**
61 \brief
62 Destructor for AbstractContinuousDomain
63
64 Description:
65 Destructor for AbstractContinuousDomain
66
67 Preconditions:
68 Describe any preconditions
69
70 Throws:
71 Describe any exceptions thrown
72 */
73 ESCRIPT_DLL_API
74 virtual ~AbstractContinuousDomain();
75
76 /**
77 \brief
78 Returns true if the given integer is a valid function space type
79 for this domain.
80 */
81 ESCRIPT_DLL_API
82 virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
83
84 /**
85 \brief
86 Return a description for this domain
87 */
88 ESCRIPT_DLL_API
89 virtual std::string getDescription() const;
90
91 /**
92 \brief
93 Return a continuous FunctionSpace code
94 */
95 ESCRIPT_DLL_API
96 virtual int getContinuousFunctionCode() const;
97
98 /**
99 \brief
100 Return a function FunctionSpace code
101 */
102 ESCRIPT_DLL_API
103 virtual int getFunctionCode() const;
104
105 /**
106 \brief
107 Return a function FunctionSpace code with reduced integration order
108 */
109 ESCRIPT_DLL_API
110 virtual int getReducedFunctionCode() const;
111
112 /**
113 \brief
114 Return a function on boundary FunctionSpace code
115 */
116 ESCRIPT_DLL_API
117 virtual int getFunctionOnBoundaryCode() const;
118
119 /**
120 \brief
121 Return a code for a function on boundary FunctionSpace with reduced integration order
122 */
123 ESCRIPT_DLL_API
124 virtual int getReducedFunctionOnBoundaryCode() const;
125
126
127 /**
128 \brief
129 Return a FunctionOnContactZero code
130 */
131 ESCRIPT_DLL_API
132 virtual int getFunctionOnContactZeroCode() const;
133
134 /**
135 \brief
136 Return a FunctionOnContactZero for reduced integration order code
137 */
138 ESCRIPT_DLL_API
139 virtual int getReducedFunctionOnContactZeroCode() const;
140
141 /**
142 \brief
143 Return a FunctionOnContactOne code
144 */
145 ESCRIPT_DLL_API
146 virtual int getFunctionOnContactOneCode() const;
147
148 /**
149 \brief
150 Return a FunctionOnContactOne for reduced integration order code
151 */
152 ESCRIPT_DLL_API
153 virtual int getReducedFunctionOnContactOneCode() const;
154
155 /**
156 \brief
157 Return a Solution code
158 */
159 ESCRIPT_DLL_API
160 virtual int getSolutionCode() const;
161
162 /**
163 \brief
164 Return a ReducedSolution code
165 */
166 ESCRIPT_DLL_API
167 virtual int getReducedSolutionCode() const;
168
169 /**
170 \brief
171 Return a DiracDeltaFunction code
172 */
173 ESCRIPT_DLL_API
174 virtual int getDiracDeltaFunctionCode() const;
175
176 /**
177 \brief
178 return the identifier of the matrix type to be used for the global
179 stiffness matrix when a particular solver package
180 and symmetric matrix is used.
181 */
182 ESCRIPT_DLL_API
183 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
184
185 /**
186 \brief
187 copies the integrals of the function defined by arg into integrals.
188 arg has to be defined on this.
189 has to be implemented by the Domain Adapter.
190 */
191 ESCRIPT_DLL_API
192 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
193
194 /**
195 \brief
196 Return the domain as const AbstractContinuousDomain&
197 */
198 ESCRIPT_DLL_API
199 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
200
201 protected:
202
203 private:
204
205 };
206
207 } // end of namespace
208
209 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26