Author Topic: CFD-Beleg '08  (Read 7460 times)

AcroDirki

  • Newbie
  • *
  • Posts: 32
  • Karma: +0/-0
    • View Profile
    • http://www.282kmhfreiheit.blogspot.com
CFD-Beleg '08
« on: June 21, 2008, 12:27:28 pm »
Hallo allerseits!

Da ich wohl zu der Minderheit gehöre, die versucht, den Beleg in MATLAB zu schreiben, wollte ich fragen, wer das noch so versucht, um vielleicht das ein oder andere Problem gemeinsam zu lösen.
Fly hard


dee83

  • Newbie
  • *
  • Posts: 30
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #1 on: June 24, 2008, 11:10:44 pm »
Hallo

Ich schreibe den Spaß auch gerade mit Matlab.

Fang aber erst damit an. Kann also noch nich viel sagen.

AcroDirki

  • Newbie
  • *
  • Posts: 32
  • Karma: +0/-0
    • View Profile
    • http://www.282kmhfreiheit.blogspot.com
CFD-Beleg '08
« Reply #2 on: July 01, 2008, 10:18:06 pm »
Weiß jemand zufällig, wie ich in MATLAB die periodische Randbedingung beim Euler-Verfahren so ein programmiere, dass ich keine Probleme mit den Matritzendimensionen bekomme?
Fly hard


Nick

  • Sr. Member
  • ****
  • Posts: 364
  • Karma: +0/-0
    • View Profile
    • http://
CFD-Beleg '08
« Reply #3 on: July 02, 2008, 09:46:38 am »
Was meinst du mit "Probleme mit den Matrizendimensionen"?

Ich kenne MatLAB ein wenig und vielleicht ist dies eine generelle Frage, die man ohne Kenntnis der konkreten Beleg-Problemstellung klaeren kann.
Die Bloeden sind doch immer die Dummen!

bluefox

  • Newbie
  • *
  • Posts: 44
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #4 on: July 02, 2008, 07:25:23 pm »
Gruß
Ich bin auch dabei den Beleg mit Matlab zu machen und bin zur Zeit beim Programmieren und hab auch paar kleine Problemchen...
Von mir aus kömmer den Beleg auch zusammen machen...

AcroDirki

  • Newbie
  • *
  • Posts: 32
  • Karma: +0/-0
    • View Profile
    • http://www.282kmhfreiheit.blogspot.com
CFD-Beleg '08
« Reply #5 on: July 02, 2008, 08:26:52 pm »
Das Problem ist, dass es nicht geht :)

Also, eineseits tue ich mir schwer die periodischen Randbedinungen einzugeben. Das Feld i,j mit i=1:101 und j=1:101 kennt nun mal keine 0. So kann ich ihm nicht sagen, dass der Wert bei i-1 gleich dem Wert vom anderen Ende ist...
Wie bau ich das?
Aso, ich will gleich sagen, dass es wenig bringt, wenn eine Antwort hier einfach so zusammenhangslos hingeschrieben wird. Cool wär, wenn man ein zwei Zeile Code dazu schreibt, damit man zumindest mal die Hierarchi erkennt...
Andereseits habe ich noch Detailprobleme, zu denen ich später vielleicht mehr sagen kann...
Fly hard


scopy

  • Jr. Member
  • **
  • Posts: 91
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #6 on: July 03, 2008, 08:17:59 am »
Also ich/meine Gruppe haben uns auch schonmal in MATLAB versucht und wir haben auch unsere Problemchen.

Vllt. kann man das ja echt irgendwie gemeinsam lösen.

Naja heut is erstmal MAT-Praktikum und dann hat man ja noch 15 Tage...:glare:
Wollen ist Können!

bluefox

  • Newbie
  • *
  • Posts: 44
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #7 on: July 03, 2008, 03:08:57 pm »
@AcroDirki: Machst du das mit hilfe der Vektoren und Matrizen oder komplett  
                  ausformuliert?
                  Hab de Eva gestern ma gefragt und sie meinte wohl es sei einfachen mit
                  den Matrizen und es geht schneller...
                  Ich bin auch grad am Quelltextbasteln und hab damit auch noch probleme wie
                  du...Leider!

mo-ca

  • Newbie
  • *
  • Posts: 48
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #8 on: July 03, 2008, 09:24:39 pm »
Quote from: AcroDirki
Das Problem ist, dass es nicht geht :)
 
Also, eineseits tue ich mir schwer die periodischen Randbedinungen einzugeben. Das Feld i,j mit i=1:101 und j=1:101 kennt nun mal keine 0. So kann ich ihm nicht sagen, dass der Wert bei i-1 gleich dem Wert vom anderen Ende ist...
Wie bau ich das?
Aso, ich will gleich sagen, dass es wenig bringt, wenn eine Antwort hier einfach so zusammenhangslos hingeschrieben wird. Cool wär, wenn man ein zwei Zeile Code dazu schreibt, damit man zumindest mal die Hierarchi erkennt...
Andereseits habe ich noch Detailprobleme, zu denen ich später vielleicht mehr sagen kann...
Hi, warum bastelst du dann nicht einfach, dass deine neuen werte von i=2:end-1 gehen? end beschreibt das ende des vektors und wenn du einfach den rand als 1 und end bezeichnest, solltest du damit gut klar kommen (so macht es meine gruppe schließlich). wenns detaillierter sein muss / soll, sag nochmal bescheid.
 
