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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 102 - (hide annotations)
Wed Dec 15 07:08:39 2004 UTC (14 years, 11 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 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    
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 jgs 102 /**
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 jgs 82 /**
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 jgs 102
141 jgs 82 /**
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