Mercurial > hg > kwantix
view data/sw_eqs_init.m @ 20:9cd42f1be76e
w00t, bugs squashed, thing actually works\!
author | Jordi Gutiérrez Hermoso <jordigh@gmail.com> |
---|---|
date | Sun, 31 Aug 2008 19:53:50 -0500 |
parents | 382e3b8e3f88 |
children | 4c5bac1f2612 |
line wrap: on
line source
n = 15 m = 12; r = linspace(0,1,n); rrintr = 0; ththintr = 0; for k = 2:n-1 c = (k-1)*m; th = [0:2*pi/c:2*pi*(1-1/c)]; for j = 1:c rrintr(end+1) = r(k); ththintr(end+1) = th(j); endfor endfor #Remove one in order to get a nice non-prime number. #rrintr = rrintr(2:end); #ththintr = ththintr(2:end); r=1; c = (n-1)*m; th = [0:2*pi/c:2*pi*(1-1/c)]; rrbdry = 1; ththbdry = 0; for j = 2:c rrbdry(end+1) = r; ththbdry(end+1) = th(j); endfor [xxintr,yyintr] = pol2cart(ththintr, rrintr); [xxbdry,yybdry] = pol2cart(ththbdry, rrbdry); intr = [xxintr',yyintr']; bdry = [xxbdry',yybdry']; ##gotta avoid zero coordinates, so shift the boundary slightly bdry = ([cos(pi/200), sin(pi/200); -sin(pi/200) cos(pi/200)]*bdry')'; nrml = [bdry, bdry]; save "circ_intr.matrix" intr; save "circ_bdry.matrix" bdry; save "circ_nrml.matrix" nrml; xxbdry = bdry(:,1)'; yybdry = bdry(:,2)'; ##radial ##u0 = (1-(xxintr.^2 + yyintr.^2)')/2; ##nonradial h0 = []; for i = 1:columns(xxintr) h0(i) = fr( (xxintr(i)-0.25)^2 + yyintr(i)^2, 0.025); endfor h0 = 4*h0(:)+0.1; h0 = [h0; 0.1*ones(rows(bdry),1)]; h_init = [xxintr', yyintr'; xxbdry', yybdry']; h_init = [h_init, h0]; save "h_init.map" h_init; hold off; plot(intr(:,1),intr(:,2),'xr'); hold on; plot(bdry(:,1),bdry(:,2),'xb'); size([intr;bdry])