{ Th2LS_1.PDE } { ************************************************************** Тестовая задача, иллюстрирующая решение краевой задачи для уравнения теплопроводности с различными типами граничных условий. Геометрия области --- тело в форме буквы "Ь". На нижней границе области задается температура Temp=10 (здесь и далее все величины --- безразмерные), на верхней границе области --- условие конвективного теплообмена с коэффициентом теплообмена hf=1 и температурой окружающей среды Text=0, на остальных участках границы равен нулю тепловой поток. *************************************************************** Уравнение теплопроводности можно записать в форме div(flux) = Source (*) где flux = -K*grad(Temp) --- вектор потока тепла, K --- коэффициент теплопроводности, Temp --- температура, Source --- интенсивность объемных источников тепла. Основными граничными условиями для уравнения теплопроводности являются: 1) задание поля температуры на части границы Temp = {Значение температуры} 2) задание теплового потока q_{Gamma} normal flux = -q_{Gamma} причем здесь принято правило знаков, согласно которому тепловой поток q_{Gamma} является положительным, если тепло приобретается телом 3) условие конвективного теплообмена normal flux = -hf*(Text - Temp) где hf --- коэффициент конвективного теплообмена, Text --- температура окружающей среды. Для уравненея теплопроводности в форме (*) граничное условие 1) является главным, и во FlexPDE может быть задано так: value(Temp) = {Значение температуры} Условие 2) является естественным, и во FlexPDE представляется в виде: natural(Temp) = -q_{Gamma} Условие 3) во FlexPDE тогда можно задать следующим образом: natural(Temp) = -hf*(Text - Temp) !!! Важное замечание !!! Описанная выше форма задания граничных условий зависит от расстановки знаков при записи уравнения теплопроводности и граничных условий. *************************************************************** } title "temperature distribution" select errlim = 1e-5 {величина погрешности решения} Variables Temp {переменная для поля температуры} definitions hl=0.4 {толщина буквы} K = 1 {коэффициент теплопроводности } Source = 0 { функция источника (может быть опущена) } hf=1 {коэффициент теплообмена} Text = 0 { температура окружающей среды } flux = -K*grad(Temp) { вектор потока тепла } equations div(flux) = Source { уравнение теплопроводности} { ( или в форме div(flux) = 0 при Source = 0) } boundaries { геометрия области и граничные условия } Region 1 {1 область } start (0,-1) natural(Temp)=0 {поток тепла равен нулю} arc (center=0,0) to (1.5,0) {дуга в форме части эллипса} arc (center=0,0) to (0,1) line to (0,2.5) natural(Temp)=-hf*(Text-Temp) {конвективный теплообмен} line to (-hl,2.5) natural(Temp)=0 line to (-hl,-1) value(Temp)=10 {часть границы с заданной температрой} line to close start (0,-1+hl) {отверстие в букве Ь} natural(Temp)=0 arc (center=0,0) to (1.5-hl,0) arc (center=0,0) to (0,1-hl) line to close monitors contour(Temp) { Показ процесса решения } plots { Результирующие графики } grid(x,y) as "Elements grid" contour(Temp) painted as "Temperature field" vector(flux) as "Heat flow" end