/[escript]/trunk/finley/src/CPPAdapter/MeshAdapter.h
ViewVC logotype

Diff of /trunk/finley/src/CPPAdapter/MeshAdapter.h

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

revision 5147 by caltinay, Wed Aug 20 10:32:40 2014 UTC revision 5148 by caltinay, Mon Sep 15 01:25:23 2014 UTC
# Line 78  struct null_deleter Line 78  struct null_deleter
78     \brief implements the AbstractContinuousDomain interface for the Finley     \brief implements the AbstractContinuousDomain interface for the Finley
79            library.            library.
80  */  */
81    class FINLEY_DLL_API MeshAdapter : public escript::AbstractContinuousDomain
82  class MeshAdapter : public escript::AbstractContinuousDomain {  {
83    public:
  public:  
   
84    //    //
85    // Codes for function space types supported    // Codes for function space types supported
86    static const int DegreesOfFreedom;    static const int DegreesOfFreedom;
# Line 117  class MeshAdapter : public escript::Abst Line 115  class MeshAdapter : public escript::Abst
115                                 Finley_Mesh_free in the MeshAdapter                                 Finley_Mesh_free in the MeshAdapter
116                                 destructor.                                 destructor.
117    */    */
   FINLEY_DLL_API  
118    MeshAdapter(Mesh* finleyMesh=0);    MeshAdapter(Mesh* finleyMesh=0);
119    
120    /**    /**
121       \brief       \brief
122       Copy constructor.       Copy constructor.
123    */    */
   FINLEY_DLL_API  
124    MeshAdapter(const MeshAdapter& in);    MeshAdapter(const MeshAdapter& in);
125    
126    /**    /**
# Line 133  class MeshAdapter : public escript::Abst Line 129  class MeshAdapter : public escript::Abst
129       this calls Finley_Mesh_free for the pointer given to the       this calls Finley_Mesh_free for the pointer given to the
130       constructor.       constructor.
131    */    */
   FINLEY_DLL_API  
132    ~MeshAdapter();    ~MeshAdapter();
133    
134    /**    /**
135       \brief       \brief
136       return the number of processors used for this domain       return the number of processors used for this domain
137    */    */
   FINLEY_DLL_API  
138    virtual int getMPISize() const;    virtual int getMPISize() const;
139    /**    /**
140       \brief       \brief
141       return the number MPI rank of this processor       return the number MPI rank of this processor
142    */    */
143    
   FINLEY_DLL_API  
144    virtual int getMPIRank() const;    virtual int getMPIRank() const;
145    
146    /**    /**
# Line 155  class MeshAdapter : public escript::Abst Line 148  class MeshAdapter : public escript::Abst
148       If compiled for MPI then execute an MPI_Barrier, else do nothing       If compiled for MPI then execute an MPI_Barrier, else do nothing
149    */    */
150    
   FINLEY_DLL_API  
151    virtual void MPIBarrier() const;    virtual void MPIBarrier() const;
152    
153    /**    /**
# Line 163  class MeshAdapter : public escript::Abst Line 155  class MeshAdapter : public escript::Abst
155       Return true if on MPI processor 0, else false       Return true if on MPI processor 0, else false
156    */    */
157    
   FINLEY_DLL_API  
158    virtual bool onMasterProcessor() const;    virtual bool onMasterProcessor() const;
159    
   FINLEY_DLL_API  
160    MPI_Comm getMPIComm() const;    MPI_Comm getMPIComm() const;
161    
162    /**    /**
# Line 174  class MeshAdapter : public escript::Abst Line 164  class MeshAdapter : public escript::Abst
164       Write the current mesh to a file with the given name.       Write the current mesh to a file with the given name.
165       \param fileName Input - The name of the file to write to.       \param fileName Input - The name of the file to write to.
166    */    */
   FINLEY_DLL_API  
167    void write(const std::string& fileName) const;    void write(const std::string& fileName) const;
168    
169    /**    /**
170       \brief       \brief
171       \param full       \param full
172    */    */
   FINLEY_DLL_API  
173    void Print_Mesh_Info(const bool full=false) const;    void Print_Mesh_Info(const bool full=false) const;
174    
175    /**    /**
# Line 189  class MeshAdapter : public escript::Abst Line 177  class MeshAdapter : public escript::Abst
177       dumps the mesh to a file with the given name.       dumps the mesh to a file with the given name.
178       \param fileName Input - The name of the file       \param fileName Input - The name of the file
179    */    */
   FINLEY_DLL_API  
180    void dump(const std::string& fileName) const;    void dump(const std::string& fileName) const;
181    
182    /**    /**
183       \brief       \brief
184       return the pointer to the underlying finley mesh structure       return the pointer to the underlying finley mesh structure
185    */    */
   FINLEY_DLL_API  
186    Mesh* getFinley_Mesh() const;    Mesh* getFinley_Mesh() const;
187    
188     /**     /**
# Line 205  class MeshAdapter : public escript::Abst Line 191  class MeshAdapter : public escript::Abst
191       \param functionSpaceType Input - The function space type.       \param functionSpaceType Input - The function space type.
192       \param sampleNo Input - The sample number.       \param sampleNo Input - The sample number.
193    */    */
   FINLEY_DLL_API  
194    int getTagFromSampleNo(int functionSpaceType, int sampleNo) const;    int getTagFromSampleNo(int functionSpaceType, int sampleNo) const;
195    
196    /**    /**
# Line 213  class MeshAdapter : public escript::Abst Line 198  class MeshAdapter : public escript::Abst
198       Return the reference number of  the given sample number.       Return the reference number of  the given sample number.
199       \param functionSpaceType Input - The function space type.       \param functionSpaceType Input - The function space type.
200    */    */
   FINLEY_DLL_API  
201    const int* borrowSampleReferenceIDs(int functionSpaceType) const;    const int* borrowSampleReferenceIDs(int functionSpaceType) const;
202    
203    /**    /**
# Line 221  class MeshAdapter : public escript::Abst Line 205  class MeshAdapter : public escript::Abst
205       Returns true if the given integer is a valid function space type       Returns true if the given integer is a valid function space type
206       for this domain.       for this domain.
207    */    */
   FINLEY_DLL_API  
208    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;    virtual bool isValidFunctionSpaceType(int functionSpaceType) const;
209    
210    /**    /**
211       \brief       \brief
212       Return a description for this domain       Return a description for this domain
213    */    */
   FINLEY_DLL_API  
214    virtual std::string getDescription() const;    virtual std::string getDescription() const;
215    
216    /**    /**
217       \brief       \brief
218       Return a description for the given function space type code       Return a description for the given function space type code
219    */    */
   FINLEY_DLL_API  
220    virtual std::string functionSpaceTypeAsString(int functionSpaceType) const;    virtual std::string functionSpaceTypeAsString(int functionSpaceType) const;
221    
222    /**    /**
223       \brief       \brief
224       Build the table of function space type names       Build the table of function space type names
225    */    */
   FINLEY_DLL_API  
226    void setFunctionSpaceTypeNames();    void setFunctionSpaceTypeNames();
227    
228    /**    /**
229       \brief       \brief
230       Return a continuous FunctionSpace code       Return a continuous FunctionSpace code
231    */    */
   FINLEY_DLL_API  
232    virtual int getContinuousFunctionCode() const;    virtual int getContinuousFunctionCode() const;
233    
234    /**    /**
235       \brief       \brief
236       Return a continuous on reduced order nodes FunctionSpace code       Return a continuous on reduced order nodes FunctionSpace code
237    */    */
   FINLEY_DLL_API  
238    virtual int getReducedContinuousFunctionCode() const;    virtual int getReducedContinuousFunctionCode() const;
239    
240    /**    /**
241       \brief       \brief
242       Return a function FunctionSpace code       Return a function FunctionSpace code
243    */    */
   FINLEY_DLL_API  
244    virtual int getFunctionCode() const;    virtual int getFunctionCode() const;
245    
246    /**    /**
247       \brief       \brief
248       Return a function with reduced integration order FunctionSpace code       Return a function with reduced integration order FunctionSpace code
249    */    */
   FINLEY_DLL_API  
250    virtual int getReducedFunctionCode() const;    virtual int getReducedFunctionCode() const;
251    
252    /**    /**
253       \brief       \brief
254       Return a function on boundary FunctionSpace code       Return a function on boundary FunctionSpace code
255    */    */
   FINLEY_DLL_API  
256    virtual int getFunctionOnBoundaryCode() const;    virtual int getFunctionOnBoundaryCode() const;
257    
258    /**    /**
259       \brief       \brief
260       Return a function on boundary with reduced integration order FunctionSpace code       Return a function on boundary with reduced integration order FunctionSpace code
261    */    */
   FINLEY_DLL_API  
262    virtual int getReducedFunctionOnBoundaryCode() const;    virtual int getReducedFunctionOnBoundaryCode() const;
263    
264    /**    /**
265       \brief       \brief
266       Return a FunctionOnContactZero code       Return a FunctionOnContactZero code
267    */    */
   FINLEY_DLL_API  
268    virtual int getFunctionOnContactZeroCode() const;    virtual int getFunctionOnContactZeroCode() const;
269    
270    /**    /**
271       \brief       \brief
272       Return a FunctionOnContactZero code  with reduced integration order       Return a FunctionOnContactZero code  with reduced integration order
273    */    */
   FINLEY_DLL_API  
274    virtual int getReducedFunctionOnContactZeroCode() const;    virtual int getReducedFunctionOnContactZeroCode() const;
275    
276    /**    /**
277       \brief       \brief
278       Return a FunctionOnContactOne code       Return a FunctionOnContactOne code
279    */    */
   FINLEY_DLL_API  
280    virtual int getFunctionOnContactOneCode() const;    virtual int getFunctionOnContactOneCode() const;
281    
282    /**    /**
283       \brief       \brief
284       Return a FunctionOnContactOne code  with reduced integration order       Return a FunctionOnContactOne code  with reduced integration order
285    */    */
   FINLEY_DLL_API  
286    virtual int getReducedFunctionOnContactOneCode() const;    virtual int getReducedFunctionOnContactOneCode() const;
287    
288    /**    /**
289       \brief       \brief
290       Return a Solution code       Return a Solution code
291    */    */
   FINLEY_DLL_API  
292    virtual int getSolutionCode() const;    virtual int getSolutionCode() const;
293    
294    /**    /**
295       \brief       \brief
296       Return a ReducedSolution code       Return a ReducedSolution code
297    */    */
   FINLEY_DLL_API  
298    virtual int getReducedSolutionCode() const;    virtual int getReducedSolutionCode() const;
299    
300    /**    /**
301       \brief       \brief
302       Return a DiracDeltaFunctions code       Return a DiracDeltaFunctions code
303    */    */
   FINLEY_DLL_API  
304    virtual int getDiracDeltaFunctionsCode() const;    virtual int getDiracDeltaFunctionsCode() const;
305    
306    /**    /**
# Line 344  class MeshAdapter : public escript::Abst Line 311  class MeshAdapter : public escript::Abst
311    /**    /**
312       \brief       \brief
313    */    */
   FINLEY_DLL_API  
314    virtual int getDim() const;    virtual int getDim() const;
315    
316    /**    /**
# Line 355  class MeshAdapter : public escript::Abst Line 321  class MeshAdapter : public escript::Abst
321    
322       This has to be implemented by the actual Domain adapter.       This has to be implemented by the actual Domain adapter.
323    */    */
   FINLEY_DLL_API  
324    virtual StatusType getStatus() const;    virtual StatusType getStatus() const;
325    
326    
# Line 363  class MeshAdapter : public escript::Abst Line 328  class MeshAdapter : public escript::Abst
328       \brief       \brief
329       Return the number of data points summed across all MPI processes       Return the number of data points summed across all MPI processes
330    */    */
   FINLEY_DLL_API  
331    virtual int getNumDataPointsGlobal() const;    virtual int getNumDataPointsGlobal() const;
332    
333    /**    /**
# Line 371  class MeshAdapter : public escript::Abst Line 335  class MeshAdapter : public escript::Abst
335       Return the number of data points per sample, and the number of samples as a pair.       Return the number of data points per sample, and the number of samples as a pair.
336       \param functionSpaceCode Input -       \param functionSpaceCode Input -
337    */    */
   FINLEY_DLL_API  
338    virtual std::pair<int,int> getDataShape(int functionSpaceCode) const;    virtual std::pair<int,int> getDataShape(int functionSpaceCode) const;
339    
340    /**    /**
# Line 379  class MeshAdapter : public escript::Abst Line 342  class MeshAdapter : public escript::Abst
342       copies the location of data points into arg. The domain of arg has to match this.       copies the location of data points into arg. The domain of arg has to match this.
343       has to be implemented by the actual Domain adapter.       has to be implemented by the actual Domain adapter.
344    */    */
   FINLEY_DLL_API  
345    virtual void setToX(escript::Data& arg) const;    virtual void setToX(escript::Data& arg) const;
346    
347    /**    /**
# Line 388  class MeshAdapter : public escript::Abst Line 350  class MeshAdapter : public escript::Abst
350       \param name Input - tag name.       \param name Input - tag name.
351       \param tag Input - tag key.       \param tag Input - tag key.
352    */    */
   FINLEY_DLL_API  
353    virtual void setTagMap(const std::string& name,  int tag);    virtual void setTagMap(const std::string& name,  int tag);
354    
355    /**    /**
# Line 396  class MeshAdapter : public escript::Abst Line 357  class MeshAdapter : public escript::Abst
357       Return the tag key for tag name.       Return the tag key for tag name.
358       \param name Input - tag name       \param name Input - tag name
359    */    */
   FINLEY_DLL_API  
360    virtual int getTag(const std::string& name) const;    virtual int getTag(const std::string& name) const;
361    
362    /**    /**
# Line 404  class MeshAdapter : public escript::Abst Line 364  class MeshAdapter : public escript::Abst
364       Returns true if name is a defined tage name.       Returns true if name is a defined tage name.
365       \param name Input - tag name to be checked.       \param name Input - tag name to be checked.
366    */    */
   FINLEY_DLL_API  
367    virtual bool isValidTagName(const std::string& name) const;    virtual bool isValidTagName(const std::string& name) const;
368    
369    /**    /**
370       \brief       \brief
371       Returns all tag names in a single string sperated by commas       Returns all tag names in a single string sperated by commas
372    */    */
   FINLEY_DLL_API  
373    virtual std::string showTagNames() const;    virtual std::string showTagNames() const;
374    
375    /**    /**
376       \brief       \brief
377       assigns new location to the domain       assigns new location to the domain
378    */    */
   FINLEY_DLL_API  
379    virtual void setNewX(const escript::Data& arg);    virtual void setNewX(const escript::Data& arg);
380    
381    /**    /**
382       \brief       \brief
383       interpolates data given on source onto target where source and target have to be given on the same domain.       interpolates data given on source onto target where source and target have to be given on the same domain.
384    */    */
   FINLEY_DLL_API  
385    virtual void interpolateOnDomain(escript::Data& target,const escript::Data& source) const;    virtual void interpolateOnDomain(escript::Data& target,const escript::Data& source) const;
386    
387    
   FINLEY_DLL_API  
388    virtual bool probeInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;    virtual bool probeInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;
389        
   FINLEY_DLL_API  
390    virtual signed char preferredInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;    virtual signed char preferredInterpolationOnDomain(int functionSpaceType_source,int functionSpaceType_target) const;
391        
392        
# Line 441  class MeshAdapter : public escript::Abst Line 395  class MeshAdapter : public escript::Abst
395      \brief given a vector of FunctionSpace typecodes, pass back a code which then can all be interpolated to.      \brief given a vector of FunctionSpace typecodes, pass back a code which then can all be interpolated to.
396      \return true is result is valid, false if not      \return true is result is valid, false if not
397    */    */
   FINLEY_DLL_API  
398    bool    bool
399    commonFunctionSpace(const std::vector<int>& fs, int& resultcode) const;    commonFunctionSpace(const std::vector<int>& fs, int& resultcode) const;
400    
# Line 450  class MeshAdapter : public escript::Abst Line 403  class MeshAdapter : public escript::Abst
403       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.
404       has to be implemented by the actual Domain adapter.       has to be implemented by the actual Domain adapter.
405    */    */
   FINLEY_DLL_API  
406    virtual void interpolateACross(escript::Data& target, const escript::Data& source) const;    virtual void interpolateACross(escript::Data& target, const escript::Data& source) const;
407    
408    /**    /**
409    \brief determines whether interpolation from source to target is possible.    \brief determines whether interpolation from source to target is possible.
410    Must be implemented by the actual Domain adapter    Must be implemented by the actual Domain adapter
411    */    */
   FINLEY_DLL_API  
412    virtual bool probeInterpolationACross(int functionSpaceType_source,const escript::AbstractDomain& targetDomain, int functionSpaceType_target) const;    virtual bool probeInterpolationACross(int functionSpaceType_source,const escript::AbstractDomain& targetDomain, int functionSpaceType_target) const;
413    
414    /**    /**
# Line 465  class MeshAdapter : public escript::Abst Line 416  class MeshAdapter : public escript::Abst
416       copies the surface normals at data points into out. The actual function space to be considered       copies the surface normals at data points into out. The actual function space to be considered
417       is defined by out. out has to be defined on this.       is defined by out. out has to be defined on this.
418    */    */
   FINLEY_DLL_API  
419    virtual void setToNormal(escript::Data& out) const;    virtual void setToNormal(escript::Data& out) const;
420    
421    /**    /**
# Line 473  class MeshAdapter : public escript::Abst Line 423  class MeshAdapter : public escript::Abst
423       copies the size of samples into out. The actual function space to be considered       copies the size of samples into out. The actual function space to be considered
424       is defined by out. out has to be defined on this.       is defined by out. out has to be defined on this.
425    */    */
   FINLEY_DLL_API  
426    virtual void setToSize(escript::Data& out) const;    virtual void setToSize(escript::Data& out) const;
427    
428    /**    /**
# Line 481  class MeshAdapter : public escript::Abst Line 430  class MeshAdapter : public escript::Abst
430       copies the gradient of arg into grad. The actual function space to be considered       copies the gradient of arg into grad. The actual function space to be considered
431       for the gradient is defined by grad. arg and grad have to be defined on this.       for the gradient is defined by grad. arg and grad have to be defined on this.
432    */    */
   FINLEY_DLL_API  
433    virtual void setToGradient(escript::Data& grad,const escript::Data& arg) const;    virtual void setToGradient(escript::Data& grad,const escript::Data& arg) const;
434    
435    /**    /**
# Line 489  class MeshAdapter : public escript::Abst Line 437  class MeshAdapter : public escript::Abst
437       copies the integrals of the function defined by arg into integrals.       copies the integrals of the function defined by arg into integrals.
438       arg has to be defined on this.       arg has to be defined on this.
439    */    */
   FINLEY_DLL_API  
440    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;    virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const;
441    
442    /**    /**
# Line 501  class MeshAdapter : public escript::Abst Line 448  class MeshAdapter : public escript::Abst
448       \param package       \param package
449       \param symmetry       \param symmetry
450    */    */
451    FINLEY_DLL_API    virtual int getSystemMatrixTypeId(const boost::python::object& options) const;
   virtual int getSystemMatrixTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;  
452    
453    /**    /**
454       \brief       \brief
# Line 513  class MeshAdapter : public escript::Abst Line 459  class MeshAdapter : public escript::Abst
459       \param package       \param package
460       \param symmetry       \param symmetry
461    */    */
   FINLEY_DLL_API  
462    virtual int getTransportTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;    virtual int getTransportTypeId(const int solver, const int preconditioner, const int package, const bool symmetry) const;
463    
464    /**    /**
# Line 521  class MeshAdapter : public escript::Abst Line 466  class MeshAdapter : public escript::Abst
466       returns true if data on this domain and a function space of type functionSpaceCode has to       returns true if data on this domain and a function space of type functionSpaceCode has to
467       considered as cell centered data.       considered as cell centered data.
468    */    */
   FINLEY_DLL_API  
469    virtual bool isCellOriented(int functionSpaceCode) const;    virtual bool isCellOriented(int functionSpaceCode) const;
470    
471    
   FINLEY_DLL_API  
472    virtual bool ownSample(int fs_code, index_t id) const;    virtual bool ownSample(int fs_code, index_t id) const;
473    
474    /**    /**
# Line 539  class MeshAdapter : public escript::Abst Line 482  class MeshAdapter : public escript::Abst
482       \brief       \brief
483       adds a PDE onto the stiffness matrix mat and a rhs       adds a PDE onto the stiffness matrix mat and a rhs
484    */    */
   FINLEY_DLL_API  
485    virtual void addPDEToSystem(    virtual void addPDEToSystem(
486                       escript::AbstractSystemMatrix& mat, escript::Data& rhs,                       escript::AbstractSystemMatrix& mat, escript::Data& rhs,
487                       const escript::Data& A, const escript::Data& B, const escript::Data& C,                       const escript::Data& A, const escript::Data& B, const escript::Data& C,
# Line 551  class MeshAdapter : public escript::Abst Line 493  class MeshAdapter : public escript::Abst
493       \brief       \brief
494       adds a PDE onto the lumped stiffness matrix matrix       adds a PDE onto the lumped stiffness matrix matrix
495    */    */
   FINLEY_DLL_API  
496    virtual void addPDEToLumpedSystem(    virtual void addPDEToLumpedSystem(
497                       escript::Data& mat,                       escript::Data& mat,
498                       const escript::Data& D,                       const escript::Data& D,
# Line 563  class MeshAdapter : public escript::Abst Line 504  class MeshAdapter : public escript::Abst
504       \brief       \brief
505       adds a PDE onto the stiffness matrix mat and a rhs       adds a PDE onto the stiffness matrix mat and a rhs
506    */    */
   FINLEY_DLL_API  
507    virtual void addPDEToRHS(escript::Data& rhs,    virtual void addPDEToRHS(escript::Data& rhs,
508                       const escript::Data& X, const escript::Data& Y,                       const escript::Data& X, const escript::Data& Y,
509                       const escript::Data& y, const escript::Data& y_contact, const escript::Data& y_dirac) const;                       const escript::Data& y, const escript::Data& y_contact, const escript::Data& y_dirac) const;
# Line 572  class MeshAdapter : public escript::Abst Line 512  class MeshAdapter : public escript::Abst
512       adds a PDE onto a transport problem       adds a PDE onto a transport problem
513    */    */
514    
   FINLEY_DLL_API  
515    virtual void addPDEToTransportProblem(    virtual void addPDEToTransportProblem(
516                       escript::AbstractTransportProblem& tp, escript::Data& source,                       escript::AbstractTransportProblem& tp, escript::Data& source,
517                       const escript::Data& M,                       const escript::Data& M,
# Line 586  class MeshAdapter : public escript::Abst Line 525  class MeshAdapter : public escript::Abst
525       \brief       \brief
526      creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:      creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros:
527    */    */
   FINLEY_DLL_API  
528    escript::ASM_ptr newSystemMatrix(    escript::ASM_ptr newSystemMatrix(
529                        const int row_blocksize,                        const int row_blocksize,
530                        const escript::FunctionSpace& row_functionspace,                        const escript::FunctionSpace& row_functionspace,
# Line 599  class MeshAdapter : public escript::Abst Line 537  class MeshAdapter : public escript::Abst
537    
538    */    */
539    
   FINLEY_DLL_API  
540    escript::ATP_ptr newTransportProblem(    escript::ATP_ptr newTransportProblem(
541                        const int blocksize,                        const int blocksize,
542                        const escript::FunctionSpace& functionspace,                        const escript::FunctionSpace& functionspace,
# Line 608  class MeshAdapter : public escript::Abst Line 545  class MeshAdapter : public escript::Abst
545    /**    /**
546       \brief returns locations in the FEM nodes       \brief returns locations in the FEM nodes
547    */    */
   FINLEY_DLL_API  
548    virtual escript::Data getX() const;    virtual escript::Data getX() const;
549    
550    /**    /**
551       \brief return boundary normals at the quadrature point on the face elements       \brief return boundary normals at the quadrature point on the face elements
552    */    */
   FINLEY_DLL_API  
553    virtual escript::Data getNormal() const;    virtual escript::Data getNormal() const;
554    
555    /**    /**
556       \brief returns the element size       \brief returns the element size
557    */    */
   FINLEY_DLL_API  
558    virtual escript::Data getSize() const;    virtual escript::Data getSize() const;
559    
560    /**    /**
561       \brief comparison operators       \brief comparison operators
562    */    */
   FINLEY_DLL_API  
563    virtual bool operator==(const escript::AbstractDomain& other) const;    virtual bool operator==(const escript::AbstractDomain& other) const;
   FINLEY_DLL_API  
564    virtual bool operator!=(const escript::AbstractDomain& other) const;    virtual bool operator!=(const escript::AbstractDomain& other) const;
565    
566    /**    /**
# Line 636  class MeshAdapter : public escript::Abst Line 568  class MeshAdapter : public escript::Abst
568       value of mask for any its sample point.       value of mask for any its sample point.
569    
570    */    */
   FINLEY_DLL_API  
571    virtual void setTags(const int functionSpaceType, const int newTag, const escript::Data& mask) const;    virtual void setTags(const int functionSpaceType, const int newTag, const escript::Data& mask) const;
572    
573    /**    /**
574        \brief        \brief
575            return the number of tags in use and a pointer to an array with the number of tags in use            return the number of tags in use and a pointer to an array with the number of tags in use
576    */    */
   FINLEY_DLL_API  
577    virtual int getNumberOfTagsInUse(int functionSpaceCode) const;    virtual int getNumberOfTagsInUse(int functionSpaceCode) const;
578    
   FINLEY_DLL_API  
579    virtual const int* borrowListOfTagsInUse(int functionSpaceCode) const;    virtual const int* borrowListOfTagsInUse(int functionSpaceCode) const;
580    
581    
582    /**    /**
583       \brief Checks if this domain allows tags for the specified functionSpaceCode.       \brief Checks if this domain allows tags for the specified functionSpaceCode.
584    */    */
   FINLEY_DLL_API  
585    virtual    virtual
586    bool canTag(int functionSpaceCode) const;    bool canTag(int functionSpaceCode) const;
587    
# Line 661  class MeshAdapter : public escript::Abst Line 589  class MeshAdapter : public escript::Abst
589     \brief returns the approximation order used for a function space functionSpaceCode     \brief returns the approximation order used for a function space functionSpaceCode
590     */     */
591    
   FINLEY_DLL_API  
592    virtual    virtual
593    int getApproximationOrder(const int functionSpaceCode) const;    int getApproximationOrder(const int functionSpaceCode) const;
594    
   FINLEY_DLL_API  
595    bool supportsContactElements() const;    bool supportsContactElements() const;
596        
597    
   FINLEY_DLL_API  
598    virtual escript::Data randomFill(const escript::DataTypes::ShapeType& shape,    virtual escript::Data randomFill(const escript::DataTypes::ShapeType& shape,
599         const escript::FunctionSpace& what, long seed, const boost::python::tuple& filter) const;               const escript::FunctionSpace& what, long seed, const boost::python::tuple& filter) const;      
600        
# Line 682  class MeshAdapter : public escript::Abst Line 607  class MeshAdapter : public escript::Abst
607     Do NOT call these at any time other than construction!     Do NOT call these at any time other than construction!
608     Using them later creates consistency problems     Using them later creates consistency problems
609     */     */
   FINLEY_DLL_API  
610    void addDiracPoints( const std::vector<double>& points, const std::vector<int>& tags) const;    void addDiracPoints( const std::vector<double>& points, const std::vector<int>& tags) const;
 //  FINLEY_DLL_API  
611  //  void addDiracPoint( const boost::python::list& points, const int tag=-1) const;  //  void addDiracPoint( const boost::python::list& points, const int tag=-1) const;
 //   FINLEY_DLL_API  
612  //   void addDiracPointWithTagName( const boost::python::list& points, const std::string& tag) const;  //   void addDiracPointWithTagName( const boost::python::list& points, const std::string& tag) const;
613    
614   protected:   protected:

Legend:
Removed from v.5147  
changed lines
  Added in v.5148

  ViewVC Help
Powered by ViewVC 1.1.26