Das Forum zu Z88OS (Open Source) / The newsgroup for Z88OS (open source)

Moderatoren: ccad, mz15, auroraIco, Lehrstuhl

vom McBernd
#2902
Ich habe ein wenig mit python FreeCAD und Z88 gespielt und eine parser geschrieben um Z88 meshdaten (z88i1.txt) und deformationen z88o2.txt in FreeCAD einzulesen. Das funktioniert soweit ganz gut nur ist da ne Frage augetaucht, und ich hoffe Ihr FEM cracks könnt mir da weiter helfen. Beschreibung im nächsten Post. Jetzt erst mal ein Bildchen einiger Importe.

Kann man das bild eigentlich auch als bild einbinden (so dass es im forum dargestellt wird) ohne es extern verlinken zu müssen.
Dateianhänge
screen1.jpg
screen1.jpg (133.99 KiB) 7006 mal betrachtet
(325.14 KiB) Noch nie heruntergeladen
Zuletzt geändert von McBernd am Di 15. Dez 2015, 11:40, insgesamt 1-mal geändert.
vom McBernd
#2904
Anbei ein weiteres bild (leider nicht eingebunden). Es zeigt die Knotennummerierung eines 20 Knoten hexaeders mit quadratischem Ansatz. Einmal die Z88 Nummerierung und einmal die FreeCAD Nummerierung welche dem med Format aus Salomone (SMESH code) übernommen ist.
Es ist leicht ersichtlich wenn der hexaeder aus Z88 um 90 Grad um die z-Achse gedreht wird, dann sind die Nummerierungen identisch. Nun die Frage, ist das legitim die Zuordung einfach ein zu eins zu machen (N1 z88 = N1 FreeCAC, N2 Z88 = N2 FreeCAD, usw, N20 Z88 = N20 FreeCAD) Funktionieren tut es jedenfall scheinbar wunderbar. Wichtig sind doch die Nummerierungen in sich (Knoten zueinander mit den Faces und Edges), wie das gesamte hexaeder dann im Raum liegt wird doch eh durch die Koordinaten bestimmt, die ihm dann zugewiesen werden.

Oder übersehe ich etwas und es gibt in den Tiefen der FEM Probleme und es muss folgende Nummerierung verwendet werden?

# hexa20fc : N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11, N12, N13, N14, N15, N16, N17, N18, N19, N20
# hexa20z88: N2, N3, N4, N1, N6, N7, N8, N5, N10, N11, N12, N9, N14, N15, N16, N13, N18, N19, N20, N17

Oder muss es noch ganz anders gemacht werden?

gruss bernd
Dateianhänge
hexa20.jpg
hexa20.jpg (20.04 KiB) 7006 mal betrachtet
Zuletzt geändert von McBernd am Di 15. Dez 2015, 11:45, insgesamt 1-mal geändert.
Benutzeravatar
vom SHautsch
#2906
Hallo Bernd,

Bilder lassen sich nicht explizit einfügen, denn bis zu einer bestimmten Größe werden sie automatisch im Beitrag angezeigt und darüber verlinkt, damit das Layout nicht zerrissen wird.
Wir werden aber in naher Zukunft das Forum leicht überarbeiten und da vielleicht auch eine Lösung bringen, die etwas benutzerfreundlicher ist.

In Sachen Hexaeder: solange die Koinsistenz stimmt, ist das egal wie der Hexaeder rotiert ist, es zählt nur die richtige Abfolge der Knoten. Das lokale Koordinatensystem ist dann zwar nicht identisch, aber das sollte für deine Anwendung ja irrelevant sein, oder?

Beste Grüße,
Stefan
vom McBernd
#2908
McBernd hat geschrieben:Kann man das bild eigentlich auch als bild einbinden (so dass es im forum dargestellt wird) ohne es extern verlinken zu müssen.
SHautsch hat geschrieben:Bilder lassen sich nicht explizit einfügen, denn bis zu einer bestimmten Größe werden sie automatisch im Beitrag angezeigt und darüber verlinkt, damit das Layout nicht zerrissen wird.
Wir werden aber in naher Zukunft das Forum leicht überarbeiten und da vielleicht auch eine Lösung bringen, die etwas benutzerfreundlicher ist.
Hab sie runterskaliert auf Breit 700 pixel und das andere auf 500 pixel dann werden sie automatisch angezeigt. Danke für die Info. Zum technischen später mehr...
vom McBernd
#2909
SHautsch hat geschrieben:In Sachen Hexaeder: solange die Koinsistenz stimmt, ist das egal wie der Hexaeder rotiert ist, es zählt nur die richtige Abfolge der Knoten.
Genau das sehe ich auch so.
SHautsch hat geschrieben: Das lokale Koordinatensystem ist dann zwar nicht identisch, aber das sollte für deine Anwendung ja irrelevant sein, oder?
Mhh wann spielt das denn eine Rolle. Nur dann wenn ich innerhalb FreeCAD im Element Berechnungen mit dem lokalen Koordinatensystem von Z88 machen will, aber dafür würde ich ja das aus FreeCAD nehmen...

