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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1059 - (hide 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 jgs 102 //$Id$
2 jgs 82 /*
3 elspeth 615 ************************************************************
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 jgs 82 */
14 jgs 117
15     #if !defined escript_AbstractContinuousDomain_20040528_H
16 jgs 82 #define escript_AbstractContinuousDomain_20040528_H
17    
18 woo409 757 #include "system_dep.h"
19 jgs 474 #include "AbstractDomain.h"
20 jgs 117
21 jgs 82 #include <string>
22     #include <vector>
23    
24     namespace escript {
25 jgs 117
26 jgs 82 //
27     // Forward declaration
28 jgs 480 class Data;
29 jgs 117
30 jgs 82 /**
31     \brief
32     AbstractContinuousDomain, base class for continuous domains.
33    
34     Description:
35     AbstractContinuousDomain, base class for continuous domains.
36 jgs 117
37 jgs 82 NOTE: Most of the virtual functions would be pure virtual except
38     boost.python requires a non abstract base class.
39     */
40 jgs 117 class AbstractContinuousDomain : public AbstractDomain {
41 jgs 82
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 woo409 757 ESCRIPT_DLL_API
58 jgs 82 AbstractContinuousDomain();
59 jgs 149
60     /**
61 jgs 82 \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 woo409 757 ESCRIPT_DLL_API
74 jgs 82 virtual ~AbstractContinuousDomain();
75 jgs 149
76 jgs 82 /**
77     \brief
78     Returns true if the given integer is a valid function space type
79     for this domain.
80     */
81 woo409 757 ESCRIPT_DLL_API
82 jgs 82 virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
83 jgs 149
84 jgs 82 /**
85     \brief
86     Return a description for this domain
87     */
88 woo409 757 ESCRIPT_DLL_API
89 jgs 82 virtual std::string getDescription() const;
90 jgs 149
91 jgs 82 /**
92     \brief
93     Return a continuous FunctionSpace code
94     */
95 woo409 757 ESCRIPT_DLL_API
96 jgs 82 virtual int getContinuousFunctionCode() const;
97 jgs 149
98 jgs 82 /**
99     \brief
100 gross 1059 Return a function FunctionSpace code
101 jgs 82 */
102 woo409 757 ESCRIPT_DLL_API
103 jgs 82 virtual int getFunctionCode() const;
104 jgs 149
105 jgs 82 /**
106     \brief
107 gross 1059 Return a function FunctionSpace code with reduced integration order
108     */
109     ESCRIPT_DLL_API
110     virtual int getReducedFunctionCode() const;
111    
112     /**
113     \brief
114 jgs 82 Return a function on boundary FunctionSpace code
115     */
116 woo409 757 ESCRIPT_DLL_API
117 jgs 82 virtual int getFunctionOnBoundaryCode() const;
118 jgs 149
119 jgs 82 /**
120     \brief
121 gross 1059 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 jgs 82 Return a FunctionOnContactZero code
130     */
131 woo409 757 ESCRIPT_DLL_API
132 jgs 82 virtual int getFunctionOnContactZeroCode() const;
133 jgs 149
134 jgs 82 /**
135     \brief
136 gross 1059 Return a FunctionOnContactZero for reduced integration order code
137     */
138     ESCRIPT_DLL_API
139     virtual int getReducedFunctionOnContactZeroCode() const;
140    
141     /**
142     \brief
143 jgs 82 Return a FunctionOnContactOne code
144     */
145 woo409 757 ESCRIPT_DLL_API
146 jgs 82 virtual int getFunctionOnContactOneCode() const;
147 jgs 149
148 jgs 82 /**
149     \brief
150 gross 1059 Return a FunctionOnContactOne for reduced integration order code
151     */
152     ESCRIPT_DLL_API
153     virtual int getReducedFunctionOnContactOneCode() const;
154    
155     /**
156     \brief
157 jgs 82 Return a Solution code
158     */
159 woo409 757 ESCRIPT_DLL_API
160 jgs 82 virtual int getSolutionCode() const;
161 jgs 149
162 jgs 82 /**
163     \brief
164     Return a ReducedSolution code
165     */
166 woo409 757 ESCRIPT_DLL_API
167 jgs 82 virtual int getReducedSolutionCode() const;
168 jgs 149
169 jgs 82 /**
170     \brief
171     Return a DiracDeltaFunction code
172     */
173 woo409 757 ESCRIPT_DLL_API
174 jgs 82 virtual int getDiracDeltaFunctionCode() const;
175 jgs 149
176 jgs 102 /**
177     \brief
178 jgs 149 return the identifier of the matrix type to be used for the global
179 jgs 150 stiffness matrix when a particular solver package
180 jgs 102 and symmetric matrix is used.
181     */
182 woo409 757 ESCRIPT_DLL_API
183 jgs 150 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
184 jgs 149
185 jgs 117 /**
186 jgs 82 \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 woo409 757 ESCRIPT_DLL_API
192 jgs 82 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
193 jgs 149
194 jgs 82 /**
195     \brief
196     Return the domain as const AbstractContinuousDomain&
197     */
198 woo409 757 ESCRIPT_DLL_API
199 jgs 82 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
200    
201     protected:
202    
203     private:
204 jgs 117
205 jgs 82 };
206    
207     } // end of namespace
208 jgs 117
209 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26