SHOW:
|
|
- or go back to the newest paste.
| 1 | bottennoder för referens är 1 6 12 19 27 35 43 51 59 67 75 83 91 98 104 | |
| 2 | ||
| 3 | clear all | |
| 4 | ||
| 5 | Coord = [ 0 0; 0 5; 0 10; 0 15; 0 20; 20/3 0; 20/3 5; 20/3 10; 20/3 15; 20/3 20; 20/3 25; 40/3 0; 40/3 5; 40/3 10; 40/3 15; 40/3 20; 40/3 25; 40/3 30; 20 0; 20 5; 20 10; 20 15; 20 20; 20 25; 20 30; 20 35; 25 0; 25 5; 25 10; 25 15; 25 20; 25 25; 25 30; 25 35; 30 0; 30 5; 30 10; 30 15; 30 20; 30 25; 30 30; 30 35; 35 0; 35 5; 35 10; 35 15; 35 20; 35 25; 35 30; 35 35; 40 0; 40 5; 40 10; 40 15; 40 20; 40 25; 40 30; 40 35; 45 0; 45 5; 45 10; 45 15; 45 20; 45 25; 45 30; 45 35; 50 0; 50 5; 50 10; 50 15; 50 20; 50 25; 50 30; 50 35; 55 0; 55 5; 55 10; 55 15; 55 20; 55 25; 55 30; 55 35; 60 0; 60 5; 60 10; 60 15; 60 20; 60 25; 60 30; 60 35; 200/3 0; 200/3 5; 200/3 10; 200/3 15; 200/3 20; 200/3 25; 200/3 30; 220/3 0; 220/3 5; 220/3 10; 220/3 15; 220/3 20; 220/3 25; 240/3 0; 240/3 5; 240/3 10; 240/3 15; 240/3 20 ]; | |
| 6 | ||
| 7 | plot(Coord(:,1), Coord(:,2),'x') | |
| 8 | ||
| 9 | %konstanter | |
| 10 | kasf = 30; | |
| 11 | ksteel = 45; | |
| 12 | casf = 1200; | |
| 13 | eq = 7*10^5; | |
| 14 | Tg = 25; %Celcius | |
| 15 | - | D = kasf*eye(2); |
| 15 | + | Tinf = 25; %Celcius |
| 16 | ||
| 17 | ep = 30; %mm | |
| 18 | D1 = kasf*eye(2); | |
| 19 | - | Dof = [1:108]'; |
| 19 | + | D2 = ksteel*eye(2); |
| 20 | ||
| 21 | KE = zeros(3,3,178); | |
| 22 | fe = zeros(3,1); | |
| 23 | Edof = zeros(4,178); | |
| 24 | Dof = (1:108)'; | |
| 25 | K = zeros(108,108); | |
| 26 | %Kc = zeros(108,108); | |
| 27 | f = zeros(108, 1); | |
| 28 | f(1) = eq; | |
| 29 | f(6) = eq; | |
| 30 | f(12) = eq; | |
| 31 | f(19) = eq; | |
| 32 | f(27) = eq; | |
| 33 | f(35) = eq; | |
| 34 | f(43) = eq; | |
| 35 | f(51) = eq; | |
| 36 | f(59) = eq; | |
| 37 | f(67) = eq; | |
| 38 | f(75) = eq; | |
| 39 | - | |
| 39 | + | f(83) = eq; |
| 40 | f(91) = eq; | |
| 41 | f(98) = eq; | |
| 42 | f(104) = eq; | |
| 43 | ||
| 44 | - | l = l + 1 |
| 44 | + | |
| 45 | for j=1:49, | |
| 46 | i = Coord(j,1); | |
| 47 | ||
| 48 | ||
| 49 | if (i == 0) | |
| 50 | nodejump = 5; | |
| 51 | elseif (i == 20/3) | |
| 52 | nodejump = 6; | |
| 53 | elseif (i == 40/3) | |
| 54 | nodejump = 7; | |
| 55 | else | |
| 56 | nodejump = 8; | |
| 57 | end | |
| 58 | ||
| 59 | if (Coord(j,2) < Coord(j+nodejump+1,2)) | |
| 60 | l = l + 1; | |
| 61 | ||
| 62 | x1 = Coord(j,1); | |
| 63 | - | KE(:,:,l) = flw2te(ex,ey,ep,D); |
| 63 | + | |
| 64 | ||
| 65 | x2 = Coord(j+nodejump,1); | |
| 66 | y2 = Coord(j+nodejump,2); | |
| 67 | ||
| 68 | - | l = l + 1 |
| 68 | + | |
| 69 | y3 = Coord(j+nodejump+1,2); | |
| 70 | ||
| 71 | ||
| 72 | Edof(:,l) = [l j j+nodejump j+nodejump+1 ]; | |
| 73 | ||
| 74 | ||
| 75 | ex = [x1 x2 x3]; | |
| 76 | ey = [y1 y2 y3]; | |
| 77 | ||
| 78 | if ((j == 38) || (j == 39) || (j == 46) || (j == 47)) | |
| 79 | KE(:,:,l) = flw2te(ex,ey,ep,D2); | |
| 80 | else | |
| 81 | KE(:,:,l) = flw2te(ex,ey,ep,D1); | |
| 82 | end | |
| 83 | end | |
| 84 | ||
| 85 | if (Coord(j,2) < Coord(j+1,2)) | |
| 86 | l = l + 1; | |
| 87 | - | KE(:,:,l) = flw2te(ex,ey,ep,D); |
| 87 | + | |
| 88 | x1 = Coord(j,1); | |
| 89 | y1 = Coord(j,2); | |
| 90 | ||
| 91 | x2 = Coord(j+1,1); | |
| 92 | y2 = Coord(j+1,2); | |
| 93 | ||
| 94 | x3 = Coord(j+nodejump+1,1); | |
| 95 | y3 = Coord(j+nodejump+1,2); | |
| 96 | ||
| 97 | Edof(:,l) = [l j j+1 j+nodejump+1 ]; | |
| 98 | ||
| 99 | ex = [x1 x2 x3]; | |
| 100 | ey = [y1 y2 y3]; | |
| 101 | ||
| 102 | if ((j == 38) || (j == 39) || (j == 46) || (j == 47)) | |
| 103 | KE(:,:,l) = flw2te(ex,ey,ep,D2); | |
| 104 | else | |
| 105 | KE(:,:,l) = flw2te(ex,ey,ep,D1); | |
| 106 | end | |
| 107 | end | |
| 108 | end | |
| 109 | - | l = l + 1 |
| 109 | + | |
| 110 | l = 89; | |
| 111 | for j=51:102, | |
| 112 | i = Coord(j,1); | |
| 113 | ||
| 114 | if (i == 200/3) | |
| 115 | nodejump = 7; | |
| 116 | elseif (i == 220/3) | |
| 117 | nodejump = 6; | |
| 118 | - | y3 = Coord(j+1,2); |
| 118 | + | |
| 119 | nodejump = 8; | |
| 120 | end | |
| 121 | ||
| 122 | if (Coord(j,2) < Coord(j+1,2)) | |
| 123 | l = l + 1; | |
| 124 | ||
| 125 | x1 = Coord(j,1); | |
| 126 | y1 = Coord(j,2); | |
| 127 | ||
| 128 | - | KE(:,:,l) = flw2te(ex,ey,ep,D); |
| 128 | + | |
| 129 | y2 = Coord(j+nodejump,2); | |
| 130 | ||
| 131 | x3 = Coord(j+1,1); | |
| 132 | y3 = Coord(j+1,2); | |
| 133 | - | l = l + 1 |
| 133 | + | |
| 134 | Edof(:,l) = [l j j+nodejump j+1 ]; | |
| 135 | ||
| 136 | ex = [x1 x2 x3]; | |
| 137 | ey = [y1 y2 y3]; | |
| 138 | ||
| 139 | if ((j == 54) || (j == 55) || (j == 62) || (j == 63)) | |
| 140 | KE(:,:,l) = flw2te(ex,ey,ep,D2); | |
| 141 | else | |
| 142 | KE(:,:,l) = flw2te(ex,ey,ep,D1); | |
| 143 | end | |
| 144 | end | |
| 145 | ||
| 146 | if ((j < 102) && Coord(j,2) < Coord(j+nodejump+1,2)) | |
| 147 | l = l + 1; | |
| 148 | ||
| 149 | x1 = Coord(j+nodejump+1,1); | |
| 150 | y1 = Coord(j+nodejump+1,2); | |
| 151 | ||
| 152 | - | KE(:,:,l) = flw2te(ex,ey,ep,D); |
| 152 | + | |
| 153 | y2 = Coord(j+1,2); | |
| 154 | ||
| 155 | x3 = Coord(j+nodejump,1); | |
| 156 | y3 = Coord(j+nodejump,2); | |
| 157 | ||
| 158 | - | Edof = Edof' |
| 158 | + | |
| 159 | - | [Ex,Ey] = coordxtr(Edof,Coord,Dof,3) |
| 159 | + | |
| 160 | ||
| 161 | ||
| 162 | ex = [x1 x2 x3]; | |
| 163 | ey = [y1 y2 y3]; | |
| 164 | ||
| 165 | ||
| 166 | if ((j == 54) || (j == 55) || (j == 62) || (j == 63)) | |
| 167 | KE(:,:,l) = flw2te(ex,ey,ep,D2); | |
| 168 | else | |
| 169 | KE(:,:,l) = flw2te(ex,ey,ep,D1); | |
| 170 | end | |
| 171 | end | |
| 172 | end | |
| 173 | ||
| 174 | Edof = Edof'; | |
| 175 | [Ex,Ey] = coordxtr(Edof,Coord,Dof,3); | |
| 176 | eldraw2(Ex,Ey,[1,2,2]) | |
| 177 | ||
| 178 | for j=1:178, | |
| 179 | K=assem(Edof,K,KE(:,:,j)); | |
| 180 | end | |
| 181 | ||
| 182 | %Boundary cond. | |
| 183 | % Tg = 300; | |
| 184 | % bc = [(1:108)' zeros(108,1)]; | |
| 185 | % bc(:,2) = Tinf; | |
| 186 | % bc(1,2) = Tg; | |
| 187 | % bc(6,2) = Tg; | |
| 188 | % bc(12,2) = Tg; | |
| 189 | % bc(19,2) = Tg; | |
| 190 | % bc(27,2) = Tg; | |
| 191 | % bc(35,2) = Tg; | |
| 192 | % bc(43,2) = Tg; | |
| 193 | % bc(51,2) = Tg; | |
| 194 | % bc(59,2) = Tg; | |
| 195 | % bc(67,2) = Tg; | |
| 196 | % bc(75,2) = Tg; | |
| 197 | % bc(83,2) = Tg; | |
| 198 | % bc(91,2) = Tg; | |
| 199 | % bc(98,2) = Tg; | |
| 200 | % bc(104,2) = Tg; | |
| 201 | ||
| 202 | bc = [ | |
| 203 | % 2 Tinf; | |
| 204 | % 3 Tinf; | |
| 205 | % 4 Tinf; | |
| 206 | % 5 Tinf; | |
| 207 | % 11 Tinf; | |
| 208 | % 18 Tinf; | |
| 209 | ||
| 210 | 26 Tg; | |
| 211 | 34 Tg; | |
| 212 | 42 Tg; | |
| 213 | 50 Tg; | |
| 214 | 58 Tg; | |
| 215 | 66 Tg; | |
| 216 | 74 Tg; | |
| 217 | 82 Tg; | |
| 218 | 90 Tg ]; | |
| 219 | ||
| 220 | % 97 Tinf; | |
| 221 | % 103 Tinf; | |
| 222 | % 105 Tinf; | |
| 223 | % 106 Tinf; | |
| 224 | % 107 Tinf; | |
| 225 | % 108 Tinf]; | |
| 226 | ||
| 227 | % dt = 0.5; | |
| 228 | % T = 60 | |
| 229 | % ip = [dt T alfa | |
| 230 | [a,r]=solveq(K,f,bc); | |
| 231 | ||
| 232 | Ed=extract(Edof,a); | |
| 233 | for j=1:178 | |
| 234 | if ((j == 38) || (j == 39) || (j == 46) || (j == 47) || (j == 54) || (j == 55) || (j == 62) || (j == 63)) | |
| 235 | Es(j,:)=flw2ts(Ex(j,:),Ey(j,:),D2,Ed(j,:)); | |
| 236 | else | |
| 237 | Es(j,:)=flw2ts(Ex(j,:),Ey(j,:),D1,Ed(j,:)); | |
| 238 | end | |
| 239 | end | |
| 240 | ||
| 241 | sfac=scalfact2(Ex,Ey,Es,0.5); | |
| 242 | eldraw2(Ex,Ey,[1,3,0]); | |
| 243 | elflux2(Ex,Ey,Es,[1,4],sfac); | |
| 244 | pltscalb2(sfac,[2e-2 0.06 0.01],4); | |
| 245 | pause; clf; | |
| 246 | eldraw2(Ex,Ey,[1,3,0]); | |
| 247 | eliso2(Ex,Ey,Ed,5,[1,4]); | |
| 248 | ||
| 249 | colormap('jet')
| |
| 250 | fill(Ex',Ey',Ed') | |
| 251 | axis equal |