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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 100 - (hide annotations)
Wed Dec 15 03:48:48 2004 UTC (14 years, 10 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 jgs 82 /*
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