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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26