Thema Datum  Von Nutzer Rating
Antwort
Rot Iteration wird falsch bearbeitet
08.12.2012 13:23:00 Lisa1808
NotSolved
10.12.2012 12:48:15 Holger
NotSolved

Ansicht des Beitrags:
Von:
Lisa1808
Datum:
08.12.2012 13:23:00
Views:
1567
Rating: Antwort:
  Ja
Thema:
Iteration wird falsch bearbeitet

Hallo VBA-Profis,

ich sitze seit mehreren Stunden an einer Iteration in VBA und weiß nicht mehr weiter. Dazu muss ich sagen, dass ich ein Anfänger in der VBA-Programmierung bin und hoffe ihr könnt mir weiter helfen.

Folgende Aufgabenstellung:

Es geht um einen Wärmetauscher, in welchem ein kalter Luftstrom durch einen im Gegenstrom geführten warmen Luftstrom erwärmt wird. Der zu erwärmende Luftstrom ist vollständig definiert, sodass ich die zu übertragene Wärmemenge (Qges) habe. Somit muss der wärmeabgebende Luftstrom dieselbe Wärmemenge abgeben. Dabei kann Wasser auskondensieren. Den Anfangszustand des wärmeabgebenden Luftstroms nenne ich 1. Dieser ist vollständig definiert. Nun habe ich berechnet, welche Wärmemenge bis zum Sättigungszustand übertragen werden muss. Den Sättigungszustand nenne ich 2. Dieser ist auch vollständig definiert.  Nun bleibt ein Restwärmestrom (Q_3 bzw. Q_4) übrig, welcher dazu führt, dass Wasserdampf aus dem abzukühlenden Luftstrom auskondensiert (man bewegt sich auf der Sättigungslinie in Richtung geringerer Temperatur -> dadurch verkleinert sich der Wasserdampfgehalt meines Luftstroms). Diesen Wärmestrom hab ich durch Abzug der Wärmemenge bis zur Sättigung von der Gesamtwärmemenge berechnet. Über Gleichung 1 berechnet sich (bei vorgegebener Temperatur und dazu berechnetem Sättigungswassergehalt) die Wärmemenge Q_4. Diese soll um maximal 1 von der Wärmemenge Q_3 abweichen (condition). Ich ziehe zunächst von der Starttemperatur (t_3= t_2) ein hohes Delta ab. Daraus relultiert ein großes Q_4. Nun soll Delta bzw. t_3 solange verringert werden, bis meine Bedingung erfüllt ist.

Bisher wird gar keine Iteration durchgeführt, sondern als t_soll immer der Startwert minus Delta angegeben, was ja nicht sein kann.

Hier der Code dazu:

Public Function t_soll(Q_11, Q_12, Q_21, Q_22, mL, xs_2, t_2, p)
'Q_11    - Wärmeinhalt Strom 1 Eintritt WT
'Q_12    - Wärmeinhalt Strom 1 Austritt WT
'Q_21    - Wärmeinhalt Strom 2 Eintritt WT
'Q_22    - Wärmeinhalt Strom 2 am Sättigungspunkt/ vor Kondensation
'mL        - Massenstrom trockene Luft
'xs_2     - Sättigungswassergehalt im Punkt 2
't_2        - Temperatur im Punkt 2 (Sättigungstemperatur)
'p           - Luftdruck


    Qges = Q_12 - Q_11                                                   'dieser Wärmestrom wird ausgetauscht
    Q_3 = Qges - (Q_21 - Q_22)                                     'dieser Wärmestrom wird abgegeben, bis die Sättigung erreicht wird
    Delta = 20                                                                      'das Delta soll von der Sättigungstemperatur im Punkt 2 abgezogen werden
    t_3= t_2
            
    Do While Abs(Q_4 - Q_3) < 1                                                                                                                            'Wärmemengen Q_3 und Q_4 sollen höchstens um 1 abwei.
        t_3= t_3 - Delta                                                                                                                                                 'Temperatur wird verkleinert
        xs_3 = xs(t_3, p)                                                                                                                                               'Funktion zur Berechnung des Sättigungs-Wassergehaltes
        Q_4 = (mL * (cL * (t_2 - t_3) + (xs_2 - xs_3) * rLV + (xs_2 - xs_3) * cD * (t_2 - t_3))) / 3600              'Gleichung 1
        Delta = Delta - 0.1                                                                                                                                            'Delta wird verkleinert um sich t_3 zu nähern
    Loop
    t_soll = t_3                                                                                                                                                             'Übergabe des aktuellen t_3
    
End Function

 

Ich hoffe ihr könnt mir schnellstmöglich helfen.

Vielen Dank schon im Voraus!!!!

 

Lieben Gruß, Lisa


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Iteration wird falsch bearbeitet
08.12.2012 13:23:00 Lisa1808
NotSolved
10.12.2012 12:48:15 Holger
NotSolved