17 #ifndef __RIPLEY_MULTIRECTANGLE_H__ 18 #define __RIPLEY_MULTIRECTANGLE_H__ 20 #include <ripley/Rectangle.h> 44 const std::vector<double>& points = std::vector<double>(),
45 const std::vector<int>& tags = std::vector<int>(),
48 unsigned int subdivisions = 1
70 void validateInterpolationAcross(
int fsType_source,
77 virtual std::string getDescription()
const;
89 void dump(
const std::string& filename)
const;
102 virtual void readBinaryGridFromZipped(
escript::Data& out, std::string filename,
109 std::string filename,
110 int byteOrder,
int dataType)
const;
123 virtual RankVector getOwnerVector(
int fsType)
const;
135 bool reducedRowOrder,
136 bool reducedColOrder)
const;
137 virtual index_t getFirstInDim(
unsigned axis)
const;
138 virtual void populateSampleIds();
139 virtual dim_t getNumDOFInAxis(
unsigned axis)
const;
140 virtual dim_t getNumDOF()
const;
141 virtual void populateDofMap();
143 virtual dim_t findNode(
const double *coords)
const;
154 return getNumDOFInAxis(0)*getNumDOFInAxis(1);
160 EsysAssert((axis < m_numDim),
"Invalid axis");
161 dim_t res = m_ownNE[axis] + 1;
162 if (m_offset[axis] + m_NE[axis] < m_gNE[axis]) {
171 return m_offset[axis] == 0 ? 0 : m_subdivisions;
176 #endif // __RIPLEY_MULTIRECTANGLE_H__ Rectangle is the 2-dimensional implementation of a RipleyDomain.
Definition: MultiRectangle.h:28
escript::Data readNcGrid(std::string filename, std::string varname, escript::FunctionSpace fs, const object &pyShape, double fill, const object &pyFirst, const object &pyNum, const object &pyMultiplier, const object &pyReverse)
Definition: ripleycpp.cpp:117
Definition: ripley/src/WaveAssembler2D.h:24
Definition: LameAssembler2D.h:24
std::vector< IndexVector > m_rowIndices
Definition: MultiRectangle.h:147
virtual dim_t getNumDOF() const
returns the number of degrees of freedom per MPI rank
Definition: MultiRectangle.h:152
virtual index_t getFirstInDim(unsigned axis) const
Definition: MultiRectangle.h:169
Definition: ripley/src/DefaultAssembler2D.h:24
escript::Data readBinaryGrid(std::string filename, escript::FunctionSpace fs, const object &pyShape, double fill, int byteOrder, int dataType, const object &pyFirst, const object &pyNum, const object &pyMultiplier, const object &pyReverse)
Definition: ripleycpp.cpp:65
boost::shared_ptr< SystemMatrixPattern > SystemMatrixPattern_ptr
Definition: SystemMatrixPattern.h:38
std::map< std::string, int > TagMap
Definition: Ripley.h:41
Rectangle is the 2-dimensional implementation of a RipleyDomain.
Definition: ripley/src/Rectangle.h:29
boost::shared_ptr< SubWorld > SubWorld_ptr
Definition: SubWorld.h:142
Structure that wraps parameters for the grid reading routines.
Definition: ripley/src/RipleyDomain.h:52
Data represents a collection of datapoints.
Definition: Data.h:68
#define EsysAssert(AssertTest, AssertMessage)
EsysAssert is a MACRO that will throw an exception if the boolean condition specified is false...
Definition: EsysAssert.h:96
virtual dim_t getNumDOFInAxis(unsigned axis) const
Definition: MultiRectangle.h:158
virtual unsigned int getNumSubdivisionsPerElement() const
returns the number of times each root element has been subdivided
Definition: MultiRectangle.h:116
int index_t
Definition: types.h:24
std::vector< Esys_MPI_rank > RankVector
Definition: Ripley.h:40
index_t dim_t
Definition: types.h:27
Definition: ripley/src/AbstractAssembler.h:25
unsigned int m_subdivisions
Definition: MultiRectangle.h:148
Base class for all escript domains.
Definition: AbstractDomain.h:45
#define RIPLEY_DLL_API
Definition: ripley/src/system_dep.h:22
std::vector< IndexVector > m_colIndices
Definition: MultiRectangle.h:146