Discussion:
Funkcja uwikłana
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
WM
2012-11-20 17:39:31 UTC
Permalink
Równanie Martin-Hou jest funkcją uwikłaną.
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou

Chcę napisać program w Delphi, z funkcjami do wyznaczania parametrów
t=f(v,p) i v=f1(t,p).
Czy możecie mi podpowiedzieć jaka metoda będzie w tym przypadku najbardziej efektywna?

WM
bartekltg
2012-11-20 17:51:29 UTC
Permalink
Post by WM
Równanie Martin-Hou jest funkcją uwikłaną.
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou
Chcę napisać program w Delphi, z funkcjami do wyznaczania parametrów
t=f(v,p) i v=f1(t,p).
Czy możecie mi podpowiedzieć jaka metoda będzie w tym przypadku najbardziej efektywna?
Na dzień dobry próbowałbym metodą Newtona. Nie widzę
tu problemów i nie ma co przekombinowywać.

Masz p = F(v,t)

G(p,v,t) = p - F(v,t)

i szukasz miejsc zerowych przy ustalonych dwóch zmiennych.

Pewnie można ją trochę poprzekształcać, aby ładniej wyglądała.
np pomnożyłbym przez (v-b). Pooglądaj wykresy.

A, uważaj na niejednoznacznosć rozwiązania.
Często np mogą istneić rozwiązania dla v-b<0


pzdr
bartekltg
WM
2012-11-20 19:07:04 UTC
Permalink
Post by bartekltg
Na dzień dobry próbowałbym metodą Newtona. Nie widzę
tu problemów i nie ma co przekombinowywać.
Dzięki za podpowiedź.
Post by bartekltg
Masz p = F(v,t)
G(p,v,t) = p - F(v,t)
i szukasz miejsc zerowych przy ustalonych dwóch zmiennych.
Pewnie można ją trochę poprzekształcać, aby ładniej wyglądała.
np pomnożyłbym przez (v-b). Pooglądaj wykresy.
Wykres jest znany, zwłaszcza w obszarze cieczy i pary:
Loading Image...
Zastanawiałem się tylko, czy w punktach załamania izobar (na granicy przejść fazowych), algorytm będzie stabilny?

Pozdrawiam WM
bartekltg
2012-11-20 19:41:44 UTC
Permalink
Post by WM
Post by bartekltg
Na dzień dobry próbowałbym metodą Newtona. Nie widzę
tu problemów i nie ma co przekombinowywać.
Dzięki za podpowiedź.
Post by bartekltg
Masz p = F(v,t)
G(p,v,t) = p - F(v,t)
i szukasz miejsc zerowych przy ustalonych dwóch zmiennych.
Pewnie można ją trochę poprzekształcać, aby ładniej wyglądała.
np pomnożyłbym przez (v-b). Pooglądaj wykresy.
http://upload.wikimedia.org/wikipedia/commons/f/fc/PVT_3D_diagram.png
Zastanawiałem się tylko, czy w punktach załamania izobar (na granicy przejść fazowych), algorytm będzie stabilny?
Dawno nie miałem termodynamiki. Te nieciągłości wynikają
z tego wzoru?
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou
Przecież on jest gładki! Rozumiem, że nie przechodzimy przez zero
mianownika.

Metoda Newtona gwarantuje zbieżność lokalną:(
Zawalić się może w przeróżny sposób. Wylądować na górce,
wpaść w cykl. Nawet nieciagłość pochodnej nie jest potrzebna.
http://en.wikipedia.org/wiki/Newton%27s_method#Failure_analysis

Zawsze możesz użyć metody bisekcji. Tam masz gwarancje,
jedna iteracja więcej, dwa razy mniejszy przedział.
W dodatku zero na pewno nie ucieknie, no i kontrolujesz
zakres, w którym ma być to zero.

Albo, nieco bardziej zaawansowanej:
http://en.wikipedia.org/wiki/Brent%27s_method
"It has the reliability of bisection but it can be as quick
as some of the less reliable methods."

pzdr
bartekltg
WM
2012-11-21 00:48:26 UTC
Permalink
Post by bartekltg
Dawno nie miałem termodynamiki. Te nieciągłości wynikają
z tego wzoru?
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou
Tam na dole jest link do ciekawego artykułu.
Post by bartekltg
Przecież on jest gładki! Rozumiem, że nie przechodzimy przez zero
mianownika.
Dokładniej jest to równanie 4 z tej broszury:
http://www.refripro.eu/fic_bdd/fluides_pdf_fichier/11630954730_SOLKANE_507.pdf
Sam jestem ciekaw przebiegu izobar wygenerowanych z tego wzoru.
Mam nadzieję, że nie wyglądają one tak jak w równaniu van der Waalsa :)
Post by bartekltg
Metoda Newtona gwarantuje zbieżność lokalną:(
Zawalić się może w przeróżny sposób. Wylądować na górce,
wpaść w cykl. Nawet nieciagłość pochodnej nie jest potrzebna.
http://en.wikipedia.org/wiki/Newton%27s_method#Failure_analysis
Zawsze możesz użyć metody bisekcji. Tam masz gwarancje,
jedna iteracja więcej, dwa razy mniejszy przedział.
W dodatku zero na pewno nie ucieknie, no i kontrolujesz
zakres, w którym ma być to zero.
http://en.wikipedia.org/wiki/Brent%27s_method
"It has the reliability of bisection but it can be as quick
as some of the less reliable methods."
Miałem zamiar zastosować metodę bisekcji z zastosowaniem wstępnego oszacowania
z prostego równania stanu.

Pozdrawiam WM
bartekltg
2012-11-21 12:18:55 UTC
Permalink
Post by WM
Post by bartekltg
Dawno nie miałem termodynamiki. Te nieciągłości wynikają
z tego wzoru?
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou
Tam na dole jest link do ciekawego artykułu.
I długiego;)
Post by WM
Post by bartekltg
Przecież on jest gładki! Rozumiem, że nie przechodzimy przez zero
mianownika.
http://www.refripro.eu/fic_bdd/fluides_pdf_fichier/11630954730_SOLKANE_507.pdf
Z grubsza to samo.
Też nie widzę punktów nieciągłości.
Post by WM
Sam jestem ciekaw przebiegu izobar wygenerowanych z tego wzoru.
Mam nadzieję, że nie wyglądają one tak jak w równaniu van der Waalsa :)
A to co za problem. Bierzesz jakiegoś octave/matlaba/scilaba
i rysujesz. p = p(v,t)
Post by WM
Post by bartekltg
http://en.wikipedia.org/wiki/Brent%27s_method
"It has the reliability of bisection but it can be as quick
as some of the less reliable methods."
Miałem zamiar zastosować metodę bisekcji z zastosowaniem wstępnego oszacowania
z prostego równania stanu.
Metoda biseksji poradzi sobie. Jak będzie za wolna, to się
kiedyś w Brenta pobawisz (dość dużo tam przypadków, w końcu
to metoda biseksji wspomagana lepszym doborem punktów...
_jeśli_ się lepiej układają;))

Co do oszacowania, pamiętaj, że musisz mieć górne i dolne.
Ale pomysł z wykorzystaniem prostszego równania jako startu
bardzo słuszny.

pzdr
bartekltg
Gik
2012-11-21 19:23:26 UTC
Permalink
Post by WM
Równanie Martin-Hou jest funkcją uwikłaną.
http://de.wikipedia.org/wiki/Zustandsgleichung_von_Martin-Hou
Chcę napisać program w Delphi, z funkcjami do wyznaczania parametrów
t=f(v,p) i v=f1(t,p).
Czy możecie mi podpowiedzieć jaka metoda będzie w tym przypadku najbardziej efektywna?
potem napisałeś
"
Miałem zamiar zastosować metodę bisekcji z zastosowaniem wstępnego oszacowania
z prostego równania stanu.
"

Nie jestem fizykiem, ale równanie MH jest uogólnieniem równania van der Waalsa
http://pl.wikipedia.org/wiki/R%C3%B3wnanie_van_der_Waalsa

czyli wstępne oszacowanie vdW a potem dowolna metoda szukania punktu zerowego. Najlepiej metodą siecznych,
marnie metodą bisekcji, a metoda Newtona kosztowna (pochodna!).
--
Gik
Loading...