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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 480 - (hide annotations)
Wed Feb 1 05:15:12 2006 UTC (13 years, 8 months ago) by jgs
File MIME type: text/plain
File size: 4030 byte(s)
rationalise #includes and forward declarations

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 jgs 474 #include "AbstractDomain.h"
20 jgs 117
21 jgs 82 #include <string>
22     #include <vector>
23    
24     namespace escript {
25 jgs 117
26 jgs 82 //
27     // Forward declaration
28 jgs 480 class Data;
29 jgs 117
30 jgs 82 /**
31     \brief
32     AbstractContinuousDomain, base class for continuous domains.
33    
34     Description:
35     AbstractContinuousDomain, base class for continuous domains.
36 jgs 117
37 jgs 82 NOTE: Most of the virtual functions would be pure virtual except
38     boost.python requires a non abstract base class.
39     */
40 jgs 117 class AbstractContinuousDomain : public AbstractDomain {
41 jgs 82
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 jgs 149
59     /**
60 jgs 82 \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 jgs 149
74 jgs 82 /**
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 jgs 149
81 jgs 82 /**
82     \brief
83     Return a description for this domain
84     */
85     virtual std::string getDescription() const;
86 jgs 149
87 jgs 82 /**
88     \brief
89     Return a continuous FunctionSpace code
90     */
91     virtual int getContinuousFunctionCode() const;
92 jgs 149
93 jgs 82 /**
94     \brief
95     Return a functon FunctionSpace code
96     */
97     virtual int getFunctionCode() const;
98 jgs 149
99 jgs 82 /**
100     \brief
101     Return a function on boundary FunctionSpace code
102     */
103     virtual int getFunctionOnBoundaryCode() const;
104 jgs 149
105 jgs 82 /**
106     \brief
107     Return a FunctionOnContactZero code
108     */
109     virtual int getFunctionOnContactZeroCode() const;
110 jgs 149
111 jgs 82 /**
112     \brief
113     Return a FunctionOnContactOne code
114     */
115     virtual int getFunctionOnContactOneCode() const;
116 jgs 149
117 jgs 82 /**
118     \brief
119     Return a Solution code
120     */
121     virtual int getSolutionCode() const;
122 jgs 149
123 jgs 82 /**
124     \brief
125     Return a ReducedSolution code
126     */
127     virtual int getReducedSolutionCode() const;
128 jgs 149
129 jgs 82 /**
130     \brief
131     Return a DiracDeltaFunction code
132     */
133     virtual int getDiracDeltaFunctionCode() const;
134 jgs 149
135 jgs 102 /**
136     \brief
137 jgs 149 return the identifier of the matrix type to be used for the global
138 jgs 150 stiffness matrix when a particular solver package
139 jgs 102 and symmetric matrix is used.
140     */
141 jgs 150 virtual int getSystemMatrixTypeId(const int solver, const int package, const bool symmetry) const;
142 jgs 149
143 jgs 117 /**
144 jgs 82 \brief
145     copies the integrals of the function defined by arg into integrals.
146     arg has to be defined on this.
147     has to be implemented by the Domain Adapter.
148     */
149     virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
150 jgs 149
151 jgs 82 /**
152     \brief
153     Return the domain as const AbstractContinuousDomain&
154     */
155     static const AbstractContinuousDomain& asAbstractContinuousDomain(const AbstractDomain& domain);
156    
157     protected:
158    
159     private:
160 jgs 117
161 jgs 82 };
162    
163     } // end of namespace
164 jgs 117
165 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26