Wie habt ihr das gelöst bei Euren Nastran, Cosmos, Ansys, Abaqus importern. Dort habt Ihr ja auch beide Varianten. Knoten 1zu1 zuordnen (reihenfolge im element muss natürlich stimmen) oder element so drehen, dass knoten 1 mit knoten 1 übereinstimmt und dann zuordnen. In einigen fällen wie hier beim hexa20 stimmen dann alle knotennummern der Zurodnung überein.
Benutzeravatar
vom SHautsch
#2929
Hallo Bernd,

nun auch zu deiner Anfrage:
Die Z88-Konverter funktionieren in der Art, dass wir unser Koinzidenzschema mit dem des jeweiligen Programmes vergleichen und dann die passende Reihenfolge der Knoten generieren, indem z. B. Knoten 3 und 7 bzw. 4 und 8 getauscht werden (nur als Beispiel).

Für dich sollte das insgesamt keine Auswirkungen haben, solange nur die korrekte Abbildung der Geometrie bzw. den Netzes relevant sind.

Beste Grüße.
Stefan
vom McBernd
#2936
SHautsch hat geschrieben:Die Z88-Konverter funktionieren in der Art, dass wir unser Koinzidenzschema mit dem des jeweiligen Programmes vergleichen und dann die passende Reihenfolge der Knoten generieren, indem z. B. Knoten 3 und 7 bzw. 4 und 8 getauscht werden (nur als Beispiel).

Für dich sollte das insgesamt keine Auswirkungen haben, solange nur die korrekte Abbildung der Geometrie bzw. den Netzes relevant sind.
Ihr importiert doch auch nur die Netzte sowie Constraints wie Lasten und Auflagerbedingungen, oder importiert Ihr noch mehr? Warum vergleicht Ihr dann die Koinzidenzschema?

BTW: Was ist ein Koinzidenzschema? Wie heisst das auf englisch?
Benutzeravatar
vom SHautsch
#2939
Hallo Bernd,
je nach Dateityp importieren wir auch Randbedingungen, jedoch niemals Materialdaten (um unsere Materialdatenbank konsistent zu halten).

Koinzidenzschema = Abfolge der Knoten der Struktur, also welche Knotennummern die jeweilige "Ecke" des Elements hat und in welcher Reihenfolge diese in der Koinzidenzliste auftauchen.

Beste Grüße,
SHautsch
vom McBernd
#3051
Updates in Bezug auf FreeCAD und Z88.

Z88OS kann in einer PreEntwicklerversion als Solver in FreeCAD verwendet werden. Das heisst komplette Geometrieeingabe, Constraint- und Lasteingabe sowie FEM-Mesherstellung und Solveprozess in der FreeCAD-GUI. Das Ausgabeprzessing ist aktuell für Z88 auf die Verschiebungen beschränkt.

Das besondere an FreeCAD FEM ist, dass es nicht Meshbezogen arbeitet. Die Kräfte und Lagerungsbedingungen werden an der Geometrie eingegeben. Die Meshpunkte für die Z88 inputdateien werden durch FreeCAD ermittelt.

Fall Interesse besteht http://forum.freecadweb.org/viewtopic.php?f=18&t=15568

Das ganze ist ein wenig ein Seitenprojekt. Ich will das FEMModule von FreeCAD multi-solver-fähig machen. Zum einfachen testen bot sich da Z88 als OpenSourceSolver mit super deutschen Dokumentation geradezu an.

gruss bernd
vom McBernd
#3054
SHautsch hat geschrieben:...
Koinzidenzschema = Abfolge der Knoten der Struktur, also welche Knotennummern die jeweilige "Ecke" des Elements hat und in welcher Reihenfolge diese in der Koinzidenzliste auftauchen ...
die Reihenfolge ist mir klar, die ist wichtig und auch einfach bestimmbar, oder eben austauschbar bei den verschiedenen meshformaten. Aber was mir nicht klar ist, ist der jeweilige Elementanfangsknoten , mit dem begonnen wird. Der bestimmt ja letztenendes welche Ecke von Abaqus zu welcher Ecke von Z88 zugeordnet wird, oder wie das element dann im Raum positioniert ist. Ich hab ein wenig expoerimentiert. Ich kann das drehen und wenden wie ich will, also mit dem Knoten anfangen mit dem ich will, solange die Reihenfolge stimmt, stimmen auch die Resultate. Mhh nur mit welchen Knoten fange ich nun richtigerweise an ... Bin einfach kein FEM crack ...

