Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы решения задач теплообмена. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
825 Кб
Скачать

Глава 4. ИНЖЕНЕРНО-КИНЕТИЧЕСКИЕ МЕТОДЫ РАСЧЁТА ПРОЦЕССОВ ТЕПЛООБМЕНА И СУШКИ

Методы, сочетающие кинетическую разбивку процесса сушки на зоны, инженерно-физическую аппроксимацию границ зон и необходимых ТМПХ и аналитические решения задач тепло- и массопереноса в пределах каждой зоны при интервальном подходе, можно называть инженерно-кинетическими. При этом требуется свести задачи теплопереноса и массопереноса с соответствующими граничными условиями к аналогичной форме, что достигается введением эффективных коэффициентов переноса и характеристик [72, 73, 88, 140, 158]. Наличие взаимосвязанности тепло- и массопереноса учитывается использованием температурно-влажностных зависимостей [60, 61, 65, 69, 72].

Классической является система уравнений тепло- и массопереноса при сушке А. В. Лыкова [93, 96, 184]

T (x,τ)

= a

2T (x,τ)

+

ε r

 

u(x,τ)

;

(95а)

∂τ

 

x2

c

∂τ

 

 

 

 

 

 

u(x,τ)

= D

2u(x,τ)

t

2T (x,τ)

.

(95б)

∂τ

x2

 

x 2

 

 

 

 

 

 

 

Для линейных задач система (95) (или аналогичная система для нелинейных задач [1]) вполне может применяться в единообразных «эквивалентных» постановках, соответствующих конкретным условиям. При этом должны учитываться реальный механизм переноса и соответствующие вышеперечисленные явления.

Целесообразно и вполне обоснованно принять переменный «критерий» фазового превращения в уравнении (95а) в 1-м периоде сушки

ε= 0, что соответствует поверхностному испарению, а во 2-м периоде

ε= 1, что соответствует объёмному испарению. Это было подтверждено прямыми экспериментами по миграции и по тепловым полям [58, 100].

Тогда сток тепла на поверхностное испарение в первом периоде войдёт в эквивалентные ГУ:

λ

э

T (l,τ)

= α

э

[T

T (l,τ)] ,

(96)

 

∂τ

 

 

 

 

51

где

 

 

 

 

 

 

 

β

исп

r

b

 

 

 

 

 

α

 

= α

 

1+

 

 

 

n

;

 

 

(97)

э

эф

 

 

 

αэф

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

+

qизл

 

βисп r an

 

 

 

 

 

 

 

 

 

 

 

T

 

=

c

 

αэф

 

 

 

 

αэф

 

 

 

.

(98)

 

 

1+

βисп r an

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

αэф

 

 

 

 

 

 

 

Здесь αэф учитывает вклад теплоподвода и конвекцией, и излучением; βисп – считается по критериальному уравнению; an, bn – коэффициенты аппроксимации уравнения для концентрации насыщенного пара у поверхности:

Снас(Т) = an + bnT.

