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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1388 - (hide annotations)
Fri Jan 11 07:45:58 2008 UTC (11 years, 9 months ago) by trankine
File MIME type: text/plain
File size: 4743 byte(s)
And get the *(&(*&(* name right
1 elspeth 615
2 ksteube 1312 /* $Id$ */
3 jgs 117
4 ksteube 1312 /*******************************************************
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 jgs 117 #if !defined escript_AbstractContinuousDomain_20040528_H
17 jgs 82 #define escript_AbstractContinuousDomain_20040528_H
18    
19 woo409 757 #include "system_dep.h"
20 jgs 474 #include "AbstractDomain.h"
21 jgs 117
22 jgs 82 #include <string>
23     #include <vector>
24    
25     namespace escript {
26 jgs 117
27 jgs 82 //
28     // Forward declaration
29 jgs 480 class Data;
30 jgs 117
31 jgs 82 /**
32     \brief
33     AbstractContinuousDomain, base class for continuous domains.
34    
35     Description:
36     AbstractContinuousDomain, base class for continuous domains.
37 jgs 117
38 jgs 82 NOTE: Most of the virtual functions would be pure virtual except
39     boost.python requires a non abstract base class.
40     */
41 jgs 117 class AbstractContinuousDomain : public AbstractDomain {
42 jgs 82
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 woo409 757 ESCRIPT_DLL_API
59 jgs 82 AbstractContinuousDomain();
60 jgs 149
61     /**
62 jgs 82 \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 woo409 757 ESCRIPT_DLL_API
75 jgs 82 virtual ~AbstractContinuousDomain();
76 jgs 149
77 jgs 82 /**
78     \brief
79     Returns true if the given integer is a valid function space type
80     for this domain.
81     */
82 woo409 757 ESCRIPT_DLL_API
83 jgs 82 virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
84 jgs 149
85 jgs 82 /**
86     \brief
87     Return a description for this domain
88     */
89 woo409 757 ESCRIPT_DLL_API
90 jgs 82 virtual std::string getDescription() const;
91 jgs 149
92 jgs 82 /**
93     \brief
94     Return a continuous FunctionSpace code
95     */
96 woo409 757 ESCRIPT_DLL_API
97 jgs 82 virtual int getContinuousFunctionCode() const;
98 jgs 149
99 jgs 82 /**
100     \brief
101 gross 1062 Return a continuous on reduced order FunctionSpace code
102     */
103     ESCRIPT_DLL_API
104     virtual int getReducedContinuousFunctionCode() const;
105    
106     /**
107     \brief
108 gross 1059 Return a function FunctionSpace code
109 jgs 82 */
110 woo409 757 ESCRIPT_DLL_API
111 jgs 82 virtual int getFunctionCode() const;
112 jgs 149
113 jgs 82 /**
114     \brief
115 gross 1059 Return a function FunctionSpace code with reduced integration order
116     */
117     ESCRIPT_DLL_API
118     virtual int getReducedFunctionCode() const;
119    
120     /**
121     \brief
122 jgs 82 Return a function on boundary FunctionSpace code
123     */
124 woo409 757 ESCRIPT_DLL_API
125 jgs 82 virtual int getFunctionOnBoundaryCode() const;
126 jgs 149
127 jgs 82 /**
128     \brief
129 gross 1059 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 jgs 82 Return a FunctionOnContactZero code
138     */
139 woo409 757 ESCRIPT_DLL_API
140 jgs 82 virtual int getFunctionOnContactZeroCode() const;
141 jgs 149
142 jgs 82 /**
143     \brief
144 gross 1059 Return a FunctionOnContactZero for reduced integration order code
145     */
146     ESCRIPT_DLL_API
147     virtual int getReducedFunctionOnContactZeroCode() const;
148    
149     /**
150     \brief
151 jgs 82 Return a FunctionOnContactOne code
152     */
153 woo409 757 ESCRIPT_DLL_API
154 jgs 82 virtual int getFunctionOnContactOneCode() const;
155 jgs 149
156 jgs 82 /**
157     \brief
158 gross 1059 Return a FunctionOnContactOne for reduced integration order code
159     */
160     ESCRIPT_DLL_API
161     virtual int getReducedFunctionOnContactOneCode() const;
162    
163     /**
164     \brief
165 jgs 82 Return a Solution code
166     */
167 woo409 757 ESCRIPT_DLL_API
168 jgs 82 virtual int getSolutionCode() const;
169 jgs 149
170 jgs 82 /**
171     \brief
172     Return a ReducedSolution code
173     */
174 woo409 757 ESCRIPT_DLL_API
175 jgs 82 virtual int getReducedSolutionCode() const;
176 jgs 149
177 jgs 82 /**
178     \brief
179     Return a DiracDeltaFunction code
180     */
181 woo409 757 ESCRIPT_DLL_API
182 jgs 82 virtual int getDiracDeltaFunctionCode() const;
183 jgs 149
184 jgs 102 /**
185     \brief
186 jgs 149 return the identifier of the matrix type to be used for the global
187 jgs 150 stiffness matrix when a particular solver package
188 jgs 102 and symmetric matrix is used.
189     */
190 woo409 757 ESCRIPT_DLL_API
191 jgs 150 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
192 jgs 149
193 jgs 117 /**
194 jgs 82 \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 woo409 757 ESCRIPT_DLL_API
200 jgs 82 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
201 jgs 149
202 jgs 82 /**
203     \brief
204     Return the domain as const AbstractContinuousDomain&
205     */
206 woo409 757 ESCRIPT_DLL_API
207 jgs 82 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
208    
209     protected:
210    
211     private:
212 jgs 117
213 jgs 82 };
214    
215     } // end of namespace
216 jgs 117
217 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26