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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26