Причем Снас = Снас(Рнас(Т(l, τ)), где Рнас(Т) аппроксимируется экспоненциальным и весьма точным уравнением Антуана.

Во 2-м периоде сток тепла на объёмное испарение войдёт в эквивалентную теплоёмкость:

сэф = ст +сж u r du bт , dτ

где bт = dT – наклон температурно-влажностной кривой (см. ниже). d u

«Истинная» термодиффузия (коэффициент δт) как проявление термодинамической связи по Озангеру между переносом тепла и массы для тел макропористого строения и для дисперсий, очевидно, пренебрежимо мала, а известные эффекты перераспределения влаги вызываются макроскопическими явлениями (капиллярными течениями, натеканием, расширением и насыщением воздуха, механической усадкой и многими другими, что неоднократно анализировалось). Поэтому целесообразнее в уравнении (95б) эти эффекты учитывать введением в

первое слагаемое эквивалентного коэффициента диффузии Dэ, а дополнительно учитывать взаимодействие тепло- и массопереноса жёсткой, надёжной и наблюдаемой связью – использованием самостоятельной температурно-влажностной зависимости.

Граничные условия массопереноса для 1-го периода – это ГУ-3 поверхностного испарения

Dэ

C(l, τ)

= βисп[С(T (l, τ)) Cо],

(99)

x

 

 

 

52

а для 2-го периода обычные условные ГУ-3, отнесеённые к перепаду фактических и квазиравновесных концентраций влаги на поверхности материала:

Dэ

С(l,τ) * [С(l,τ) Cкв* (Т(l,τ))].

(100)

 

x

 

При этом объёмная концентрация влаги С, кг вл./м3 вл. материала в уравнениях диффузии, включающих Dэ, м2/с, пересчитывается в удобные для расчётов сушки относительные влагосодержания u, кг вл./кг абс. сух. материала по обычному соотношению:

u=C 1П ,

ρск

где П – фактическая пористость в данный момент процесса (и в данном сечении материала), т.е. доля объёма, не занятая «абсолютно» сухим материалом («скелетом»).

Границы зон удобнее всего аппроксимировать критическими влагосодержаниями u1кр и u2кр и соотношениями кусочно-линейной или другой температурно-влажностной зависимости (рис. 22).

Для ряда материалов возможна оценка uкр по А. В. Лыкову [93]

(0,56uo при полном заполнении пор ) или по О. Кришеру [43, 93] (с учётом распределения пор по размерам).

Известна сильная зависимость uкр от режима сушки и от толщи-

ны материала [43, 93, 178 и др.].

Очевидно, этого можно избежать или хотя бы уменьшить влияние режима и толщины, если использовать критические влагосодержания на поверхности материала или дисперсии uкр. пов.

В нашем случае это должно быть связано с потерей текучести, структурообразованием, коркообразованием и пр. в поверхностном слое (см. например [26, 51, 59]).

Тогда при слабом структурировании для 1-го критического влагосодержания можно прогнозировать аппроксимацию типа:

 

 

 

 

 

ρ

ж

 

Пкр

 

μ(T

) 0,5

 

u

кр.пов

= K

ф

 

 

 

 

 

пов

 

,

 

 

 

 

 

 

ρтв

1Пкр

 

μбаз

 

 

 

 

 

 

 

 

 

 

где Пкр – пористость, соответствующая такой укладке частиц в жидкости, при которой резко снижается подвижность дисперсии

53

Рис. 22. Различные варианты температурно-влажностных зависимостей

из-за соприкосновения частиц и сил трения, сцепления и пр.; предварительно можно оценить Пкр= 0,4, соответствующее средней пористости типовых зернистых укладок; Kф – коэффициент фракционного состава и формы частиц.

Влияние температуры поверхности на подвижность поверхностного слоя в первом приближении можно оценить соотношением фактической вязкости чистой жидкости и некоторой «базовой» вязкости, например, при комнатной температуре исходной суспензии.

54

Все это должно в достаточной степени коррелировать с подвижностью исходной дисперсии, зависящей от её концентрации. Поэтому весьма важными являются данные по сушке одних и тех же дисперсий в широком диапазоне концентраций: от близких по текучести к чистой жидкости (8…10% тв. фазы и менее) до практически нетекучих паст (50% тв. фазы и более).

Явный вид этих зависимостей, естественно, может быть найден только обработкой экспериментальных данных.

Вторая критическая влажность u2кр должна быть связана с образованием поверхностной «корки», приводящей к необходимости её «прорыва» в режиме, близком к подкорковому кипению [62].

Для больших толщин возможны классические механизмы «углубления поверхности (зоны) испарения» [63, 93, 105 и др.].

Аппроксимации величин u2кр вполне возможны на основе аналогичных соображений. Детальный количественный модельный подход такого рода был показан ранее в работах ТГТУ [1, 2, 3, 16].

В пределах зон с переменной температурой аппроксимация тем- пературно-влажностных зависимостей была ранее предложена и опробована в ТГТУ несколькими способами [62, 69]. Для сушки дисперсий наиболее перспективно использование линейно-гиперболи- ческой температурно-влажностной зависимости [60, 72].

Схема такой аппроксимации приведена на рис. 23. Основные соотношения для её расчёта следующие:

T

(u)=

u bт

,

где ϕ=

bт

, b

т.баз

= −

d

T

.

 

 

 

 

 

 

п

 

au +c

 

 

bт.баз

 

d u

 

 

 

 

 

 

Значения a, с находятся из граничных точек.

В итоге методика инженерно-кинетического расчёта сводится к использованию аналитических решений с введением аппроксимации температурно-влажностной зависимости и тепломассопереносных характеристик.

Кроме вышеперечисленных, будут применяться также получаемые нами для наших конкретных условий зависимости для коэффициентов теплоотдачи α(u) и массоотдачи β(u). Необходима также хотя бы грубая оценка эффективного коэффициента диффузии влаги Dэф и значения равновесного (квазиравновесного) влагосодержания u*, u*кв в высушиваемых дисперсиях.

Здесь возможны многочисленные варианты зависимостей, выбор которых должен производиться на базе анализа экспериментальных данных.

55

а)

б)

Рис. 23. Схема гиперболической аппроксимации температурновлажностной зависимости по зонам в функции влагосодержания

Эти и некоторые другие необходимые материалы дополнительно рассматриваются непосредственно в литературе по анализу и обработке экспериментальных данных.

Приведём листинг основных процедур программы расчёта полей темепартуры и концентрации при сушке дисперсных продуктов на твёрдых подложках (язык Visual Basic).

56

Описание переменных

Dim tay(250); texp(250); mu_T(50); A1n_T(50); A2n_T(50); Mn_T(50); fi1_T(50); fi2_T(50) As Double Dim gexp(250); Uexp(250); mu_D(50); A1n_D(50); A2n_D(50); Mn_D(50); fi1_D(50); fi2_D(50) As Double Dim T10; T20; Cw1_T; Cw2_T; Cw3_T; Cw4_T; Tc; Tizl; Tc1r; Tc2r; w; xc; Tc1; Tc2 As Double Dim U10; U20; Cw1_D; Cw2_D; Cw3_D; Cw4_D; Uc; Uc1; Uc2 As Double

Dim a1; lambda1; c1; ro1; l1_T; a2; lambda2; c2; ro2; l2_T As Double Dim D1; l1_D; D2; l2_D As Double Dim lopr As Double Dim h1_T; h2_T; alfa1; alfa2; alf_eff As Double