Quote from: scopy
Naja heut is erstmal MAT-Praktikum und dann hat man ja noch 15 Tage...:glare:
das is die richtige einstellung ;)

AcroDirki

  • Newbie
  • *
  • Posts: 32
  • Karma: +0/-0
    • View Profile
    • http://www.282kmhfreiheit.blogspot.com
CFD-Beleg '08
« Reply #9 on: July 04, 2008, 07:39:59 pm »
Ok, das Problemchen mit der Randbedinung habe ich hinbekommen. Da lässt man einfach i und j von 2 bis 100 laufen, sagt dann noch das i=1 dem i=101 (analog für j) entspricht und gut ist.

Das Problem mit der Matritze:

Ohne Hilfestellung von Eva, hätte ich das auch nicht hinbekommen.
Man definiert sich halt erst die Anfangsbedinungen: u=0, v=0, p=enstprechende Formel, fasst die dann zu einer sogenannten multidimensionalen Matrix der Form U(i,j,1:3) zusammen wobei U(i,j,1) dann das u aus der Anfangsbedingung ist, mit 2 und 3 dann halt analog v und p.
Wenn man den Schiet hinbekommen und verstanden hat, dann geht man in die Berechnungstripleschleife ... for t=..., for i=... for j=.... Dann schreibt man zuerst die periodischen Randbedingungen hin und gibt dann die Diskretisierung des entsprechenden Verfahrens mit den multidimensionalen Us ein. Damit man dann in einem Durchlauf z.B. bei i=51, j=51 den eigentlichen Vektor [u,v,p]' mit der Matrix A multiplizieren kann muss man ihn vorher squeezen (siehe Hilfedatei ... squeeze(U....)), sonst klappt, dass nicht weil er keine multidimensionale Matrix mit ner normalen Matrix multiplizieren kann. Dann funktioniert erstmal die Berechnung der Diskretisierung. Damit die ganze Schleife läuft, muss dann wohl noch das neue U (was jetzt ein 3x1 Vektor ist) wieder in eine multidimensionale Matrix zurückgesqueezt werden, oder so ähnlich, damit er im nächsten Durchlauf, wieder die Randbedingungen abhandeln kann.

Hoffe, dass diese Erläuterung einigen weiter hilft.
Bis zum nächsten Problem.
Fly hard


mo-ca

  • Newbie
  • *
  • Posts: 48
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #10 on: July 05, 2008, 11:08:21 am »
aber dein U ist nicht immer 0.
 
du musst halt beachten, dass du irgendwie eine beziehung von u und p hast. aber prinzipiell klingts richtig, wie du das machst

bürschte

  • Newbie
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #11 on: July 11, 2008, 03:01:14 pm »
Hallo Leute,

wir schlagen uns auch mit dem Beleg rum, programmieren ihn allerdings in Fortran. wir versuchen es zumindest. Leider haut das alles noch nicht so recht hin, daher wollt ich mal fragen ob es anderen ähnlich geht und vielleicht Interesse besteht sich am Samstag mal irgendwo an der Uni zu treffen?
Vielleicht können wir uns ja gegenseitig ein bisschen auf die Sprünge helfen.

Falls ihr Interesse habt, schreibt doch einfach mal nen Ort und eine Zeit, wann ihr könntet. Ich wäre ja für Samstag so gegen 11 irgendwo in der SLUB.

Grüße Martin

Kingpin

  • Newbie
  • *
  • Posts: 6
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #12 on: July 12, 2008, 06:02:06 pm »
Und die nächsten denen numerische CFD-Verfahren den letzten Nerv rauben.....

Wir kriegen die Gleichungen implementiert, aber unsere Ergebnisse sind irgendwie bissl konfus. Wir glauben es liegt an der Randbedingung "periodischer Rand" oder was immer das auch sein soll. Vielleicht kann ja jemand mal paar Worte + MATLAB-Befehlszeilen dazu schreiben ?

Thx

Caschu

  • Hero Member
  • *****
  • Posts: 683
  • Karma: +0/-0
    • View Profile
    • http://
CFD-Beleg '08
« Reply #13 on: July 12, 2008, 06:05:53 pm »
Periodischer Rand bedeutet sinngemäß, dass alle Informationen die dein Randgebiet verlassen auf der anderen Seite wieder reinkommen. Also alles was rechts aus dem Gitter verschwindet kommt links wieder rein, bzw. wird reflektiert. Das soll die Simulation einer Wand darstellen. ;)

Kein Periodischer Rand wäre dann zum Beispiel eine Rohrströmung, denn dort sollte rechts und links offen sein. Viel Spaß weiterhin. :D

bürschte

  • Newbie
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
CFD-Beleg '08
« Reply #14 on: July 12, 2008, 09:01:54 pm »
also hab ich das richtig verstanden ? für periodischen rand nimmst du für die differenzenquotienten einfach den gegenüberliegenden punkt am anderen Ende des inneren Feldes? also quasi als ob du dein feld nochmal links, rechts, oben und unten dranpackst ?

Aber dann gehts ja noch weiter. was hats denn mit diesen schallharten wänden auf sich ? Die Eva Brußies meinte da nur, dass die Normalkomponente der Geschwindigkeit, also für Rand oben und unten v zu 0 werden soll. Aber muss da nicht auf noch was reflektiert werden ?