/[escript]/trunk/bruce/src/Bruce/Bruce.h
ViewVC logotype

Diff of /trunk/bruce/src/Bruce/Bruce.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/esys2/bruce/src/Bruce/Bruce.h revision 151 by jgs, Thu Sep 22 01:55:00 2005 UTC trunk/bruce/src/Bruce/Bruce.h revision 155 by jgs, Wed Nov 9 02:02:19 2005 UTC
# Line 40  class Bruce : public escript::AbstractCo Line 40  class Bruce : public escript::AbstractCo
40    
41    //    //
42    // Codes for function space types supported    // Codes for function space types supported
43    static const int ContinuousFunction;    static const int ContinuousFunction;  // data is on the nodes
44    static const int Function;    static const int Function;            // data is on the cell centres
45    
46    //    //
47    // Type of FunctionSpaceNamesMap    // Type of FunctionSpaceNamesMap
# Line 195  class Bruce : public escript::AbstractCo Line 195  class Bruce : public escript::AbstractCo
195    
196    /**    /**
197       \brief       \brief
198         Return the number of samples
199         needed to represent data on parts of the mesh.
200      */
201      int
202      getNumSamples(int functionSpaceCode) const;
203    
204      /**
205         \brief
206         Return the number of data-points per sample
207         needed to represent data on parts of the mesh.
208      */
209      inline
210      int
211      getNumDataPointsPerSample(int functionSpaceCode) const
212      {
213        return 1;
214      }
215    
216      /**
217         \brief
218       Returns the locations in the domain of the FEM nodes.       Returns the locations in the domain of the FEM nodes.
219    */    */
220    virtual    virtual
# Line 227  class Bruce : public escript::AbstractCo Line 247  class Bruce : public escript::AbstractCo
247    
248    /**    /**
249       \brief       \brief
250         Copies the gradient of arg into grad. The actual function space to be considered
251         for the gradient is defined by grad. arg and grad have to be defined on this.
252      */
253      virtual
254      void
255      setToGradient(escript::Data& grad,
256                    const escript::Data& arg) const;
257    
258      /**
259         \brief
260       Comparison operators.       Comparison operators.
261    */    */
262    virtual bool operator==(const AbstractDomain& other) const;    virtual bool operator==(const AbstractDomain& other) const;
263    virtual bool operator!=(const AbstractDomain& other) const;    virtual bool operator!=(const AbstractDomain& other) const;
264    
265      /*
266         \brief
267         Return the tag key for the given sample number.
268         NB: tags are not implemented on Bruce, so this method always returns 0.
269      */
270      virtual
271      inline
272      int
273      getTagFromSampleNo(int functionSpaceCode,
274                         int sampleNo) const
275      {
276        return 0;
277      }
278    
279      /**
280         \brief
281         Return the reference number of the given sample number.
282      */
283      virtual
284      int
285      getReferenceNoFromSampleNo(int functionSpaceCode,
286                                 int sampleNo) const;
287    
288      /**
289         \brief
290         Saves a dictionary of Data objects to a VTK XML input file.
291         The dictionary consists of pairs of Data objects plus a name
292         for each. Each Data object must be defined on this domain.
293      */
294      virtual
295      void
296      saveVTK(const std::string& filename,
297              const boost::python::dict& dataDict) const;
298    
299      /**
300         \brief
301         Interpolates data given on source onto target where source and target
302         have to be given on the same domain.
303      */
304      virtual
305      void
306      interpolateOnDomain(escript::Data& target,
307                          const escript::Data& source) const;
308    
309      virtual
310      bool
311      probeInterpolationOnDomain(int functionSpaceType_source,
312                                 int functionSpaceType_target) const;
313    
314      /**
315         \brief
316         Interpolates data given on source onto target where source and target
317         are given on different domains.
318      */
319      virtual
320      void
321      interpolateACross(escript::Data& target,
322                        const escript::Data& source) const;
323    
324      virtual
325      bool
326      probeInterpolationACross(int functionSpaceType_source,
327                               const AbstractDomain& targetDomain,
328                               int functionSpaceType_target) const;
329    
330   protected:   protected:
331    
332    /**    /**

Legend:
Removed from v.151  
changed lines
  Added in v.155

  ViewVC Help
Powered by ViewVC 1.1.26