changeset 1256:479d5672fecd feature/FMMlabb

Minor cleanup
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Tue, 11 Feb 2020 19:17:49 +0100
parents 5e2a61340d4e
children 4d472d020ccf
files +multiblock/+domain/Annulus.m
diffstat 1 files changed, 13 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
diff -r 5e2a61340d4e -r 479d5672fecd +multiblock/+domain/Annulus.m
--- a/+multiblock/+domain/Annulus.m	Wed Jan 22 16:10:46 2020 +0100
+++ b/+multiblock/+domain/Annulus.m	Tue Feb 11 19:17:49 2020 +0100
@@ -1,18 +1,21 @@
 classdef Annulus < multiblock.DefCurvilinear
     properties
-        r_inner 
-        r_outer 
-        c_inner
-        c_outer
+        r_inner % Radii of inner disk
+        c_inner % Center of inner disk
+        r_outer % Radii of outer disk
+        c_outer % Radii of outer disk
     end
 
     methods
-        function obj = Annulus(r_outer, r_inner, c_outer, c_inner)
-            default_arg('r_outer', 1)
+        function obj = Annulus(r_inner, c_inner, r_outer, c_outer)
             default_arg('r_inner', 0.3);
+            default_arg('c_inner', [0; 0]);
+            default_arg('r_outer', 1)
             default_arg('c_outer', [0; 0]);
-            default_arg('c_inner', [0; 0]);
-
+            % Assert that the problem is well-defined
+            d = norm(c_outer-c_inner,2);
+            assert(r_outer > d+r_inner, 'Inner disk not contained in outer disk');
+            
             cir_out_A = parametrization.Curve.circle(c_outer,r_outer,[-pi/2 pi/2]);
             cir_in_A = parametrization.Curve.circle(c_inner,r_inner,[pi/2 -pi/2]);
             
@@ -40,8 +43,7 @@
 
 
             A = parametrization.Ti(sp2_A, cir_out_A, sp3_A.reverse, cir_in_A); 
-            B = parametrization.Ti( sp2_B , cir_out_B,sp3_B.reverse, cir_in_B );
-           % B = A.rotate(c_inner,pi).rotate_edges(0);
+            B = parametrization.Ti(sp2_B , cir_out_B,sp3_B.reverse, cir_in_B );
             
             blocks = {A,B};
             blocksNames = {'A','B'};
@@ -65,18 +67,7 @@
         end
 
         function ms = getGridSizes(obj, m)
-           % m_S = m;
-% 
-%             % m_Radial
-%             s = 2*obj.hs;
-%             innerArc = obj.r_arc*obj.omega;
-%             outerArc = obj.r*pi/2;
-%             shortSpoke = obj.r-s/sqrt(2);
-%             x = (1/(2-sqrt(3))-1)*obj.hs;
-%             longSpoke =  (obj.r+x)-obj.r_arc;
-%             m_R = parametrization.equal_step_size((innerArc+outerArc)/2, m_S, (shortSpoke+longSpoke)/2);
-
-            ms = {[m m], [m m], [m m], [m m], [m m]};
+            ms = {[m m], [m m]};
         end
     end
 end