WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Kreuzstromwärmeübertrager: Formel in MatLab

 

MiguelP
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2021, 13:55     Titel: Kreuzstromwärmeübertrager: Formel in MatLab
  Antworten mit Zitat      
Guten Tag,

ich sitze aktuell an einer nummerischen Lösung für die Berechnung von Kreuzstromwärmeübertragern.

Ich verzweifle daran die dazugehörige Formel der NTU-Methode in MatLab als Quelltext zu realisieren.

Kann mir zufällig jemand da aushelfen ?


Viele Grüße

Formel KreuzstromWÜ.PNG
 Beschreibung:

Download
 Dateiname:  Formel KreuzstromWÜ.PNG
 Dateigröße:  19.16 KB
 Heruntergeladen:  211 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2021, 14:13     Titel:
  Antworten mit Zitat      
Hallo,

kannst du etwas konkretisieren, wo die Probleme liegen?

Ich würde das größte Problem in der Summe bis unendlich sehen. Ich vermute, dass es auf eine Näherung hinauslaufen wird (ein gewisses M statt unendlich).

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2021, 14:22     Titel:
  Antworten mit Zitat      
Hallo,

es reicht, wenn ich Die Anzahl der Elemente m zwischen sagen wir 1-5 ausprobieren kann.

Zum Beispiel, dass man die Länge einer For-Schleife anpassen kann
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2021, 14:24     Titel:
  Antworten mit Zitat      
Das Teilproblem mit den Fakultäten habe ich bis jetzt wie folgt gelöst:

Code:
%
fak =4;
z = fak;
if fak < 2
    fak =1;
end
    for i=1:fak-1
        fak = i*fak;
    end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2021, 15:13     Titel:
  Antworten mit Zitat      
Hallo,

für Fakultäten gibt es auch factorial .

Das Anpassen der Länge der for-Schleife sollte kein Problem sein, z.B.
Code:
M = 5;
for m = 1:M
...
end


Ansonsten bitte wirklich konkrete Fragen stellen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2021, 15:28     Titel:
  Antworten mit Zitat      
Hallo noch einmal,

ich hab die Formel des Algorithmus nun lauffähig umsetzen können.

Mit Hilfe dieser Formel sollen nun Austrittstemperaturen für zwei Fluide berechnet werden. Alle dafür notwendigen Größen sind vorgegeben.
Das Modell verfolgt den Ansatz, dass ein simulierter Kreuzstromwärmeübertrager in einzelne "Kacheln" zerlegt wird. Je nach dem wie viele "Zeilen" und "Spalte" ich also vorgebe, wird der ursprüngliche Wärmeübertrager in immer kleiner Stücke unterteilt.

Abgespeichert werden die Austrittstemperaturen bei jeder einzelnen Kachel.

Die Frage die sich nun stellt ist, wie kann ich einen brauchbaren 3D-Plot generieren mit den "Kacheln" auf X- und Y-Achse, sowie den dazugehörigen Austrittstemperaturen auf der Z-Achse?

LG und danke für die Zeit


Code:

% Kacheln erzeugen
% Ursprünglich kaltes Fuild [1]
% Ursprünglich heißes Fuild [2]
AnzahlHot_MS = 5;
AnzahlCold_MS = 5;
Anzahl_Kacheln = AnzahlHot_MS*AnzahlCold_MS;
 for i = 1:AnzahlCold_MS
     for k = 1:AnzahlHot_MS
         Kachel{i,k}.Flaeche = A_ges/Anzahl_Kacheln;
         Kachel{i,k}.m_hot_fluid = FLH_m/AnzahlHot_MS;
         Kachel{i,k}.m_cold_fluid = FLK_m/AnzahlCold_MS;
         if i == 1
            Kachel{i,k}.T2_E = FLH_TE_B;
         else
             Kachel{i,k}.T2_E = 0;
         end
         if k == 1
            Kachel{i,k}.T1_E = FLK_TE_B ;        
         else
             Kachel{i,k}.T1_E = 0;
         end

             

     
     end

 end
 
 
  for i = 1:AnzahlCold_MS
     for k = 1:AnzahlHot_MS
         if (i > 1)
             
           Kachel{i,k}.T2_E = Kachel{i-1,k}.T2_A;
           
         end
         if (k > 1)
             
           Kachel{i,k}.T1_E = Kachel{i,k-1}.T1_A;

         end  
         [Kachel{i,k}.T1_A , Kachel{i,k}.T2_A] = Kreuzstromfun( Kachel{i,k}.T1_E , Kachel{i,k}.m_hot_fluid , FLH_cp , Kachel{i,k}.T2_E ,Kachel{i,k}.m_cold_fluid , FLK_cp , k_wert , Kachel{i,k}.Flaeche );
         
          Kachel{i,k+1}.T1_E = Kachel{i,k}.T1_A;
          Kachel{i+1,k}.T2_E = Kachel{i,k}.T2_A;

     end

  end
 