Dim h1_D; h2_D; beta1; beta2; bet_eff As Double Dim i; n; nd As Integer Dim tau; dtau; dtau1; x_T1; x_T2; x_D1; x_D2; dx1; dx2 As Double Dim l1; l2 As Double

Dim Fobr; gabs; m0; procent As Double Dim tr(350); gr(350) As Double Dim T_test; Tmt; Tc_ekv; tau_krit; tau_kon As Double Dim t1s; t2s As Double

Dim u1s; u2s; u2sr; u2lp; u2ld As Double Dim Tps; Tps1; Tps2; Tpod0; bet1per; skor1 As Double

Dim shifr As String Dim tochn; U_krit; Ukvrav; gkrit; fi1 As Double Dim trr As Variant Dim qq; elj1 As Integer

Ввод исходных данных

Sub data()

With ThisWorkbook.Worksheets("Данные")

Tc = .Range("H2").Value Tizl = .Range("I2").Value w = .Range("H3").Value xc = .Range("H4").Value

shifr = .Range("A2").Value gabs = .Range("H10").Value * ,001 m0 = .Range("H11").Value * ,001 lopr = .Range("H7").Value lambda1 = .Range("K2").Value c1 = .Range("K3").Value

ro1 = .Range("K4").Value U_krit = .Range("H14").Value tau_krit = .Range("H15").Value tau_kon = .Range("H16").Value dtau = .Range("K10").Value dtau1 = .Range("K11").Value

l1 = .Range("K5").Value * ,001 Tpod0 = .Range("H5").Value Fobr = ,045 * ,035' lambda2 = .Range("5").Value End With With ThisWorkbook.Worksheets("Настройки")

n = .Range("E3").Value tochn = .Range("E4").Value

D2 = .Range("E9").Value Ukvrav = .Range("E10").Value fi1 = .Range("E11").Value

End With End Sub

57

Расчет коэффициентов тепломассоотдачи

Function alfa_suh(t; w) As Double

lambdav = ,02437 + ,000075 * t rov = 353 / (t + 273) muv = (17,1 + ,047 * t) * ,000001

cv = 1010 av = lambdav / (cv * rov) Re = w * lopr * rov / muv Pr = muv / (av * rov)

Nu_suh = 1,8 * Re ^ ,5 * Pr ^ ,333 'Nu_suh = 1,57 * Re ^ ,5 * Pr ^ ,333 alfa_suh = lambdav * Nu_suh / lopr

End Function

Function alfa_isp(t; w) As Double

lambdav = ,02437 + ,000075 * t rov = 353 / (t + 273) muv = (17,1 + ,047 * t) * ,000001 cv = 1010

av = lambdav / (cv * rov) Re = w * lopr * rov / muv Pr = muv / (av * rov) Nu_isp = 5,5 * Re ^ ,375 * Pr ^ ,333

End Function

Function beta_isp(t; w) As Double

lambdav = ,02437 + 7,5 * ,00001 * t rov = 353 / (t + 273)

muv = (17,1 + ,047 * t) * ,000001 Dn = ,0000216 * ((t + 273) / 273) ^ 1,8 Re = w * lopr * rov / muv Sc = muv / (Dn * rov) 'Nu_dif = 6,9 * Re ^ 0,4 * Sc ^ 0,333 'Nu_dif = ,7 * Re ^ ,5 * Sc ^ ,333 Nu_dif = 4,95 * Re ^ ,37 * Sc ^ ,33 beta_isp1 = Dn * Nu_dif / lopr

End Function

Function alfa_izl(Tc1; tm1) As Double Dim c0; e1; e2; epr As Double

c0 = ,0000000567 e1 = 1 e2 = ,8 epr = 1 / (1 / e1 + 1 / e2 – 1)

alfa_izl = epr * c0 * ((Tc1 + 273) ^ 4 – (tm1 + 273) ^ 4) / (Tc1 – tm1 + ,00001)

End Function

Расчет значений А1 температурной задачи

Function fun1_t(xx) As Double

fun1_t = (T10 – Cw1_T * xx – Cw2_T) * Sin(mu_T(i) * xx / Sqr(a1) + fi1_T(i))

End Function

Function fun2_t(xx) As Double

fun2_t = (T20 – Cw3_T * xx – Cw4_T) * Sin(mu_T(i) * xx / Sqr(a2) + fi2_T(i))

End Function

Function fun3_t(xx) As Double

fun3_t = Sin(mu_T(i) * xx / Sqr(a1) + fi1_T(i)) * Sin(mu_T(i) * xx / Sqr(a1) + fi1_T(i))

End Function

58

Function fun4_t(xx) As Double

fun4_t = Sin(mu_T(i) * xx / Sqr(a2) + fi2_T(i)) * Sin(mu_T(i) * xx / Sqr(a2) + fi2_T(i))

End Function

Function itgr1_t(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun1_t(ai) + fun1_t(bi)) / 2 ai = bi

Next itgr1_t = in1 End Function

Function itgr2_t(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun2_t(ai) + fun2_t(bi)) / 2 ai = bi

Next itgr2_t = in1 End Function

