vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Simulationsprogramm 
Autor: schwpzd
Datum: 11.12.08 17:45

hallo Zardoz,

danke für den Tip über die beschleunigung der grafischen Ausgabe. Da komme ich eine ganze Ecke weiter.

nachstehend der code innerhalb der Schleifen, hier noch in vereinfachter Form (vereinfacht insofern, daß die diversen berechnungen nur rudimentär sind um überhaupt einmal ein sichtbares Ergebnis zu zeigen). Wenn denn Erfolgsaussichten für die Beschleunigung des Ablaufs erkennbar werden, kommen eher noch einige Berechnungen und Rückgriffe auf Konstanten oder gar Funktionen (z.B. bei nicht linearem Verlauf der spez.Wärme ) hinzu.

Dim x As Integer
Dim y As Integer
Dim n As Integer
Dim z As Integer
Dim tges As Integer = 5000 'anzahl durchläufe (zeit)
Dim interval As Double = 1.4
Dim tg As Double = 0 'gebertemperatur
Dim cg As Double = 0 'spez. Wärme geber
Dim lag As Double = 0 'lambda geber
Dim eg As Double = 0 'energie geber
Dim dg As Double = 0 'dichte geber
Const kel As Double = 273.16
Dim tn1 As Double = 0 'temperatur nehmer
Dim en1 As Double = 0 'energie nehmer
Dim qf1 As Double = 0 'wärmefluss nehmer
Dim lg As Integer = 200 'größe Berechnungsfenster
Dim rg As Integer = 600
Dim og As Integer = 200
Dim ug As Integer = 400

''durchläufe starten
ProgressBar1.Maximum = tges
For n = 1 To tges ' Anzahl Durchläufe
ProgressBar1.Value = n
For x = lg To rg
For y = og To ug
'temperatur geberzelle
tg = t(x, y)
'energie geberzelle
eg = d(x, y) * c(x, y) * (tg + kel)
Dim m As Integer
Dim o As Integer

For z = 1 To 8
Select Case z
Case 1
m = x - 1
o = y - 1
Case 2
m = x
o = y - 1
Case 3
m = x + 1
o = y - 1
Case 4
m = x + 1
o = y
Case 5
m = x + 1
o = y + 1
Case 6
m = x
o = y + 1
Case 7
m = x - 1
o = y + 1
Case 8
m = x - 1
o = y
End Select


'energie nehmerzelle
en1 = d(m, o) * c(m, o) * (t(m, o) + kel)
'flüsse von/zu nehmerzelle
qf1 = interval / la(m, o) * (tg - t(m, o))
'neue Temperatur nehemerzelle
tn1 = (en1 + qf1) / d(m, o) / c(m, o) - kel
'rückschreiben temperatur nehmerzellen
t(m, o) = tn1
'neue energie geberzelle
eg = eg - qf1
Next
'neue temperatur geberzelle
tg = eg / d(x, y) / c(x, y) - kel
'rückschreiben temperatur geberzelle
t(x, y) = tg
Next
Next
Next

Viele Grüße, Werner
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Simulationsprogramm1.350schwpzd11.12.08 08:55
Re: Simulationsprogramm960Dirk11.12.08 12:24
Re: Simulationsprogramm936schwpzd11.12.08 13:01
Re: Simulationsprogramm951Zardoz11.12.08 14:46
Re: Simulationsprogramm990schwpzd11.12.08 17:45
Re: Simulationsprogramm905Zardoz11.12.08 17:57
Re: Simulationsprogramm897schwpzd11.12.08 17:59
Re: Simulationsprogramm898Zardoz11.12.08 18:07
Re: Simulationsprogramm919Dirk12.12.08 10:26

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel