1
9. ARKUSZE KALKULACYJNE W ENERGETYCE
9.1. Arkusz kalkulacyjny czy pakiet obliczeniowy
9.2. MathCad - cechy
9.3. MathCad - funkcje
9.4. MathCad – funkcje
9.5. Excel
9.6. Excel – programowanie w VBA
9.7. Excel – programowanie w VBA
9.8. Excel – przykład aplikacji. Analiza
pomiarów.
9.9. Excel – przykład aplikacji
2
9.1. Arkusz kalkulacyjny czy pakiet
obliczeniowy
Przyczyny dużej popularności arkuszy kalkulacyjnych wśród inżynierów energetyków:
procesy energetyczne obejmują dyscypliny, które charakteryzują się wciąż
niedomkniętymi modelami:
mechanika płynów – niepewny opis turbulencji;
spalanie – dla gazów uznane modele tylko dla prostych węglowodorów (CH4) ;
stąd np. brak w pełni wiarygodnych pakietów obliczeniowych 3-D.
istnieje duża liczba rozwijanych od lat formuł empirycznych (np. wymiany ciepła), które
łatwo można
wykorzystać w arkuszu kalkulacyjnym;
wykorzystanie pakietów obliczeniowych 3-D do takich zagadnień jak np. przepływ ze
spalaniem
w kotle energetycznym lub pakietów 0-D do symulacji bloku energetycznego jest
niezwykle
skomplikowane i wykonywane raczej w ośrodkach akademickich;
znaczny koszt licencji komercyjnej popularnych pakietów (np. Fluent)
Nieco inna sytuacja jest w mechanice dysponującej równaniami teorii sprężystości i
algorytmami MES.
Tu szeroko stosowane są pakiety obliczeniowe (np. COSMOS/M)
3
9.2. MathCad - cechy
Główne cechy:
arkusz kalkulacyjny (WYSIWYG)
w arkuszu można umieszczać:
- tekst,
- równania matematyczne,
- grafikę.
możliwość korzystania z funkcji:
- wewnętrznych MathCada,
- własnych, zdefiniowanych w
MathCadzie,
- własnych, przygotowanych w C
procedury rozwiązania układu równań
nieliniowych
biblioteka funkcji na własności wody i
gazów
w pliku „thmcad2008v1.dll”
http://fluid.itcmp.pwr.wroc.pl/~zmodl/
Przykład 1
Oblicz moc cieplną grzejnika pokojowego dla danych:
strumień wody:
D
0.05kg sek
1
parametry wlotowe:
t1 65 °C
p1 0.3MPa
parametry wylotowe:
t2 55 °C
p2 0.3MPa
Rozwiązanie:
Q
D i1 i2
=
Q
D h_tp t1 p1
h_tp t2 p2
2.09kW
9.3. MathCad - funkcje
4
Funkcje własne w
MathCadzie
- hermetyzacja kodu
Ar 20.5
Wr 10
Cr 54.2
Hr 3.8
Or 10.04
Nr 1
Sr 0.46
aun 0.90
dash 10
V0 0.0889 Cr 0.375Sr
0.265Hr
0.0333Or
5.506
VO2
( )
1
(
) 0.21
V0
VN2
( )
0.79
V0
0.008Nr
VCO2
( )
0.01 Cr 0.375Sr
1.866
VH2O
( )
0.111Hr
0.0124Wr
0.0161
V0
Vsp
( )
VN2
( )
VH2O
( )
VCO2
( )
VO2
( )
rH2O
( )
VH2O
( )
Vsp
( )
rCO2
( )
VCO2
( )
Vsp
( )
ash
( )
0.01Ar
aun
1 0.01Ar
1.306
V0
sp
s
dash
sp
1.3
T
273
r
rH2O
( )
rCO2
( )
kgas
0.78 1.6rH2O
( )
r s
0.1
1 0.37
T
1000
r
kash
4300
sp
ash
( )
3
T2 dash
2
1 exp
kgas kash
s
600
800
1 10
3
1.2 10
3
1.4 10
3
0.5
0.6
0.7
0.8
0.9
sp
1.1
4.5
15
9.4. MathCad - funkcje
5
rozwiązywanie układu równań nieliniowych
Given
f(x,y) = 0
g(x,y) = 0
(x,y)=Find(x,y)
metoda Levenberg-Marquardt
Conjugate-Gradient
Quasi-Newton
własna metoda iteracyjna,
współczynniki relaksacji
rozwiązywanie równań różniczkowych zwyczajnych
6
9.5. Excel
Dodatek (biblioteka funkcji własnych): ThExcel4.xla ( Excel 2003) , ThExcel5.xlam
(Excel 2007)
Instalacja dodatku.
Umieścić bibliotekę w podkatalogu
C:\Documents and Settings \zm\Dane Aplikacji\Microsoft\Dodatki
lub
C:\Program Files\Microsoft Office\Office12\Library\
Aktywować przy pomocy:
Przycisk Office → Opcje Programu Excel → Dodatki → Przejdź → ThExcel5
⍌
Po aktywacji bibliotek funkcje (np. h_tp(t,p) ) są dostępne z poziomu arkusza
Złożone zagadnienia obliczeniowe lepiej zakodować w VBA (Visual Basic for
Applications),
który jest składnikiem Excel’a.
Dana aplikacja (w naszym przypadku Excel) jest środowiskiem uruchomieniowym dla
Basic’a.
Kod programu napisanego w VBA zawsze zawarty jest w dokumencie utworzonym w
Excelu.
VBA nie pozwala na tworzenie samodzielnych skompilowanych aplikacji typu EXE.
VBA pozwala w wielu przypadkach napisać aplikację nie ustępującą pod względem
funkcjonalności
programom napisanym przy pomocy takich narzędzi jak Delphi czy C++Builder.
7
9.6. Excel – programowanie w VBA
Napisać aplikację w VBA obliczającą entalpię wody dla danych: t [
o
C] i p [Mpa]
Wykorzystać funkcję biblioteczną h_tp(t,p)
1. Upewnij się czy jest widoczna karta
Deweloper
na wstążce.
2. Jeśli nie -
Przycisk Office → Opcje Programu Excel → Popularne → Pokaż kartę Deweloper na Wstążce
⍌
3. Na arkuszu wstaw tekst „temp1”, „press1”, „enth1” .
4. W komórkach z prawej zdefiniuj nazwy (najlepiej takie same jak tekst obok)
– wykorzystaj do tego przycisk na karcie
Formuły.
Operowanie nazwą komórki zamiast jej adresu jest wygodniejsze przy pisaniu kodu
5. Załącz tryb projektowania i wstaw na arkusz przycisk (formant ActiveX)
6. Wywołaj edytor VBA do napisania procedury, która zostanie wykonana po naciśnięciu
przycisku.
wstawianie
formantu AciveX
karta
„Deweloper”
przycisk
komórki
danych
komórki
tekstowe
wstążk
a
komórki wyników
wywołanie
edytora
VBA
edytor
VBA
8
9.7. Excel – programowanie w VBA
1. W edytorze VBA utwórz moduł, Insert → Module
2. Wypełnij moduł procedurą o nazwie np. MainProc().
3. Opis procedury
Option Explicit
- obowiązkowe deklarowanie zmiennych,
Option Base 1
- indeksowanie tablic zaczyna się od 1
Public Sub MainProc()
- nagłówek funkcji – będziedostępna w innych modułach
Dim …
- deklaracje zmiennych
. . .
temp1 = Worksheets("Arkusz1").Range("temp1").Value -
odczytanie wartosci z komórki o nazwie „temp1”
znajdującej się na arkuszu o nazwie „Arkusz1”
. . .
enth1 = h_tp(temp1,press1)
obliczenie entalpii przy pomocy funkcji bibliotecznej
. . .
Worksheets("Arkusz1").Range("temp1").Value = enth1 –
zapisanie wartosci w komórce o nazwie „temp1”
znajdującej się na arkuszu o nazwie „Arkusz1”
4. Należy utworzyć odwołanie do dodatku w którym są funkcje
biblioteczne:
Tools → References… → ThExcel5
⍌
.
5. Jak wywołać funkcję MainProc po naciśnięciu przycisku
wstawionego na arkusz z listy formantów:
- aktywny tryb projektowania
- wykonujemy doubleclick na przycisku – edytor tworzy automatycznie zręby
procedury CommandButton1_Click() (technologia rapid application
development)
6. wpisujemy wywołanie
Call MainProc
9.8. Excel – przykład aplikacji.
Analiza pomiarów
9
9.9. Excel – przykład aplikacji
10