Das ist der Code, wie Kacheln erzeugt werden, und wie Austrittstemperaturen für jede Kacheln bestimmt werden
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.12.2021, 15:37     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
ich hab die Formel des Algorithmus nun lauffähig umsetzen können.

Die Datenstruktur Strukt in Cell macht das ganze m.E. unnötig kompliziert. Leichter zu verarbeiten wären wohl Matrizen T1_E, T2_E, etc. Wenn du die Anzahl der Variablen klein halten willst, würde ich die Arrays in eine Struktur packen statt ein Array von Strukturen zu erstellen.

Zitat:
Alle dafür notwendigen Größen sind vorgegeben.

Dann definiere die Variablen doch bitte, damit man deinen Code ausführen kann.

Zitat:
Die Frage die sich nun stellt ist, wie kann ich einen brauchbaren 3D-Plot generieren mit den "Kacheln" auf X- und Y-Achse, sowie den dazugehörigen Austrittstemperaturen auf der Z-Achse?

Es gibt viele Möglichkeiten, 3D-Plots zu erstellen, z.B. mit surf . Was für deine Zwecke nun brauchbar ist und was nicht, lässt sich schwer erahnen.
Was sind denn eigentlich die "Austrittstemperaturen"? T1_A und T2_A? Sollen sie in einem Bild visualisiert werden? Wie? Als zwei Oberflächen?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2021, 11:54     Titel:
  Antworten mit Zitat      
Die Parameter der Fluide sehen aktuell wie folgt aus

Code:

clear; clc;

%Tx_E = Eintrittstemperatur [x = 1,2]
%Tx_A = Austrittetemperatur [x = 1,2]
% Anpassbare cp-Werte der Fluide
cp_Wasser = 4200;% [J/kg K]
cp_Abgas = 1000; % [J/kg K]

% Parameter heißes Fluid --> Fluid 2 d.h. T2_E und T2_A
FLH_TE_B = 400; % Eintrittstemp heißes Fluid °C
FLH_cp = cp_Abgas; %spezifische Wärmekapazität (J/kg *K)
FLH_m = 0.8;% Massenstrom heißes Fluid (kg/s)

% Parameter kaltes Fluid --> Fluid 1 d.h. T1_E und T1_A
FLK_TE_B = 10; % Eintrittstemp kaltes Fluid °C
FLK_cp = cp_Wasser; %spezifische Wärmekapazität (J/kg *K)
FLK_m = 0.6; % Massenstrom kaltes Fluid (kg/s)

%Parameter des Wärmeübertragers

k_wert = 100; %[W/m^2*K]
A_ges = 30; %[m^2] Fläche WÜ
 


Die Funktion für die Berechnung ergibt sich aus folgendem Zusammenhang

Code:

function [FLH_TA , FLK_TA ] = Kreuzstromfun( FLH_TE , FLH_m , FLH_cp , FLK_TE ,FLK_m , FLK_cp , k , A )

%Berechnung von P1 und P2 Beginn -----------------------------------------
W1 = FLH_m*FLH_cp;
W2 = FLK_m*FLK_cp;

R1 = W1/W2;
R2 = W2/W1;

NTU1 = (k*A)/W1;
NTU2 = (k*A)/W2;


a = 1/(R1*NTU1); %Teilterm vor den Klammern für P1


IS1 =[];
IS2 = [];

IS1(1) = (1/factorial(0))*NTU1^(0); %Innerer Summand 1. Teil bei m=0 für P1

IS2(1) = (1/factorial(0))*(R1*NTU1)^(0);%Innerer Summand 2. Teil bei m=0 für P1

