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