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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 155 - (hide annotations)
Wed Nov 9 02:02:19 2005 UTC (13 years, 11 months ago) by jgs
Original Path: trunk/escript/src/Data/AbstractContinuousDomain.h
File MIME type: text/plain
File size: 4200 byte(s)
move all directories from trunk/esys2 into trunk and remove esys2

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

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26