aboutsummaryrefslogtreecommitdiff
path: root/code/coupler2d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'code/coupler2d.cpp')
-rw-r--r--code/coupler2d.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/code/coupler2d.cpp b/code/coupler2d.cpp
new file mode 100644
index 0000000..7f2b8a8
--- /dev/null
+++ b/code/coupler2d.cpp
@@ -0,0 +1,27 @@
+template <typename T, template<typename> class DESCRIPTOR>
+class Coupler2D {
+protected:
+ Grid2D<T,DESCRIPTOR>& _coarse;
+ Grid2D<T,DESCRIPTOR>& _fine;
+
+ const int _coarseSize;
+ const int _fineSize;
+ const bool _vertical;
+
+ Vector<T,2> _physOrigin;
+
+ const Vector<int,3>& getFineLatticeR(int y) const;
+ const Vector<int,3>& getCoarseLatticeR(int y) const;
+
+ T getScalingFactor() const;
+ T getInvScalingFactor() const;
+
+private:
+ std::vector<Vector<int,3>> _coarseLatticeR;
+ std::vector<Vector<int,3>> _fineLatticeR;
+
+public:
+ Coupler2D(Grid2D<T,DESCRIPTOR>& coarse, Grid2D<T,DESCRIPTOR>& fine,
+ Vector<T,2> origin, Vector<T,2> extend);
+
+};