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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 757 - (hide annotations)
Mon Jun 26 13:12:56 2006 UTC (13 years, 3 months ago) by woo409
File MIME type: text/plain
File size: 4018 byte(s)
+ Merge of intelc_win32 branch (revision 741:755) with trunk. Tested on iVEC altix (run_tests and py_tests all pass)

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     Return a functon FunctionSpace code
101     */
102 woo409 757 ESCRIPT_DLL_API
103 jgs 82 virtual int getFunctionCode() const;
104 jgs 149
105 jgs 82 /**
106     \brief
107     Return a function on boundary FunctionSpace code
108     */
109 woo409 757 ESCRIPT_DLL_API
110 jgs 82 virtual int getFunctionOnBoundaryCode() const;
111 jgs 149
112 jgs 82 /**
113     \brief
114     Return a FunctionOnContactZero code
115     */
116 woo409 757 ESCRIPT_DLL_API
117 jgs 82 virtual int getFunctionOnContactZeroCode() const;
118 jgs 149
119 jgs 82 /**
120     \brief
121     Return a FunctionOnContactOne code
122     */
123 woo409 757 ESCRIPT_DLL_API
124 jgs 82 virtual int getFunctionOnContactOneCode() const;
125 jgs 149
126 jgs 82 /**
127     \brief
128     Return a Solution code
129     */
130 woo409 757 ESCRIPT_DLL_API
131 jgs 82 virtual int getSolutionCode() const;
132 jgs 149
133 jgs 82 /**
134     \brief
135     Return a ReducedSolution code
136     */
137 woo409 757 ESCRIPT_DLL_API
138 jgs 82 virtual int getReducedSolutionCode() const;
139 jgs 149
140 jgs 82 /**
141     \brief
142     Return a DiracDeltaFunction code
143     */
144 woo409 757 ESCRIPT_DLL_API
145 jgs 82 virtual int getDiracDeltaFunctionCode() const;
146 jgs 149
147 jgs 102 /**
148     \brief
149 jgs 149 return the identifier of the matrix type to be used for the global
150 jgs 150 stiffness matrix when a particular solver package
151 jgs 102 and symmetric matrix is used.
152     */
153 woo409 757 ESCRIPT_DLL_API
154 jgs 150 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
155 jgs 149
156 jgs 117 /**
157 jgs 82 \brief
158     copies the integrals of the function defined by arg into integrals.
159     arg has to be defined on this.
160     has to be implemented by the Domain Adapter.
161     */
162 woo409 757 ESCRIPT_DLL_API
163 jgs 82 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
164 jgs 149
165 jgs 82 /**
166     \brief
167     Return the domain as const AbstractContinuousDomain&
168     */
169 woo409 757 ESCRIPT_DLL_API
170 jgs 82 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
171    
172     protected:
173    
174     private:
175 jgs 117
176 jgs 82 };
177    
178     } // end of namespace
179 jgs 117
180 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26