/[escript]/branches/ripleygmg_from_3668/ripley/src/Rectangle.h
ViewVC logotype

Diff of /branches/ripleygmg_from_3668/ripley/src/Rectangle.h

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

revision 3699 by caltinay, Thu Dec 1 22:59:42 2011 UTC revision 3746 by caltinay, Thu Dec 15 00:02:22 2011 UTC
# Line 83  public: Line 83  public:
83    
84      /**      /**
85         \brief         \brief
86         returns the number of data points summed across all MPI processes         copies the gradient of 'in' into 'out'. The actual function space to be
87           considered for the gradient is defined by 'in'. Both arguments have to
88           be defined on this domain.
89      */      */
90      RIPLEY_DLL_API      RIPLEY_DLL_API
91      virtual int getNumDataPointsGlobal() const { return (m_gNE0+1)*(m_gNE1+1); }      virtual void setToGradient(escript::Data& out, const escript::Data& in) const;
92    
93        /**
94           \brief
95           copies the integrals of the function defined by arg into integrals.
96           arg has to be defined on this domain.
97        */
98        RIPLEY_DLL_API
99        virtual void setToIntegrals(std::vector<double>& integrals, const escript::Data& arg) const;
100    
101        /**
102           \brief
103           copies the surface normals at data points into out. The actual function
104           space to be considered is defined by out. out has to be defined on this
105           domain.
106        */
107        RIPLEY_DLL_API
108        virtual void setToNormal(escript::Data& out) const;
109    
110      /**      /**
111         \brief         \brief
112         interpolates data given on source onto target where source and target         returns the number of data points summed across all MPI processes
        have to be given on the same domain  
113      */      */
114      RIPLEY_DLL_API      RIPLEY_DLL_API
115      virtual void interpolateOnDomain(escript::Data& target, const escript::Data& source) const;      virtual int getNumDataPointsGlobal() const { return (m_gNE0+1)*(m_gNE1+1); }
116    
117      /**      /**
118         \brief         \brief
# Line 141  public: Line 159  public:
159      RIPLEY_DLL_API      RIPLEY_DLL_API
160      virtual std::pair<double,double> getFirstCoordAndSpacing(dim_t dim) const;      virtual std::pair<double,double> getFirstCoordAndSpacing(dim_t dim) const;
161    
162        /**
163           \brief
164           adds a PDE onto the stiffness matrix mat and rhs
165        */
166        RIPLEY_DLL_API
167        virtual void addPDEToSystem(escript::AbstractSystemMatrix& mat,
168                escript::Data& rhs, const escript::Data& A, const escript::Data& B,
169                const escript::Data& C, const escript::Data& D,
170                const escript::Data& X, const escript::Data& Y,
171                const escript::Data& d, const escript::Data& y,
172                const escript::Data& d_contact, const escript::Data& y_contact,
173                const escript::Data& d_dirac, const escript::Data& y_dirac) const;
174    
175  protected:  protected:
176      virtual dim_t getNumNodes() const { return m_N0*m_N1; }      virtual dim_t getNumNodes() const { return m_N0*m_N1; }
177      virtual dim_t getNumElements() const { return m_NE0*m_NE1; }      virtual dim_t getNumElements() const { return m_NE0*m_NE1; }
178      virtual dim_t getNumFaceElements() const;      virtual dim_t getNumFaceElements() const;
179      virtual void assembleCoordinates(escript::Data& arg) const;      virtual void assembleCoordinates(escript::Data& arg) const;
180      virtual Paso_SystemMatrixPattern* getPattern(bool reducedRowOrder, bool reducedColOrder) const;      virtual Paso_SystemMatrixPattern* getPattern(bool reducedRowOrder, bool reducedColOrder) const;
181        virtual void interpolateNodesOnElements(escript::Data& out,
182                                           escript::Data& in, bool reduced) const;
183        virtual void interpolateNodesOnFaces(escript::Data& out, escript::Data& in,
184                                             bool reduced) const;
185    
186  private:  private:
187      void populateSampleIds();      void populateSampleIds();
# Line 172  private: Line 207  private:
207      /// first node on this rank is at (offset0,offset1) in global mesh      /// first node on this rank is at (offset0,offset1) in global mesh
208      dim_t m_offset0, m_offset1;      dim_t m_offset0, m_offset1;
209    
210        /// faceOffset[i]=-1 if face i is not an external face, otherwise it is
211        /// the index of that face (where i: 0=left, 1=right, 2=bottom, 3=top)
212        IndexVector m_faceOffset;
213    
214      /// vector of sample reference identifiers      /// vector of sample reference identifiers
215      IndexVector m_nodeId;      IndexVector m_nodeId;
216      IndexVector m_elementId;      IndexVector m_elementId;

Legend:
Removed from v.3699  
changed lines
  Added in v.3746

  ViewVC Help
Powered by ViewVC 1.1.26