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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 117 - (hide 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 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     /**
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 jgs 102 /**
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 jgs 117 /**
135 jgs 82 \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 jgs 117
151 jgs 82 };
152    
153     } // end of namespace
154 jgs 117
155 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26