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

Diff of /trunk/escript/src/AbstractDomain.h

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

revision 2421 by gross, Thu May 14 02:29:06 2009 UTC revision 2881 by jfenwick, Thu Jan 28 02:03:15 2010 UTC
# Line 1  Line 1 
1    
2  /*******************************************************  /*******************************************************
3  *  *
4  * Copyright (c) 2003-2008 by University of Queensland  * Copyright (c) 2003-2010 by University of Queensland
5  * Earth Systems Science Computational Center (ESSCC)  * Earth Systems Science Computational Center (ESSCC)
6  * http://www.uq.edu.au/esscc  * http://www.uq.edu.au/esscc
7  *  *
# Line 17  Line 17 
17    
18  #include "system_dep.h"  #include "system_dep.h"
19    
20    #include <vector>
21  #include <string>  #include <string>
22  #include <map>  #include <map>
23  #include <boost/python/dict.hpp>  #include <boost/python/dict.hpp>
# Line 133  Note: This is _not_ equivalent to weak_p Line 134  Note: This is _not_ equivalent to weak_p
134    ESCRIPT_DLL_API    ESCRIPT_DLL_API
135    virtual bool onMasterProcessor() const;    virtual bool onMasterProcessor() const;
136    
137      /**
138      \brief get the communicator for this domain.
139      Returns 0 on non-MPI builds
140      Routine must be implemented by the DomainAdapter
141      */
142      ESCRIPT_DLL_API
143      virtual
144    #ifdef PASO_MPI
145      MPI_Comm
146    #else
147      unsigned int
148    #endif
149      getMPIComm() const;
150    
151    /**    /**
152       \brief       \brief
# Line 252  Note: This is _not_ equivalent to weak_p Line 265  Note: This is _not_ equivalent to weak_p
265       \param functionSpaceType Input - The function space type.       \param functionSpaceType Input - The function space type.
266    */    */
267    ESCRIPT_DLL_API    ESCRIPT_DLL_API
268    virtual int* borrowSampleReferenceIDs(int functionSpaceType) const;    virtual const int* borrowSampleReferenceIDs(int functionSpaceType) const;
269    
270    /**    /**
271       \brief       \brief
# Line 275  Note: This is _not_ equivalent to weak_p Line 288  Note: This is _not_ equivalent to weak_p
288    virtual bool probeInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;    virtual bool probeInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;
289    
290    /**    /**
291        \brief given a vector of FunctionSpace type codes, pass back a code which then can all be interpolated to.
292        \note This method must be called on the domain which the FunctionSpaces point to
293        \return true is result is valid, false if not
294      */
295      ESCRIPT_DLL_API
296      virtual
297      bool
298      commonFunctionSpace(const std::vector<int>& fs, int& resultcode) const;
299    
300      /**
301       \brief       \brief
302       Interpolates data given on source onto target where source and target are given on different domains.       Interpolates data given on source onto target where source and target are given on different domains.
303    
# Line 368  Note: This is _not_ equivalent to weak_p Line 391  Note: This is _not_ equivalent to weak_p
391    virtual void saveVTK(const std::string& filename,const boost::python::dict& arg, const std::string& metadata, const std::string& metadata_schema) const;    virtual void saveVTK(const std::string& filename,const boost::python::dict& arg, const std::string& metadata, const std::string& metadata_schema) const;
392    
393    /**    /**
394      \brief True if this rank owns the sample(id)
395      Must be implemented by the Domain adapter
396      */
397      ESCRIPT_DLL_API
398      virtual bool ownSample(int fs_code, index_t id) const;
399    
400      /**
401       \brief assigns new tag newTag to all samples of functionspace with a positive       \brief assigns new tag newTag to all samples of functionspace with a positive
402       value of mask for any its sample point.       value of mask for any its sample point.
403    
# Line 387  Note: This is _not_ equivalent to weak_p Line 417  Note: This is _not_ equivalent to weak_p
417    
418    /**    /**
419       \brief       \brief
420       returns status of the domain.        Returns a status indicator of the domain. The status identifier should be unique over
421          the live time if the object but may be updated if changes to the domain happen, e.g.
422          modifications to its geometry.
423    
424       This has to be implemented by the actual Domain adapter.       This has to be implemented by the actual Domain adapter.
425    */    */
# Line 410  Note: This is _not_ equivalent to weak_p Line 442  Note: This is _not_ equivalent to weak_p
442    virtual int getNumberOfTagsInUse(int functionSpaceCode) const;    virtual int getNumberOfTagsInUse(int functionSpaceCode) const;
443    
444    ESCRIPT_DLL_API    ESCRIPT_DLL_API
445    virtual int* borrowListOfTagsInUse(int functionSpaceCode) const;    virtual const int* borrowListOfTagsInUse(int functionSpaceCode) const;
446    
447    /**    /**
448      \brief Checks if this domain allows tags for the specified functionSpaceCode.      \brief Checks if this domain allows tags for the specified functionSpaceCode.
# Line 418  Note: This is _not_ equivalent to weak_p Line 450  Note: This is _not_ equivalent to weak_p
450    ESCRIPT_DLL_API    ESCRIPT_DLL_API
451    virtual bool canTag(int functionspacecode) const;    virtual bool canTag(int functionspacecode) const;
452    
453       /**
454       \brief returns the approximation order used for a function space functionSpaceCode
455       */
456    
457       ESCRIPT_DLL_API
458       virtual int getApproximationOrder(const int functionSpaceCode) const;
459    
460    
461   protected:   protected:
462    
463   private:   private:

Legend:
Removed from v.2421  
changed lines
  Added in v.2881

  ViewVC Help
Powered by ViewVC 1.1.26