Function itgr3_t(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun3_t(ai) + fun3_t(bi)) / 2 ai = bi

Next itgr3_t = in1 End Function

Function itgr4_t(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer

ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0 For ii = 1 To nn

bi = ai + dx: in1 = in1 + (bi – ai) * (fun4_t(ai) + fun4_t(bi)) / 2 ai = bi Next itgr4_t = in1

End Function

Sub znach_a1n_t()

Dim chislit1; chislit2; znamenat As Double Dim Tp10; Tp20 As Double

Dim prom1; prom2 As Double

Tp10 = T10 – Cw2_T Tp20 = T20 – Cw4_T

For i = 1 To n pr1 = (lambda1 / a1) * itgr1_t(0; l1_T) pr2 = (lambda2 * Mn_T(i) / a2) * itgr2_t(0; l2_T)

pr3 = (lambda1 / a1) * itgr3_t(0; l1_T) pr4 = (lambda2 * Mn_T(i) * Mn_T(i) / a2) * itgr4_t(0; l2_T)

59

A1n_T(i) = (pr1 + pr2) / (pr3 + pr4) statsbar "Найдено значений А1-"; i Next

End Sub

Расчет значений А2 температурной задачи

Sub znach_a2n_t()

Dim i As Integer Dim norma As Double

For i = 1 To n A2n_T(i) = A1n_T(i) * Mn_T(i) Next End Sub

Расчет значений Mn температурной задачи

Sub znach_Mn_t() Dim i As Integer

For i = 1 To n Mn_T(i) = Sin(mu_T(i) * l1_T / Sqr(a1) + fi1_T(i)) / Sin(fi2_T(i)) Next

End Sub

Расчет корней характеристического уравнения температурной задачи

Function Sign(ff As Double) As Boolean

If ff >= 0 Then Sign = True Else Sign = False End Function

Function F_1_t(xx) As Double

F_1_t = (Sqr(a1) / lambda1) * Sin(xx * l1_T / Sqr(a1) + Atn(xx / (h1_T * Sqr(a1)))) * _

Cos(-xx * l2_T / Sqr(a2) – Atn(xx / (h2_T * Sqr(a2)))) End Function

Function F_2_t(xx) As Double

F_2_t = (Sqr(a2) / lambda2) * Cos(xx * l1_T / Sqr(a1) + Atn(xx / (h1_T * Sqr(a1)))) * _

Sin(-xx * l2_T / Sqr(a2) – Atn(xx / (h2_T * Sqr(a2)))) End Function

Sub znach_mu_t() Dim i As Integer

Dim temp As Double Dim x0; dx; dmu; m_u As Double Dim sign_pr As Boolean

dx = tochn x0 = 0 temp = F_1_t(x0) – F_2_t(x0)

If Sign(temp) = True Then sign_pr = True Else sign_pr = False i = 0 While i < n

x0 = x0 + dx temp = F_1_t((x0)) – F_2_t((x0)) If Sign(temp) = sign_pr Then i = i Else sign_pr = Not sign_pr: i = i + 1: mu_T(i) = (x0 – dx / 2): statsbar "Найдено корней mu_t -"; i & " =" & mu_T(i): If i >= 2 Then x0 = mu_T(i) + Fix(mu_T(i) – mu_T(i – 1)) Wend

End Sub

60

Расчет значений Fi температурной задачи

Sub znach_fi1_t() Dim i As Integer

For i = 1 To n fi1_T(i) = Atn(mu_T(i) / (h1_T * Sqr(a1))) Next End Sub

Sub znach_fi2_t() Dim i As Integer

For i = 1 To n fi2_T(i) = -Atn(mu_T(i) / (h2_T * Sqr(a2))) – mu_T(i) * l2_T / Sqr(a2) Next

End Sub

Расчет значений Cwi температурной задачи

Sub znach_cw_t()

Cw1_T = (h2_T * Tc2 – h2_T * Tc1) / ((lambda1 / lambda2) + l1_T * h2_T + (h2_T / h1_T) + h2_T * l2_T * lambda1 / lambda2) Cw2_T = (Cw1_T + h1_T * Tc1) / h1_T Cw3_T = Cw1_T * lambda1 / lambda2 Cw4_T = Cw2_T + Cw1_T * l1_T

End Sub

Расчет значений Т(x,tau)

Function W_1_t(xx1) As Double W_1_t = Cw1_T * xx1 + Cw2_T

End Function

Function T_1(xx; ttau) As Double

Dim i As Integer Dim e; pT; Xn; Tn As Double

pT = 0 For i = 1 To n Xn = Sin(mu_T(i) * xx / Sqr(a1) + fi1_T(i)) e = (mu_T(i) * mu_T(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A1n_T(i) * e pT = pT + Xn * Tn

Next T_1 = pT + W_1_t(xx) End Function

Function T_1_s(xx; ttau) As Double

Dim i As Integer Dim e; pT; Xn; Tn As Double

pT = 0 For i = 1 To n Xn = Sin(mu_T(i) * xx / Sqr(a1) + fi1_T(i)) e = (mu_T(i) * mu_T(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A1n_T(i) * e pT = pT + Xn * Tn Next

T_1_s = pT + W_1_t(xx) End Function

Function W_2_t(xx1) As Double W_2_t = Cw3_T * xx1 + Cw4_T

End Function

Function T_2(xx; ttau) As Double

61

Dim i As Integer

Dim e; pT; Xn; Tn As Double pT = 0 For i = 1 To n

Xn = Sin(mu_T(i) * xx / Sqr(a2) + fi2_T(i)) e = (mu_T(i) * mu_T(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A2n_T(i) * e pT = pT + Xn * Tn

Next T_2 = pT + W_2_t(xx) End Function

Function T_2_s(xx; ttau) As Double

Dim i As Integer Dim e; pT; Xn; Tn As Double pT = 0 For i = 1 To n

Xn = Sin(mu_T(i) * xx / Sqr(a2) + fi2_T(i)) e = (mu_T(i) * mu_T(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A2n_T(i) * e pT = pT + Xn * Tn

Next T_2_s = pT + W_2_t(xx) End Function

Расчет значений А1 диффузионной задачи

Function fun1_d(xx) As Double

fun1_d = (U10 – Cw1_D * xx – Cw2_D) * Sin(mu_D(i) * xx / Sqr(D1)

+fi1_D(i)) End Function

Function fun2_d(xx) As Double

fun2_d = (U20 – Cw3_D * xx – Cw4_D) * Sin(mu_D(i) * xx / Sqr(D2)

+fi2_D(i))

End Function

Function fun3_d(xx) As Double

fun3_d = Sin(mu_D(i) * xx / Sqr(D1) + fi1_D(i)) * Sin(mu_D(i) * xx / Sqr(D1) + fi1_D(i))

End Function

Function fun4_d(xx) As Double

fun4_d = Sin(mu_D(i) * xx / Sqr(D2) + fi2_D(i)) * Sin(mu_D(i) * xx / Sqr(D2) + fi2_D(i))

End Function

Function itgr1_d(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun1_d(ai) + fun1_d(bi)) / 2 ai = bi

Next itgr1_d = in1

62

End Function

Function itgr2_d(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun2_d(ai) + fun2_d(bi)) / 2 ai = bi

Next itgr2_d = in1 End Function

Function itgr3_d(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun3_d(ai) + fun3_d(bi)) / 2 ai = bi

Next itgr3_d = in1 End Function

Function itgr4_d(a1; b1) As Double

Dim in1; ai; bi; dx As Double; ii; nn As Integer ai = a1: nn = 1000: dx = (b1 – a1) / nn: in1 = 0

For ii = 1 To nn bi = ai + dx: in1 = in1 + (bi – ai) * (fun4_d(ai) + fun4_d(bi)) / 2 ai = bi

Next itgr4_d = in1 End Function

Sub znach_a1n_d()

Dim chislit1; chislit2; znamenat As Double Dim Up10; Up20 As Double Dim prom1; prom2 As Double

Up10 = U10 – Cw2_D Up20 = U20 – Cw4_D For i = 1 To n

pr1 = (D1 / D1) * itgr1_d(0; l1_D) pr2 = (D2 * Mn_D(i) / D2) * itgr2_d(0; l2_D)

pr3 = (D1 / D1) * itgr3_d(0; l1_D) pr4 = (D2 * Mn_D(i) * Mn_D(i) / D2) * itgr4_d(0; l2_D)

A1n_D(i) = (pr1 + pr2) / (pr3 + pr4) statsbar "Найдено значений А1-"; i Next

End Sub

Расчет значений А2 диффузионной задачи

Sub znach_a2n_d()

Dim i As Integer Dim norma As Double

For i = 1 To n A2n_D(i) = A1n_D(i) * Mn_D(i) Next End Sub

Расчет значений Mn диффузионной задачи -

Sub znach_Mn_d() Dim i As Integer

63

For i = 1 To n Mn_D(i) = Sin(mu_D(i) * l1_D / Sqr(D1) + fi1_D(i)) / Sin(fi2_D(i)) Next

End Sub

Расчет корней характеристического уравнения диффузионной задачи

Function F_1_d(xx) As Double

F_1_d = (Sqr(D1) / D1) * Sin(xx * l1_D / Sqr(D1) + Atn(xx / (h1_D * Sqr(D1)))) * _

Cos(-xx * l2_D / Sqr(D2) – Atn(xx / (h2_D * Sqr(D2)))) End Function

Function F_2_d(xx) As Double

F_2_d = (Sqr(D2) / D2) * Cos(xx * l1_D / Sqr(D1) + Atn(xx / (h1_D * Sqr(D1)))) * _

Sin(-xx * l2_D / Sqr(D2) – Atn(xx / (h2_D * Sqr(D2)))) End Function

Sub znach_mu_d()

Dim i As Integer Dim temp As Double Dim x0; dx; dmu; m_u As Double Dim sign_pr As Boolean

dx = tochn x0 = 0 temp = F_1_d(x0) – F_2_d(x0) If Sign(temp) = True Then sign_pr = True Else sign_pr = False i = 0 While i < n x0 = x0 + dx temp = F_1_d((x0)) – F_2_d((x0))

If Sign(temp) = sign_pr Then i = i Else sign_pr = Not sign_pr: i = i + 1: mu_D(i) = (x0 – dx / 2): statsbar "Найдено корней mu_d -"; i & " =" & mu_D(i): If i >= 2 Then x0 = mu_D(i) + Fix(mu_D(i) – mu_D(i – 1))

Wend

End Sub

Значения Fi диффузионной задачи

Sub znach_fi1_d() Dim i As Integer

For i = 1 To n fi1_D(i) = Atn(mu_D(i) / (h1_D * Sqr(D1))) Next End Sub

Sub znach_fi2_d() Dim i As Integer

For i = 1 To n fi2_D(i) = -Atn(mu_D(i) / (h2_D * Sqr(D2))) – mu_D(i) * l2_D / Sqr(D2)

Next

End Sub

Значения Cwi диффузионной задачи

Sub znach_cw_d()

Cw1_D = (h2_D * Uc2 – h2_D * Uc1) / ((D1 / D2) + l1_D * h2_D + (h2_D / h1_D) + h2_D * l2_D * D1 / D2) Cw2_D = (Cw1_D + h1_D * Uc1) / h1_D Cw3_D = Cw1_D * D1 / D2

64

Cw4_D = Cw2_D + Cw1_D * l1_D End Sub

Расчет значения U(x,tau)

Function W_1_d(xx1) As Double W_1_d = Cw1_D * xx1 + Cw2_D

End Function

Function U_1(xx; ttau) As Double Dim i As Integer

Dim e; pU; Xn; Tn As Double

pU = 0 For i = 1 To n Xn = Sin(mu_D(i) * xx / Sqr(D1) + fi1_D(i)) e = (mu_D(i) * mu_D(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A1n_D(i) * e pU = pU + Xn * Tn

Next U_1 = pU + W_1_d(xx) pereschet 4 End Function

Function U_1_s(xx; ttau) As Double

Dim i As Integer Dim e; pU; Xn; Tn As Double

pU = 0 For i = 1 To n Xn = Sin(mu_D(i) * xx / Sqr(D1) + fi1_D(i))

e = (mu_D(i) * mu_D(i)) * ttau If e > 60 Then e = 0 Else e = Exp(-e) Tn

=A1n_D(i) * e pU = pU + Xn * Tn Next U_1_s = pU + W_1_d(xx) pereschet 4

End Function

Function W_2_d(xx1) As Double W_2_d = Cw3_D * xx1 + Cw4_D

End Function

Function U_2(xx; ttau) As Double Dim i As Integer

Dim e; pU; Xn; Tn As Double

pU = 0 For i = 1 To n Xn = Sin(mu_D(i) * xx / Sqr(D2) + fi2_D(i)) e = (mu_D(i) * mu_D(i)) * ttau

If e > 60 Then e = 0 Else e = Exp(-e) Tn = A2n_D(i) * e pU = pU + Xn * Tn

Next U_2 = pU + W_2_d(xx) pereschet 4 End Function

Function U_2_s(xx; ttau) As Double

Dim i As Integer Dim e; pU; Xn; Tn As Double

pU = 0 For i = 1 To n Xn = Sin(mu_D(i) * xx / Sqr(D2) + fi2_D(i))

e = (mu_D(i) * mu_D(i)) * ttau If e > 60 Then e = 0 Else e = Exp(-e) Tn

=A2n_D(i) * e

pU = pU + Xn * Tn Next U_2_s = pU + W_2_d(xx) pereschet 4 End Function

65

'------------ Расчет температурного поля-------------

With ThisWorkbook.Worksheets("Поле") .Cells(qq + 2; 1).Value = tau'

.Cells(qq + 2; 2).Value = texp(qq)

 

' .Cells(qq + 2; 3).Value = gexp(qq) / gabs '----

Подложка .Cells(qq + 2;

5).Value = T_1(0; tau) .Cells(qq + 2; 6).Value = T_1(l1_T * ,33; tau)

.Cells(qq + 2; 7).Value = T_1(l1_T * ,67; tau) .Cells(qq + 2; 8).Value = T_1(l1_T; tau) '---- Дисперсия

.Cells(qq + 2; 9).Value = T_2(l2_T * ,33; tau) .Cells(qq + 2; 10).Value = T_2(l2_T * ,67; tau)

.Cells(qq + 2; 11).Value = T_2(l2_T; tau) End With With ThisWorkbook.Worksheets("Поле")

.Cells(qq + 2; 4).Value = l2_T * 1000 '---Дисперсия .Cells(qq + 2; 12).Value = gr(qqv) / gabs .Cells(qq + 2; 13).Value = gr(qqv) / gabs

.Cells(qq + 2; 14).Value = gr(qqv) / gabs .Cells(qq + 2; 15).Value = gr(qqv) / gabs End With qq = qq + 1 statsbar "Время расчета tau="; tau tau = tau +

dtau

'-----

Пересчет коэффициентов lambda2 = 0,056 + 0,0057 * 100 *

(gr(qqv) / (gr(qqv) + gabs))

 

c2 = 4190 * (1 – gabs / (gabs + gr(qqv))) + 1472 * gabs / (gabs + gr(qqv))

 

ro2 = 1030 a2 = lambda2 / (c2 * ro2) T10 = t1s

 

T20 = t2s l2_T = (gabs * (1 + gr(qqv) / gabs) ^ 2) / (Fobr * (gr(qqv) /

gabs * 1000 + ro2))

 

prom = gr(qqv) / gabs Loop While (gr(qqv) / gabs) > U_krit

'--------------

Расчет 2 периода сушки -------

T10 = t1s T20 = t2s tr(qq) = T20 gkrit = gr(qqv)

'-------

Свойства дисперсии начальные = конечные для 1 периода ----

lambda2 = lambda2 c2 = c2 ro2 = ro2 '--Толщина слоя дисперсии =var l1_T = l1 l1_D = l1_T l2_D = l2_T

'----- Расчет начальных значений коэф. переноса -----

'--- Для температурной задачи

Tps1 = (T10 + Tc) / 2 Tps2 = (T20 + Tc) / 2 alf_eff = alfa_isp(Tps2; w) + alfa_izl(Tizl; T20)

alfa1 = alfa_suh(Tps1; w) + alfa_izl(Tizl; T10) alfa2 = alf_eff h1_T = alfa1 / lambda1

h2_T = alfa2 / lambda2 a1 = lambda1 / (c1 * ro1) a2 = lambda2 / (c2 * ro2)

Tc1 = Tc Tc2 = Tc '--- Для диффузионной задачи beta1 = beta_isp(Tps1; w) beta2 = beta_isp(Tps2; w) beta_u = beta_isp(Tps2; w) '-----

Квазиравновесное влагосодержание по слоям Uc1 = 0 Uc2 = Ukvrav

'------Начальное влагосод. по слоям ------------------

66

U10 = 0 U20 = gkrit / gabs' U20 = gkrit / (Fobr * l2_D) D1 = 1E-30 h1_D = beta1 / D1 h2_D = beta2 / D2 Uc2 = Ukvrav * gabs bbaz1 = (Tc_ekv – Tc) / (gkrit ^ fi1 – Uc2 ^ fi1) Abaz1 = Tc – bbaz1 * Uc2 ^ fi1

pereschet 1 '----Расчет параметров аналитического решения ----------

------------------

Tgiperb 1 alf_b = alfa_suh(Tps1; w) bt_a = (alfa_isp(Tps2; w) – alf_b) / gkrit

ddtau = dtau ii = 0 While tau < tau_kon qq = qq + 1 ii = ii + 1 tau = tau + ddtau

znach_cw_t znach_mu_t znach_fi1_t znach_fi2_t znach_Mn_t znach_a1n_t znach_a2n_t

znach_cw_d znach_mu_d znach_fi1_d znach_fi2_d znach_Mn_d znach_a1n_d znach_a2n_d

u2sr = ((T_2(l2_T; ddtau) – Abaz1) / bbaz1) ^ (1 / fi1) pereschet 3 gr(qq) = u2sr alfa_u = alf_b + bt_a * u2sr beta_u = bet1per * (gr(qq) – gr(qq – 1)) / (skor1 * dtau) u2slp = ((T_2(l2_T; ddtau) – Abaz1) / bbaz1) ^ (1 / fi1)

ddl = l2_T / 10 u2sld = ((T_2(l2_T – ddl; ddtau) – Abaz1) / bbaz1) ^ (1 / fi1)

beta_u = D2 * Abs(u2slp – u2sld) / (ddl * u2slp) gr(qq) = u2sr

alfa_u = alf_b + bt_a * u2sr beta_u = (a2 / D2) * bet1per * (gr(qq) – gr(qq – 1)) / (skor1 * dtau)

If ii = 1 Then beta_u = bet1per

'----- Расчет средних значений температуры и влагосодержания слоев

--------

t1s = T_1_s(l1_T; ddtau) t2s = T_2_s(l2_T; ddtau)' u1s = U_1_s(l1_T; ddtau)

' u2s = U_2_s(l2_T; ddtau)' pereschet 4

'------- Пересчет коэффициентов ------

T10 = t1s T20 = t2s Tps1 = (Tc + T10) / 2 Tps2 = (Tc + T20) / 2 U10 = 0 U20 = u2s

Tgiperb 2 u2sl = ((T_2(l2_T; ddtau) – Abaz1) / bbaz1) ^ (1 / fi1)

'---- Расчет betta во 2 периоде

ddl = l2_T / 10 u2sd = ((T_2(l2_T – ddl; ddtau) – Abaz1) / bbaz1) ^ (1 / fi1)

beta_u = D2 * Abs(u2sl – u2sd) / (ddl * u2sl) beta2 = beta_u h2_D = beta2 / D2

u2sd = u2sl – ddl * u2sl * ((a2 / D2) * bet1per * (gr(qq) – gr(qq – 1)) / (skor1 * dtau)) / D2

c2 = 3687 + r_isp(T_2(l2_T; ddtau)) * (gr(qq – 1) – u2sd) / (T_2(l2_T; ddtau) – T_2(l2_T; 0) + ,00001)

67

a2 = lambda2 / (c2 * ro2)

'With ThisWorkbook.Worksheets("Результат")

'.Cells(qq + 1; 8).Value = gr(qq) * 1000

'.Cells(qq + 1; 9).Value = l2_T * 1000

'End With statsbar "Время расчета tau="; tau

Wend Beep Finish = Timer ' Set end time. Totaltime = Finish – Start ' Calculate total time.

MsgBox "Расчет процесса сушки закончен. Время расчета=" + Int(Totaltime) + " c"

statsbar "Готов"; " " With ThisWorkbook.Worksheets("Результат")

.Range("A2").Value = shifr .Range("A4").Value = Date

.Range("A6").Value = Time

.Cells(qq + 3; 1).Value = "ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ"

.Cells(qq + 4; 1).Value = "Число членов ряда=" .Cells(qq + 4; 2).Value =

n

.Cells(qq + 5; 1).Value = "Время счета (c)=" .Cells(qq + 5; 2).Value = Int(Totaltime)

.Cells(qq + 6; 1).Value = "Uкрит.=" .Cells(qq + 6; 2).Value = U_krit

.Cells(qq + 7; 1).Value = "Uкв.рав.=" .Cells(qq + 7; 2).Value = Ukvrav

.Cells(qq + 8; 1).Value = "fi гип.=" .Cells(qq + 8; 2).Value = fi1

.Cells(qq + 9; 1).Value = "Точн.корн.=" .Cells(qq + 9; 2).Value = tochn End With '------------ Расчет температурного поля-------------

With ThisWorkbook.Worksheets("Поле")

.Cells(qq + 2; 1).Value = tau .Cells(qq + 2; 2).Value = texp(qq) ' .Cells(qq + 2; 3).Value = gexp(qq) * 1000 '---- Подложка

.Cells(qq + 2; 5).Value = T_1(0; tau2) .Cells(qq + 2; 6).Value = T_1(l1_T * ,33; tau2)

.Cells(qq + 2; 7).Value = T_1(l1_T * ,67; tau2) .Cells(qq + 2; 8).Value = T_1(l1_T; tau2)

'---- Дисперсия

.Cells(qq + 2; 9).Value = T_2(l2_T * ,33; tau2) .Cells(qq + 2; 10).Value = T_2(l2_T * ,67; tau2)

.Cells(qq + 2; 11).Value = T_2(l2_T; tau2)

'-- Вес

u2s1 = ((T_2(0; tau2) – Abaz1) / bbaz1) ^ (1 / fi1)'---Дисперсия

.Cells(qq + 2; 12).Value = u2s1 / gabs u2s1 = ((T_2(l2_T * ,33; tau2) – Abaz1) / bbaz1) ^ (1 / fi1)

.Cells(qq + 2; 13).Value = u2s1 / gabs u2s1 = ((T_2(l2_T * ,67; tau2) – Abaz1) / bbaz1) ^ (1 / fi1)

.Cells(qq + 2; 14).Value = u2s1 / gabs u2s1 = ((T_2(l2_T; tau2) – Abaz1) / bbaz1) ^ (1 / fi1)

68

.Cells(qq + 2; 15).Value = u2s1 / gabs End Withtau2 = tau2 + ddtau statsbar "Время расчета tau="; tau

Wend

Finish = Timer ' Set end time. Totaltime = Finish – Start ' Calculate total time.

MsgBox "Расчет процесса сушки закончен. Время расчета=" + Int(Totaltime) + " c"

statsbar "Готов"; " "

End Sub

Sub statsbar(st1; st2 As Variant)

Application.DisplayStatusBar = True Application.StatusBar = st1 & st2 End Sub

Sub pereschet(nomer)

Dim g; u; c As Double If nomer = 1 Then u = g / gabs If nomer = 2 Then c = g / (Fobr * l2_D)

If nomer = 3 Then g = u * gabs If nomer = 4 Then g = c * Fobr * l2_D End Sub

Sub Tgiperb(nom)

Dim p1; p2; p3; p4 As Double

If nom = 1 Then Uc2 = Ukvrav * gabs bbaz1 = (Tc_ekv – Tc) / (gkrit ^ fi1

– Uc2 ^ fi1)

Abaz1 = Tc – bbaz1 * Uc2 ^ fi1 End IfIf nom = 2 Thenp1 = (Tc – Tc_ekv) / gkrit

p2 = fi1 * p1 p3 = p2 / Tc p4 = (gkit + p2 – Tc_ekv * p3) / (gkit + Tc_ekv) promt = (u + p2) / (p4 * u + p3) End If

End Sub Sub ukr_ras()

Dim muv1; muv_t1; rosk1; stepen1; rov1; u_k_rit1 As Double With ThisWorkbook.Worksheets("Данные")

t1 = .Range("I22").Value poris1 = .Range("I21").Value kf1 = .Range("I20").Value

End With

muv1 = ,001003 muv_t1 = ,00002816 * Exp(526,64 / (t1 + 127,4)) rosk1 = 1250 'ronas = 800

'c = 1472 'w = 1

'lambda = 0,0568 + 0,0012 * w stepen1 = ,5

rov1 = 1000 u_k_rit1 = kf1 * (rov1 / rosk1) * (poris1 / (1 – poris1)) * ((muv_t1 / muv1) ^ stepen1)

With ThisWorkbook.Worksheets("Данные") .Range("I19").Value = u_k_rit1

End With End Sub

69

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]