반구에 대해 열 전달 (열전도 및 대류)을 적용하고 싶습니다. 이것은 구 좌표계에서 일시적으로 균질 한 열전달입니다. 발열은 없습니다. 반구의 경계 조건은 Tinitial = 20도 실내 온도에서 시작됩니다. 외부 환경 온도는 -22도입니다. 반구가 견고한 소재라고 상상할 수 있습니다. 또한 소재가 동결 된 후 열전도율이 변하기 때문에 비선형 모델이며 온도 프로파일이 변경됩니다.구면 좌표계 경계 조건 구현을위한 열전달
중심 온도가 -22도에 도달 할 때까지 일정한 시간 동안이 고체의 온도 프로필을 찾고 싶습니다.
이 경우 온도는 3 개의 매개 변수 T (r, theta, t)에 따라 달라집니다. 반경, 각도 및 시간. (∂T (r, θ, t))/∂t = 1/r^2 * ∂/∂r (∂T (r, θ, t))/∂r
내가 matlab을 사용하여 유한 차분 법을 적용했지만, 경계 조건에 문제가있다.(),(),(), ∂θ/. 반구의 표면에는 대류가 있고, 내부 노드의 전도는 반구의 바닥이 공기 온도 (-22) 인 일정한 온도를 갖는다. matlab 파일에서 BC에 사용하고있는 스크립트를 볼 수 있습니다.
% Temperature at surface of hemisphere solid boundary node
for i=nodes
for j=1:1:(nodes-1)
Qcd_ot(i,j)= ((k(i,j)+ k(i-1,j))/2)*A(i-1,j)*((Told(i,j)-Told(i-1,j))/dr); % heat conduction out of node
Qcv(i,j) = h*(Tair-Told(i,j))*A(i,j); % heat transfer through convectioin on surface
Tnew(i,j) = ((Qcv(i,j)-Qcd_ot(i,j))/(mass(i,j)*cp(i,j))/2)*dt + Told(i,j);
end % end of for loop
end
% Temperature at inner nodes
for i=2:1:(nodes-1)
for j=2:1:(nodes-1)
Qcd_in(i,j)= ((k(i,j)+ k(i+1,j))/2)*A(i,j) *((2/R)*((Told(i+1,j)-Told(i,j))/(2*dr)) + ((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/(dr^2)) + ((cot(y)/(R^2))*((Told(i,j+1)-Told(i,j-1))/(2*dy))) + (1/(R^2))*(Told(i,j+1)-2*Told(i,j)+ Told(i,j-1))/(dy^2));
Qcd_out(i,j)= ((k(i,j)+ k(i-1,j))/2)*A(i-1,j)*((2/R)*((Told(i,j)-Told(i-1,j))/(2*dr)) +((Told(i+1,j)-2*Told(i,j)+Told(i-1,j))/(dr^2)) + ((cot(y)/(R^2))*((Told(i,j+1)-Told(i,j-1))/(2*dy))) + (1/(R^2))*(Told(i,j+1)-2*Told(i,j)+ Told(i,j-1))/(dy^2));
Tnew(i,j) = ((Qcd_in(i,j)-Qcd_out(i,j))/(mass(i,j)*cp(i,j)))*dt + Told(i,j);
end %end for loop
end % end for loop
%Temperature for at center line nodes
for i=2:1:(nodes-1)
for j=1
Qcd_line(i,j)=((k(i,j)+ k(i+1,j))/2)*A(i,j)*(Told(i+1,j)-Told(i,j))/dr;
Qcd_lineout(i,j)=((k(i,j)+ k(i-1,j))/2)*A(i-1,j)*(Told(i,j)-Told(i-1,j))/dr;
Tnew(i,j)= ((Qcd_line(i,j)-Qcd_lineout(i,j))/(mass(i,j)*cp(i,j)))*dt + Told(i,j);
end
end
% Temperature at bottom point (center) of the hemisphere solid
for i=1
for j=1:1:(nodes-1)
Qcd_center(i,j)=(((k(i,j)+k(i+1,j))/2)*A(i,j)*(Told(i+1,j)-Tair)/dr);
Tnew(i,j)= ((Qcd_center(i,j))/(mass(i,j)*cp(i,j)))*dt + Told(i,j);
end
end
% Temperature at all bottom points of the hemisphere
Tnew(:,nodes)=-22;
Told=Tnew;
t=t+dt;
에서, Tnew 온도 값은 프로그램이 실행 된 후 더 큰 기하 급수적으로 점점 다음 NaN이되고있다. 테일 온도에 도달 할 때까지 고체의 온도 프로파일을 냉각시키고 얼려 보여야합니다. 나는 그것이 왜 그렇게 변화하는지 이유를 알 수 없었다.
이 프로그램의 BC 구현에 대한 의견을 듣고 싶습니다. 또는이 조건에 따라 어떻게 변경해야합니까? 미리 감사드립니다 !!
나를 위해 솔직히이 포럼은 그러한 정확한 질문을하는 것이 적절하지 않다고 생각합니다. 나는 열 엔지니어이기도합니다. 근본적으로 구현 오류가있을 수 있습니다. 버그 또는 차별화 오류 –