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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 117 - (show annotations)
Fri Apr 1 05:48:57 2005 UTC (14 years, 6 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/AbstractContinuousDomain.h
File MIME type: text/plain
File size: 4170 byte(s)
*** empty log message ***

1 //$Id$
2 /*
3 ******************************************************************************
4 * *
5 * COPYRIGHT ACcESS 2004 - All Rights Reserved *
6 * *
7 * This software is the property of ACcESS. No part of this code *
8 * may be copied in any form or by any means without the expressed written *
9 * consent of ACcESS. Copying, use or modification of this software *
10 * by any unauthorised person is illegal unless that person has a software *
11 * license agreement with ACcESS. *
12 * *
13 ******************************************************************************
14 */
15
16 #if !defined escript_AbstractContinuousDomain_20040528_H
17 #define escript_AbstractContinuousDomain_20040528_H
18
19 #include "escript/Data/AbstractDomain.h"
20 #include "escript/Data/AbstractSystemMatrix.h"
21 #include "escript/Data/Data.h"
22
23 #include <boost/python/tuple.hpp>
24 #include <boost/python/object.hpp>
25
26 #include <string>
27 #include <vector>
28
29 namespace escript {
30
31 //
32 // Forward declaration
33 class FunctionSpace;
34
35 /**
36 \brief
37 AbstractContinuousDomain, base class for continuous domains.
38
39 Description:
40 AbstractContinuousDomain, base class for continuous domains.
41
42 NOTE: Most of the virtual functions would be pure virtual except
43 boost.python requires a non abstract base class.
44 */
45 class AbstractContinuousDomain : public AbstractDomain {
46
47 public:
48
49 /**
50 \brief
51 Default constructor for AbstractContinuousDomain
52
53 Description:
54 Default constructor for AbstractContinuousDomain
55
56 Preconditions:
57 Describe any preconditions
58
59 Throws:
60 Describe any exceptions thrown
61 */
62 AbstractContinuousDomain();
63 /**
64 \brief
65 Destructor for AbstractContinuousDomain
66
67 Description:
68 Destructor for AbstractContinuousDomain
69
70 Preconditions:
71 Describe any preconditions
72
73 Throws:
74 Describe any exceptions thrown
75 */
76 virtual ~AbstractContinuousDomain();
77 /**
78 \brief
79 Returns true if the given integer is a valid function space type
80 for this domain.
81 */
82 virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
83 /**
84 \brief
85 Return a description for this domain
86 */
87 virtual std::string getDescription() const;
88 /**
89 \brief
90 Return a continuous FunctionSpace code
91 */
92 virtual int getContinuousFunctionCode() const;
93 /**
94 \brief
95 Return a functon FunctionSpace code
96 */
97 virtual int getFunctionCode() const;
98 /**
99 \brief
100 Return a function on boundary FunctionSpace code
101 */
102 virtual int getFunctionOnBoundaryCode() const;
103 /**
104 \brief
105 Return a FunctionOnContactZero code
106 */
107 virtual int getFunctionOnContactZeroCode() const;
108 /**
109 \brief
110 Return a FunctionOnContactOne code
111 */
112 virtual int getFunctionOnContactOneCode() const;
113 /**
114 \brief
115 Return a Solution code
116 */
117 virtual int getSolutionCode() const;
118 /**
119 \brief
120 Return a ReducedSolution code
121 */
122 virtual int getReducedSolutionCode() const;
123 /**
124 \brief
125 Return a DiracDeltaFunction code
126 */
127 virtual int getDiracDeltaFunctionCode() const;
128 /**
129 \brief
130 return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, preconditioner
131 and symmetric matrix is used.
132 */
133 virtual int getSystemMatrixTypeId(const int solver, const bool symmetry) const;
134 /**
135 \brief
136 copies the integrals of the function defined by arg into integrals.
137 arg has to be defined on this.
138 has to be implemented by the Domain Adapter.
139 */
140 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
141 /**
142 \brief
143 Return the domain as const AbstractContinuousDomain&
144 */
145 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
146
147 protected:
148
149 private:
150
151 };
152
153 } // end of namespace
154
155 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26