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