Verrtückt eben auch wenn man verschiedene Mesher und Formate vergleicht (Netgen, GMSH, Z88, Salomon, ... alle können *.inp verarbeiten). Die Reihenfolge im Element halten alle ein, aber der Anfangsknoten ist unterschiedlich, darum bekommt man dann auch mit verschiedenen Programmen verschiedene Meshes, obwohl das Format das selbe ist. Schwierig dann die richtige Implementation für FreeCAD zu erstellen ...
vom KeDee
#3065
Hallo Bernd,
Die Reihenfolge im Element halten alle ein, aber der Anfangsknoten ist unterschiedlich, darum bekommt man dann auch mit verschiedenen Programmen verschiedene Meshes, obwohl das Format das selbe ist.
Vermutlich gibt es da keine eindeutige Antwort, welcher Knoten als Anfangsknoten verwendet werden soll. Solange die Ergebnisse stimmen, würde ich mir darüber auch nicht unnötig den Kopf zerbrechen.

Es freut uns, dass Z88OS in FreeCAD Anwendung findet. Vor allem die netzunabhängige Randbedingungsaufgabe ist eine sehr gute Sache. Kann dann das FE-Netz zwischenzeitlich geändert werden und die Randbedingungen werden danach automatisch auf das neue Netz aufgegeben?

Grüße,
KeDee
vom McBernd
#3066
Hallo KeeDee, danke in Bezug auf die Antoword mit dem Startknoten.
KeDee hat geschrieben: Kann dann das FE-Netz zwischenzeitlich geändert werden und die Randbedingungen werden danach automatisch auf das neue Netz aufgegeben?
Die Randbedingungen werden in FreeCAD intern immer unabhängig vom Netz in Abhängigkeit von geometrischen objekten (faces, edges, vertices)gespeichert. Bei Erstellen der Solverinputfiles sucht FreeCAD dann mit den Geometrieelementen die ensprechenden netzknoten oder netzflächen und arbeiten die constraints ein. Das heisst, das netz kann so oft geänert werden wir es der nutzer wünscht.

Es muss natürliche folgendes beachtet werden: Für eine Kantenlast braucht es eine Kante, die muss dann auch in dem body vorhanden sein, mit dem das mesh erstellt wird. Aber das ist ja logisch, denn wenn die kante nicht da ist, hat es keine netzknotenpunkt und ohne knoten keine last.

Ich wird einfach mal ein wenig mit dem standard solver calculix spielen. Dann einfach nochmal anfragen, dann können wir evtl. einen neuen windows snapshot für z88 zur verfügung stellen (ich habe einige fixes commited), oder auch selbst übersetzen. Bei fragen einfach im deutschen FreeCAD forum oder noch besser im englischen FreeCAD FEM forum posten. Die FreeCAD FEM community ist zwar klein, aber erfreulicherweise sehr activ. Oder einfach hier im thread fragen.

Download der aktuellen stabilen version 0.16 für win mit solver calculix schon dabei
(die 0.17pre können aktuell temporär instabil sein, da zur Zeit einige grosse merges durchgeführt werden):
https://github.com/FreeCAD/FreeCAD/releases/tag/0.16

Es gibt nicht viel doku, aber für den workflow reichen die beiden vollkommen aus ...
tutorial 1 (mit integriertem beispiel):
http://www.freecadweb.org/wiki/index.ph ... tilever_3D

tutorial 2:
http://www.freecadweb.org/wiki/index.ph ... M_tutorial

gruss bernd
vom McBernd
#3197
Die Nutzung von z88 als Solver in FreeCAD ist unter Windows vereinfacht worden ...

- Download FreeCAD 0.17.8434 oder neuer von https://github.com/FreeCAD/FreeCAD/releases
- Start FreeCAD
- Wechsle zur Start Workbench (evtl. schon aktuell)
- lade das FEM 3D beispiel (ganz unten auf dem Screen der Start Workbench)
- Doppelklicke auf Analysis in der Baumansicht (dies aktiviert die analysis und wechselt automatisch zur FEM Workbench)
- Menü FEM Solver Z88 --> fügt einen Solver für Z88 hinzu
- Selektiere den Solver Z88 in der Baumansicht und drücke den Button Run Solver (Icon mit dem UhrZiffernblatt) (wegen dev version ist der Sting aktuell nicht übersetzt) zweimall ok drücke im Solver Fenster von z88r
- Ein neues Resultatobjekt erscheint in der Baumansicht --> doppelklick auf das objekt öffnet den einfachen Resultatviewer
- Dort auf absolute Verschiebung --> der maximalwert sollte 87.31 mm sein

- Das 2D example funktioniert auch, max Verschiebung sollte für z88 88.92 mm ergeben

Have Fun ...
Have Fun ...
vom McBernd
#3400
I encountered a problem in FreeCAD tet10 export to Z88 format. Would it be possible to post a really simple tet10 mesh in z88 format. There are only two examples one is 2,5 MB (motorradkurbelwelle) and one 54 MB kolben

The example only needs a few elements just to test the export import in FreeCAD.

Bernd
Start

Hallo Schlorchi00, leider konnten wir den Fehler[…]

Hallo liebes Z88 Team, gibt es bereits Neuigkeite[…]

UPDATE Nachdem ich es nach weiteren Tests leide[…]

We're glad you got it working. We will have a look[…]