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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 615 - (show annotations)
Wed Mar 22 02:12:00 2006 UTC (13 years, 6 months ago) by elspeth
File MIME type: text/plain
File size: 3709 byte(s)
More copyright information.

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 "AbstractDomain.h"
19
20 #include <string>
21 #include <vector>
22
23 namespace escript {
24
25 //
26 // Forward declaration
27 class Data;
28
29 /**
30 \brief
31 AbstractContinuousDomain, base class for continuous domains.
32
33 Description:
34 AbstractContinuousDomain, base class for continuous domains.
35
36 NOTE: Most of the virtual functions would be pure virtual except
37 boost.python requires a non abstract base class.
38 */
39 class AbstractContinuousDomain : public AbstractDomain {
40
41 public:
42
43 /**
44 \brief
45 Default constructor for AbstractContinuousDomain
46
47 Description:
48 Default constructor for AbstractContinuousDomain
49
50 Preconditions:
51 Describe any preconditions
52
53 Throws:
54 Describe any exceptions thrown
55 */
56 AbstractContinuousDomain();
57
58 /**
59 \brief
60 Destructor for AbstractContinuousDomain
61
62 Description:
63 Destructor for AbstractContinuousDomain
64
65 Preconditions:
66 Describe any preconditions
67
68 Throws:
69 Describe any exceptions thrown
70 */
71 virtual ~AbstractContinuousDomain();
72
73 /**
74 \brief
75 Returns true if the given integer is a valid function space type
76 for this domain.
77 */
78 virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
79
80 /**
81 \brief
82 Return a description for this domain
83 */
84 virtual std::string getDescription() const;
85
86 /**
87 \brief
88 Return a continuous FunctionSpace code
89 */
90 virtual int getContinuousFunctionCode() const;
91
92 /**
93 \brief
94 Return a functon FunctionSpace code
95 */
96 virtual int getFunctionCode() const;
97
98 /**
99 \brief
100 Return a function on boundary FunctionSpace code
101 */
102 virtual int getFunctionOnBoundaryCode() const;
103
104 /**
105 \brief
106 Return a FunctionOnContactZero code
107 */
108 virtual int getFunctionOnContactZeroCode() const;
109
110 /**
111 \brief
112 Return a FunctionOnContactOne code
113 */
114 virtual int getFunctionOnContactOneCode() const;
115
116 /**
117 \brief
118 Return a Solution code
119 */
120 virtual int getSolutionCode() const;
121
122 /**
123 \brief
124 Return a ReducedSolution code
125 */
126 virtual int getReducedSolutionCode() const;
127
128 /**
129 \brief
130 Return a DiracDeltaFunction code
131 */
132 virtual int getDiracDeltaFunctionCode() const;
133
134 /**
135 \brief
136 return the identifier of the matrix type to be used for the global
137 stiffness matrix when a particular solver package
138 and symmetric matrix is used.
139 */
140 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
141
142 /**
143 \brief
144 copies the integrals of the function defined by arg into integrals.
145 arg has to be defined on this.
146 has to be implemented by the Domain Adapter.
147 */
148 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
149
150 /**
151 \brief
152 Return the domain as const AbstractContinuousDomain&
153 */
154 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
155
156 protected:
157
158 private:
159
160 };
161
162 } // end of namespace
163
164 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26