Ich möchte gerne mit den partiellen Differentialgleichungen
etwas experementieren. Im speziellen die Wärmegleichung im
2 dimensionalen. Was gibt es dazu aus der Open Source Gemeinde?
Idealerweise hat jemand eine Art howto dazu, mit welchen
Programmen bekommt man die meshes? Wie werden die Raumeigentschaften
auf das genereirte Netz vergeben und schliesslich wie gelöst.
grüsse
Open Source ? Interessante Idee.
Ich wuerd erwarten, dann man das Mesh mit demselben Programm macht, mit
dem man die Geometrie eingibt. Muss aber nicht sein. Dann muss man die
Geometrie mit einem Standardformat rueberziehen koennen. Das Mesh zu
bearbeiten macht Sinn sobald man Rechenzeit sparen kann. So ein System
braucht natuerlich etwas an Einarbeitungszeit bis man vernuenftig
vorwaerts kommt.
Hallo Daniel,
mein Lieblingsprogramm ist Ansys 11 Multiphysics. Mit dem kann man die
einfachen Probleme erschlagen und erst mal ein grundlegendes Gefühl für
die FEM-Berechnungen bekommen. Es deckt unter anderem die Bereiche:
Machinenbau, Elektrotechnik, Strömungstechnik usw. ab. Allerdings ist
das Programm nicht gerade billig, glaube ab 10.000,- aufwärts und
Zusatzmodule kosten extra. Da kann man je nach Aufgabenstellung locker
über 25.000,-EUR kommen, was aber bestimmt nicht Dein Ziel ist. Der
Vorteil solcher "bewährten" Progamme sind die Schnittstellen. Du
zeichnest z.B. in Pro_E die Geometrie und importierst die in dein
FEM-Programm. Dort generierst Du das Netz(Meshing) und setzt die
Randbedingungen(Kräfte, Lager, Temperaturen, Materialeigenschaften....).
In dem Solver werden die Berchnungen durchgeführt und dann im
Preprcessor graphisch dargestellt. Natürlich ist es möglich in jedem
mir bekanntem Programm die Geometrie selbst erstellen und das ist bei
einfachen Modellen auch von Vorteil. Du lernst wie das Programm die
Geometriedaten verarbeitet und kannst später beim Zeichnen eventuellen
Fehlerquellen entgegenwirken.
Nun zu Deinem Mesh-Problem:
Für eine realistische Berechnung spielt die Vernetzung der Oberfläche /
Volumen eine wesentliche Rolle. Dieses Netz wird dann später mit den
Elementen, welche die Materialeigenschaften enthalten, gefüllt. So lange
es möglich ist, setzt man im 2D die "4-Ecks-Elemente" ein und im 3D die
Quader. Warum? Ganz einfach, schau mal nach was für einen Wert der
cos/sin bei 90°(Eckenwinkel) annimmt. 0 oder 1, das sind glatte Zahlen
ohne Rundungsfehler. In meiner letzten Berechnung(Cargolifter-Tür für
AirBus-380 mit Patran) waren es ca. 21_Mio Elemente. Alle Elemente sind
untereinander abhängig, die Rundungsfehler(=Genauigkeit der Berechnung)
spielen dort kräftig mit und verfälschen extrem das Ergebnis.
Daran kranken die meisten automatischen Mesh-Programme. Nicht immer ist
die Geometrie schön rechteckig. Gerade bei Kurvenformen schalten dann
diese Programme auf 3-Ecks-Elemente um, damit die "Hohlräume" aufgefüllt
werden. Hier sind Eck-Winkel <15° keine Seltenheit. Die mathematischen
Konsequenzen dürften nun wohl bekannt sein. Bei dem AirBus habe ich z.B.
erst alles automatisch mit Quadern füllen lassen und dann die Hohlräume
mit der Hand nachgearbeitet. Die Vorgehensweise ist so ähnlich wie bei
Autorouting in Eagle. Man schaut was der Computer vorschlägt und
modifiziert dies nach seinen Vorstellungen.
Ich habe schon genügend Berechnungen gesehen wo die Geometrie einfach
mit Auto-Meshing gefüllt wurde. Die Berechnungen kann man dann getrost
im Mülleimer entsorgen, denn zu ca. 80% sind diese absolut nicht mit der
Realität vereinbar. Wird nun ein Projekt in viele Teilprojekte zerlegt,
ein Team berechnet nur die Türen, eines die Fenster, eines den Rumpf,
eines den ... und alle produzieren Fehler, werden bei dem Assemblen des
Projektes alle Fehler summiert. Manchmal wundere ich mich warum es
trotzdem funktioniert, zum Glück gibt es ja Praxistests. Dort bekommen
manche Rechen-Ings ganz schön große Augen und können nicht schnell genug
in Deckung gehen. Ja wie immer im Leben: Man muss schon wissen was man
tut und sich nicht blind auf den Rechner verlassen. Der ist nämlich dumm
und kann nur das Berechnen was ihm der Programmierer eingibt.
Lange Rede kurzer Sinn -> um das Meshing-Problem zu verstehen erst von
Hand meshen und später mit Auto-Mesh arbeiten.
Im Open-Source Bereich kenne ich mich nicht aus und vermute das die
Vorgehensweise von den Standardprogrammen in der Industrie abweicht.
Wenn Du an einer techn. Einrichtung studierst, ist dort immer ein
FEM-Programm für die Studenten zugänglich. In der Regel Ansys mit vollem
Funktionsumfang aber limitiert auf 500 Elemente / Knoten.
Ansys selber bietet auch Studentenlizensen an, jedoch mit den gleichen
Beschränkungen. Dies soll die Verbreitung von Ansys fördern, denn im
FEM-Bereich tobt ein Kampf, der dem Sieger gute Gewinne verspricht. Man
arbeitet sich nicht schnell mal in irgend ein FEM-Programm ein, sondern
erst im Laufe der Jahre lernt der Berechner alle Möglichkeiten / Kniffe
eines solch komplexen Programmes kennen.
So Patenkinder sind auf -> mache Schluss!
Gruss
Stevko
(der zum Glück kein Berufs-FEM'ler ist)
http://www.caelinux.com/CMS/
Speziell zur visuelen Auswertung von Simulationen und messdaten gibt es
gute open source Programme. Opendx, Paraview usw.
Im prinzip machst du das mit Opensource lösungen so: zuerst mesch mit
einem Program, dann mit einem anderen Paket die Simulstion, und dann die
Auswertung.
wenn man alles in einem Paket haben will wird es z.b. mit ansys recht
teuer
Hallo aaa, Stevko und mec,
Danke für die Tipps!
@Stevko
Danke für die sehr ausführliche Darstellung, quasi aus erster Hand.
Die Zerlegungstricks (Vermeidung bestimmter Winkel) sind mir neue
gewesen. Auf die numerisch erzeugte Ungenauigkeit bin ich auch vorher
aufmerksam geworden. Damals ging es aber um die Stepweite einer
Grösse bei der Simulation. Sinngemäss gibt es dabei einen Trade off
zwischen kleinst möglichen Schrittweite und den dabei zunehmenden
nummerischen Rundungsfehlern. Was mich interessieren würde, ob
diese Tools (kommerzielle und supateuere ;) eine max. Fehlerabschätzung
mitintegrieren?
@mec
OpenFoam sieht gut aus, ich werd mir auf jeden Fall die Doku anschauen.
BTW: Kennt jemand von euch Modelica? Ich habe in Dymola einfache
Schaltsysteme modelliert, aber die Modelle haben dort nur Zeit als
Variable. Die Erweiterung um partielle DGL ist aber geplant.
grüsse
Ich hab mal mit CST Microwave Studio gearbeitet. Ein integriertes Packet
fuer Geometrie, Feldberechnungen und Visualisierung. Die
Geometrieeingabe ist stark verbesserungswuerdig, die Visualisierung
auch. Dafuer ist die Berechnung weltspitze. Kostet einen 45er.
Ich hab mal mit einem Fluiddynamik packet gearbeitet. Dabei wurde die
Geometrie mit Katia erstellt. Katia ist super, kostet aber auch ein 40er
oder so. Dann kam ein unabhaengiges Mesher Tool, und dann wurde alles an
das Solver Tool uebergeben. Alles unabhaengige Packete.
Alle Packete, inkl. Microwave Studio, hatten gemeinsam, dass es viele
Parameter einzustellen gab, die man alle Lernen musste. Da ist nichts
mit mal eben eine Simulation durchzulassen. Unter drei Monaten
Einarbeitungszeit ist nichts. Und unter einem, zwei Monaten pro Jahr
damit zu arbeiten ist auch nichts.
Das hier funktioniert sehr gut:
http://z88.uni-bayreuth.de/
Man muss bloß etwas Aufwand betreiben, um die Eingabedateien zu erzeugen
und die Ausgaben auszuwerten.
FlexPDE von pdesolutions ist auch sehr gut und hat gegenüber von Ansys
den Vorteil, dass man in der Wahl des Lösungsweges flexibler ist. Auch
preiswerter ist es, kostet doch die Vollversion (3-D) lediglich knapp
2000 US$ und die ist dann auch zeitlich unbegrenzt im Gegensatz zu
Ansys, dass ja immer "nur" jährlich gilt. Auch die Knotenanzahl ist bei
FlexPDE unbegrenzt bzw. was der Speicher hergibt
www.pdesolution.com
openfoam? Zumindest hier im Hause sind einige damit am zaubern.
Allerdings - wie schon geschrieben - ohne lange Einarbeitung geht es
nicht. Wenn du die Therorie nicht verstehst, so kannst du die Ergebnisse
nicht interpretieren. Kennst du das Programm nicht so weisst du nicht,
welche Knackpunkte auf jeden Fall vermieden werden müssen. Jedes
Programm hat hier seine eigenen Macken.
cu, mz
Eine eigene Frage?
Dieser Thread ist über 17 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.