b = 1/(R2*NTU2); %Teilterm vor den Klammern für P2

P = [];
P(1) = (1-(exp(-NTU1)*IS1))*(1-(exp(-R1*NTU1)*IS2)); %P bei m=0;

m = 3;

for j =1:m
     if j > 1
         IS1(j) = ((1/factorial(j-1))*NTU1^(j-1));
         IS2(j)=  ((1/factorial(j-1))*(R1*NTU1)^(j-1));
         g = sum(IS1);
         f = sum(IS2);
         P(j) = (1-(exp(-NTU1)*g))*(1-(exp(-R1*NTU1)*f));
      end
 end

g = sum(P);

P1 = a*g;
P2 = b*g;

FLH_TA = FLH_TE-P1*(FLH_TE-FLK_TE); %Berechnung der Austrittstemperaturen des ursprünglich heißen Fluids
FLK_TA = FLK_TE+P2*(FLH_TE-FLK_TE); %Berechnung der Austrittstemperaturen des ursprünglich kalten Fluids
   
end
 


Im Anhang sende ich noch eine simplifizierte Darstellung des Wärmeübertragers.

Der Plot soll so aussehen, dass die Kacheln auf der X- und Y-Ebene abgetragen ist. Die Austrittstemperaturen der jeweiligen Fluide (1 und 2) sollen auf der Z-Achse zu sehen sein. (Wie ein "Tuch" darüber gespannt sein). Wenn du noch mehr Informationen benötigst sag gerne Bescheid. Danke für deine Zeit

Simplifizierung Kreuzstrom.png
 Beschreibung:

Download
 Dateiname:  Simplifizierung Kreuzstrom.png
 Dateigröße:  244.05 KB
 Heruntergeladen:  178 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2021, 11:56     Titel:
  Antworten mit Zitat      
Ich sehe gerade das manche Notationen in schwarzer Schrift übertragen wurden, weil kein Leerzeichen zum "%" eingehalten wurde.
Das müsste natürlich berücksichtigt werden
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.12.2021, 17:09     Titel:
  Antworten mit Zitat      
Hallo,

hast du dir denn surf mal angesehen? Ist es das, was du dir unter "wie ein Tuch darüber gespannt" vorstellst?
Und wie nun in dem Zusammenhang mit den beiden Ausgangstemperaturen umgegangen werden soll, weiß ich weiterhin nicht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2021, 17:56     Titel:
  Antworten mit Zitat      
Ja surf sieht nach dem aus, was ich für die graphische Lösung anstrebe. Ich weiß nur leider nicht, wie ich das umgesetzt kriege.

Wenn ich jetzt Beispielsweise alle Austrittstemperaturen des Fluides 1 sehen will, wie müsste ich da vorgehen ?

VG
Miguel
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.12.2021, 18:11     Titel:
  Antworten mit Zitat      
Hallo,

die Syntax ist doch nicht so kompliziert?
Code:


Durch die Schachtelung von Cells und Structs machst du dir selbst das Leben schwer, was Z angeht. Und was du als x und y verwenden willst, ist mir offen gesagt nicht recht klar. Im einfachsten Fall etwas wie 1:n

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
MiguelP
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2021, 18:57     Titel:
  Antworten mit Zitat      
ich drücke mich ganz offensichtlich missverständlich aus. Schon mal Sorry dafür.

X und Y kriege ich hin. letztendlich mein Indize der jeweiligen Kachel{i,k}
Meine Z-Achse [Z-Matrix] muss einmal genau die Dimension haben wie Anzahl meiner das Cell-Array. Also in dem Fall 5x5.

Beispiel:

An der Stelle i=1 und k=1 ist soll in diesem Fall die Austrittstemperatur in der Z-Matrix geschrieben werden, welche in der "Kachel{1,1}" für das Fluid 1 errechnet worden ist.

Ich hoffe ich konnte mich verständlich ausdrücken
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.12.2021, 19:36     Titel:
  Antworten mit Zitat      
Hallo,

... und wo ist nun das Problem?
Wenn du Schwierigkeiten hast, aus diesem Cell-Struct-Konstrukt Z zu erzeugen, dann nimm doch einfach von vorneherein eine Matrix. Diese hat dann sofort die benötigte Form.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.