Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 20:01   #1
arhan1989
Новичок
Джуниор
 
Регистрация: 14.05.2011
Сообщений: 2
По умолчанию Моделирование физического процесса охлаждения цилиндров в воде (Visual Basic)

Товарищи программисты обращаюсь к Вам за помощью, диплом на носу горю вообще, СПАСАЙТЕ

Суть задачи.

Требуется составить программу для охлаждения цилиндра.
Цилиндр состоит из 2 слоев, каждый слой имеет свои свойства.

На выходе из агрегата внутренний цилиндр имеет температуру 150 градусов, наружний цилиндр имеет температуру 250 градусов.

Выйдя из агрегата со скоростью 50 м/мин двухслойный цилиндр попадает в охлаждающую ванну, которая состоит из 3 секций, температура воды в них равна = 90, 65, 30.

Длина одной секции равняется 10 м, общая соответственно = 30 м.

Для расчета используется явная схема.

Все что меняется в каждой ванне это только температура коэффициент конвективной теплопередачи у воды!!!

Вот программа которую я сделал, но она не пашет:

Код:
Private Sub Расчет_Click()
Dim T1(50) As Double
Dim T2(50) As Double
Dim r(40) As Double

Toа1 = 	150	'температура внутреннего цилиндра (а) -в первую ванну
Tob1 = 	250	'температура внешнего цилиндра (b) - в первую ванну
Toa2 = 
Tob2 = 
Toa3 = 
Tob3 = 

ca = 2000		'теплоемкость внутреннего цилиндра (а)
cb = 340		'теплоемкость внешнего цилиндра (b)
poa = 12430		'плотность внутреннего цилиндра (а)
pob = 820		'плотность внешнего цилиндра (b)

lyama = 410		'теппроводность внутреннего цилиндра (а)
lyamb = 0,54		'теппроводность внешнего цилиндра (b)

Vo = 50		'скороть движения

Ra = 0,002		'радиус внутреннего цилиндра (а)
Rb = 0,004		'радиус внешнего цилиндра (b)

l1 = 10		'длина ванны 1
L2 = 10
L3 = 10

Tv1 = 90		'температура в ванне 1
Tv2 = 65
Tv3 = 30

alfa1 = 1500	'коэфициент конвективной теплопередачи в ванне 1
alfa2 = 1550
alfa3 = 1600

aa = lyama / ca / poa
aa = lyamb / cb / pob

N = 20 		'кол-во шагов по радиусу всего цилиндра'
Q = 10        	'кол-во шагов по радиусу внутреннего цилиндра'
h = Ri / N    	'шаг по радиусу'

m = 1000000     'кол-во шагов по длине ванны'
k = 10 / m 	'шаг по длине'




For i = 0 To N
r(i) = i * h
Next i

For i = 0 To N
Me.Cells(i + 10, 1) = r(i)    'запись в ячейки А10-... значений ri'
Next i

For i = 0 To N
If i <= Q Then
T1(i) = Top         'НУ'
Else
T1(i) = Toi         'НУ'
End If
Next i

For j = 1 To m
For i = 1 To Q - 1  'расчет внутр. точек цилиндра (a)'

a = aa

T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
For i = Q + 1 To N - 1    'расчет внутр. точек изоляции'
a = aa
T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
T2(0) = T2(1)  'ГУ'
T2(Q) = (T2(Q - 1) * lyama + T2(Q + 1) * lyamb) / (lyama + lyama)   'Расчет точек на границе цилиндр (a) - цилиндр (b)'
T2(N) = (T2(N - 1) / h + alfa1 / lyamb * Tv1) / (1 / h + alfa1 / lyamb) 'Расчет точек на границе цилиндр (b) - ванна'
For i = 0 To N
T1(i) = T2(i)
Next i
If j = m / 2 Then  'на выходе из ванны'
For i = 0 To N
Me.Cells(i + 10, 2) = T1(i)  'запись в ячейки B10-... значений Т для первой ванны'
Next i
End If
Next j

m = 1000000
k = 10 / m

For j = 1 To m
For i = 1 To Q - 1

a = aa

T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
For i = Q + 1 To N - 1   
a = aa
T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
T2(0) = T2(1)  'ГУ'
T2(Q) = (T2(Q - 1) * lyama + T2(Q + 1) * lyamb) / (lyama + lyama)   
T2(N) = (T2(N - 1) / h + alfa2 / lyamb * Tv2) / (1 / h + alfa2 / lyamb) 
For i = 0 To N
T1(i) = T2(i)
Next i
If j = m / 2 Then
For i = 0 To N
Me.Cells(i + 10, 3) = T1(i)
Next i
End If
Next j

m = 1000000
k = 10 / m

For j = 1 To m
For i = 1 To Q - 1

a = aa

T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
For i = Q + 1 To N - 1    
a = aa
T2(i) = (T1(i) + k * a / Vo * (1 / r(i) * (T1(i + 1) - T1(i - 1)) / 2 / h + (T1(i + 1) - 2 * T1(i) + T1(i - 1)) / h ^ 2))
Next i
T2(0) = T2(1)  'ГУ'
T2(Q) = (T2(Q - 1) * lyama + T2(Q + 1) * lyamb) / (lyama + lyama)   
T2(N) = (T2(N - 1) / h + alfa3 / lyamb * Tv3) / (1 / h + alfa3 / lyamb) 
For i = 0 To N
T1(i) = T2(i)
Next i
If j = m / 2 Then
For i = 0 To N
Me.Cells(i + 10, 4) = T1(i)
Next i
End If
Next j

End Sub
У меня получается получить данные температуры по радиусу в каждой ванне, а мне еще нужно что бы по длине показать распределение температуры, что бы на графике построить зависимость температуры от длины ванны общей, но у меня не выходит.

Visual Basic я использую что бы сразу строить таблицы да и там немного попроще.

В обще помогите ребята, вообще горю((( Надежда только на Вас.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 15.05.2011 в 09:40.
arhan1989 вне форума Ответить с цитированием
Старый 15.05.2011, 09:29   #2
arhan1989
Новичок
Джуниор
 
Регистрация: 14.05.2011
Сообщений: 2
По умолчанию

Ребята выручайте, готов отблагодарить, денег положу на телефон, ваще горю(((
arhan1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
Моделирование процесса биения destroyer17 Помощь студентам 0 16.01.2010 17:53
Моделирование процесса обслуживания клиентов в банке. Any@ Помощь студентам 2 04.12.2007 12:19