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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 100 - (show annotations)
Wed Dec 15 03:48:48 2004 UTC (14 years, 9 months ago) by jgs
Original Path: trunk/esys2/escript/src/Data/AbstractContinuousDomain.h
File MIME type: text/plain
File size: 3963 byte(s)
*** empty log message ***

1 /*
2 ******************************************************************************
3 * *
4 * COPYRIGHT ACcESS 2004 - All Rights Reserved *
5 * *
6 * This software is the property of ACcESS. No part of this code *
7 * may be copied in any form or by any means without the expressed written *
8 * consent of ACcESS. Copying, use or modification of this software *
9 * by any unauthorised person is illegal unless that person has a software *
10 * license agreement with ACcESS. *
11 * *
12 ******************************************************************************
13 */
14
15 #if !defined escript_AbstractContinuousDomain_20040528_H
16 #define escript_AbstractContinuousDomain_20040528_H
17
18 #include "escript/Data/AbstractDomain.h"
19 #include "escript/Data/AbstractSystemMatrix.h"
20 #include "escript/Data/Data.h"
21 #include <boost/python/tuple.hpp>
22 #include <boost/python/object.hpp>
23
24 #include <string>
25 #include <vector>
26
27 namespace escript {
28 //
29 // Forward declaration
30 class FunctionSpace;
31 /**
32 \brief
33 AbstractContinuousDomain, base class for continuous domains.
34
35 Description:
36 AbstractContinuousDomain, base class for continuous domains.
37 NOTE: Most of the virtual functions would be pure virtual except
38 boost.python requires a non abstract base class.
39 */
40 class AbstractContinuousDomain:public AbstractDomain {
41
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 AbstractContinuousDomain();
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 \brief
81 Return a description for this domain
82 */
83 virtual std::string getDescription() const;
84 /**
85 \brief
86 Return a continuous FunctionSpace code
87 */
88 virtual int getContinuousFunctionCode() const;
89 /**
90 \brief
91 Return a functon FunctionSpace code
92 */
93 virtual int getFunctionCode() const;
94 /**
95 \brief
96 Return a function on boundary FunctionSpace code
97 */
98 virtual int getFunctionOnBoundaryCode() const;
99 /**
100 \brief
101 Return a FunctionOnContactZero code
102 */
103 virtual int getFunctionOnContactZeroCode() const;
104 /**
105 \brief
106 Return a FunctionOnContactOne code
107 */
108 virtual int getFunctionOnContactOneCode() const;
109 /**
110 \brief
111 Return a Solution code
112 */
113 virtual int getSolutionCode() const;
114 /**
115 \brief
116 Return a ReducedSolution code
117 */
118 virtual int getReducedSolutionCode() const;
119 /**
120 \brief
121 Return a DiracDeltaFunction code
122 */
123 virtual int getDiracDeltaFunctionCode() const;
124
125 /**
126 \brief
127 copies the integrals of the function defined by arg into integrals.
128 arg has to be defined on this.
129 has to be implemented by the Domain Adapter.
130 */
131 virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
132 /**
133 \brief
134 Return the domain as const AbstractContinuousDomain&
135 */
136 static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
137
138 protected:
139
140 private:
141 };
142
143 } // end of namespace
144 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26