/[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 3704 by caltinay, Mon Dec 5 01:59:08 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         \brief
95         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  
96      */      */
97      RIPLEY_DLL_API      RIPLEY_DLL_API
98      virtual void interpolateOnDomain(escript::Data& target, const escript::Data& source) const;      virtual int getNumDataPointsGlobal() const { return (m_gNE0+1)*(m_gNE1+1); }
99    
100      /**      /**
101         \brief         \brief
# Line 141  public: Line 142  public:
142      RIPLEY_DLL_API      RIPLEY_DLL_API
143      virtual std::pair<double,double> getFirstCoordAndSpacing(dim_t dim) const;      virtual std::pair<double,double> getFirstCoordAndSpacing(dim_t dim) const;
144    
145        /**
146           \brief
147           adds a PDE onto the stiffness matrix mat and rhs
148        */
149        RIPLEY_DLL_API
150        virtual void addPDEToSystem(escript::AbstractSystemMatrix& mat,
151                escript::Data& rhs, const escript::Data& A, const escript::Data& B,
152                const escript::Data& C, const escript::Data& D,
153                const escript::Data& X, const escript::Data& Y,
154                const escript::Data& d, const escript::Data& y,
155                const escript::Data& d_contact, const escript::Data& y_contact,
156                const escript::Data& d_dirac, const escript::Data& y_dirac) const;
157    
158  protected:  protected:
159      virtual dim_t getNumNodes() const { return m_N0*m_N1; }      virtual dim_t getNumNodes() const { return m_N0*m_N1; }
160      virtual dim_t getNumElements() const { return m_NE0*m_NE1; }      virtual dim_t getNumElements() const { return m_NE0*m_NE1; }
161      virtual dim_t getNumFaceElements() const;      virtual dim_t getNumFaceElements() const;
162      virtual void assembleCoordinates(escript::Data& arg) const;      virtual void assembleCoordinates(escript::Data& arg) const;
163      virtual Paso_SystemMatrixPattern* getPattern(bool reducedRowOrder, bool reducedColOrder) const;      virtual Paso_SystemMatrixPattern* getPattern(bool reducedRowOrder, bool reducedColOrder) const;
164        virtual void interpolateNodesOnElements(escript::Data& out, escript::Data& in) const;
165        virtual void interpolateNodesOnFaces(escript::Data& out, escript::Data& in) const;
166    
167  private:  private:
168      void populateSampleIds();      void populateSampleIds();
# Line 172  private: Line 188  private:
188      /// first node on this rank is at (offset0,offset1) in global mesh      /// first node on this rank is at (offset0,offset1) in global mesh
189      dim_t m_offset0, m_offset1;      dim_t m_offset0, m_offset1;
190    
191        /// faceOffset[i]=-1 if face i is not an external face, otherwise it is
192        /// the index of that face (where i: 0=left, 1=right, 2=bottom, 3=top)
193        IndexVector m_faceOffset;
194    
195      /// vector of sample reference identifiers      /// vector of sample reference identifiers
196      IndexVector m_nodeId;      IndexVector m_nodeId;
197      IndexVector m_elementId;      IndexVector m_elementId;

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

  ViewVC Help
Powered by ViewVC 1.1.26