.inp Import von netgen mit quadr. TetMesh geht nicht

Alle Fragen zu: Vernetzung, Materialien, Lasten, Randbedingungen und Elementparameter /
All questions to: meshing, materials, boundary conditions and element properties

Moderatoren: ccad, mz15, auroraIco, Lehrstuhl

Antworten
elw00d
Import
Beiträge: 14
Registriert: Do 10. Dez 2015, 21:33

.inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von elw00d »

Moin,

Ich habe ein Bauteil in Netgen mit Tetraedern vernetzt und die Option "Second Order Elements" benutzt - nach meinem Verständnis gibt das dann Tets mit quadratischem Ansatz. (?)
Das Netz exportiere ich als Abaqus .inp und möchte es in Z88 Aurora einlesen. Der Importdialog startet, bleibt dann aber bei "Elemente um Element suchen" stehen.

Eine Z88structure.txt wurde erstellt, auch mit einer vergleichbaren Dateigröße wie die .inp, aber irgendwas da drin muss Z88 zum erliegen bringen.

Hier ein Auszug aus der Elementdefinition der Z88structure.txt:

Code: Alles auswählen

1 16
32493 32301 33026 32492 149166 240768 240767 0 0 0
2 16
149164 240769 0 0 0 0 0 0 0 0
3 16
32301 33026 5695 5694 240768 150957 240771 0 0 0
4 16
150956 68121 0 0 0 0 0 0 0 0
Sind ein bißchen viel Nullen drin, oder? Jemand ne Ahnung, wo das Problem liegen könnte?

Mit linearen Tets klappt alles gut. Leider sind mir die zu ungenau.

Oder gibts ne andere Möglichkeit, in Netgen erstellte Netze in Z88 auf quadratische Netze umzubauen?

Danke und Gutes Neues Jahr!

elw00d
Benutzeravatar
SHautsch
Alumni
Beiträge: 380
Registriert: Mo 15. Apr 2013, 11:03

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von SHautsch »

Hallo elw00d,

können Sie uns die betreffende INP-Datei zukommen lassen? Entweder hier im Forum hochladen oder per E-Mail senden (jeweils gezippt). Vielleicht passt ein Keyword für den Konverter nicht mehr oder die Dateistruktur hat sich leicht verändert.

Die Nullen in der Z88-Strukturdatei sind einfach fehlerhafte Knoten, d. h. die Elemente haben teilweise zu wenig Knoten und sind nicht vollständig definiert, da jann dann auch die Elementsuche nicht richtig funktionieren :roll:

Für Sie auch noch ein gesundes neues Jahr!

Beste Grüße,
SHautsch
elw00d
Import
Beiträge: 14
Registriert: Do 10. Dez 2015, 21:33

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von elw00d »

Die Datei hat 29MB und ich bin nicht sicher ob ich sie öffentlich hochladen darf. Aber ich werde die Tage mal mit nem einfacheren Beispiel probieren. Da müsste das Problem ja auch auftauchen und das kann ich dann hochladen.
elw00d
Import
Beiträge: 14
Registriert: Do 10. Dez 2015, 21:33

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von elw00d »

Hier das .inp und der gezippte z88 Projektordner.
Dateianhänge
test_z88.zip
(215.13 KiB) 154-mal heruntergeladen
test.zip
(103.42 KiB) 156-mal heruntergeladen
Benutzeravatar
SHautsch
Alumni
Beiträge: 380
Registriert: Mo 15. Apr 2013, 11:03

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von SHautsch »

Hallo elw00d,

das Problem ist sehr simpel: Netgen erzeugt anscheinend einen Zeilenumbruch in der Koinzidenzliste der INP-Datei - unser Konverter erwartet aber alle Knoten in einer Zeile.

Original INP:

Code: Alles auswählen

*Element, type=C3D10, ELSET=PART1
1, 429, 628, 107, 414, 2109, 2112, 2110, 
1876, 2111, 2113
2, 523, 436, 522, 425, 2114, 2117, 2116, 
2115, 1883, 2118
3, 364, 352, 599, 597, 1627, 2122, 2120, 
2119, 2121, 2123
4, 384, 418, 405, 554, 2124, 2127, 1721, 
2125, 2126, 2128
5, 507, 506, 503, 613, 2129, 2133, 2131, 
2130, 2132, 2134
Daraus die Strukturdatei:

Code: Alles auswählen

1 16
429 628 107 414 2109 2112 2110 0 0 0
2 16
2111 2113 0 0 0 0 0 0 0 0
3 16
523 436 522 425 2114 2117 2116 0 0 0
4 16
1883 2118 0 0 0 0 0 0 0 0
5 16
364 352 599 597 1627 2122 2120 0 0 0
In der Struktur erscheinen nur die Elemente, welche in der ersten Zeile der INP-Koinzidenz stehen.
Um das zu beheben, müssten Sie einfach die Zeilenumbrüche z. B. mit einem Perl-Skript, entfernen.
Ein solches Skript habe ich kurz erstellt und hier im Anhang verfügbar gemacht.

Beste Grüße,
SHautsch
Dateianhänge
inpdelcrlf.zip
Perl-Skript zur Entfernung der Zeilenumbrüche
(1.06 KiB) 161-mal heruntergeladen
elw00d
Import
Beiträge: 14
Registriert: Do 10. Dez 2015, 21:33

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von elw00d »

Ohh, leider ich nix perl. Gibts ne andere Möglickeit? VBA? Oder das perl als exe kompilieren?
Benutzeravatar
SHautsch
Alumni
Beiträge: 380
Registriert: Mo 15. Apr 2013, 11:03

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von SHautsch »

Hallo elw00d,

Perl wird zur Laufzeit interpretiert, daher läuft das mit der EXE leider nicht so einfach.

Aber es ist trotzdem ganz einfach: Perl runterladen (z. B. Strawberry Perl für Windows, auf OS X und Linux-Systemen ist das meist vorinstalliert) und mit folgendem Befehl in der Konsole ausführen:

Code: Alles auswählen

perl inpdelcrlf.pl datei.inp
Dies gilt für Perl-Skript und INP-Datei im selben Ordner, alternativ statt dem Dateinamen einfach den Pfad angeben.
Falls doch VBA der Wunsch ist, dann wäre das leider selbst umzuschreiben - Perl ist jedoch sehr dankbar und einfach zu lesen. Solange reguläre Ausdrücke kein Fremdwort sind, kriegt man das schon hin :wink:

Beste Grüße,
SHautsch

Update:
Nach kurzer Recherche habe ich mal einen Workaround versucht und das Perl-Skript in eine EXE gepackt. Die Dateigröße ist zwar von 3 KB auf 4,8 MB geklettert, aber es funktioniert auf den ersten Blick. Garantie gebe ich dafür aber keine :mrgreen: Aufruf per Doppelklick, INP-Datei muss wie folgt heißen:

Code: Alles auswählen

Eingabedatei: input.inp
Ausgabedatei heißt nach erfolgreichem Lauf: output.inp
Dateianhänge
inpdelcrlf_exe.zip
Perl-Skript als selbstausführende Datei
(1.66 MiB) 155-mal heruntergeladen
elw00d
Import
Beiträge: 14
Registriert: Do 10. Dez 2015, 21:33

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von elw00d »

Vielen Dank für die super Hilfe!

Das Ausführen des Perl Scripts klappt super aufm Mac, danke! Leider geht immer noch was schief: Die Shell meldet zwar nen erfolgreichen Programmdurchlauf ("Ale Zeilenumbrüche entfernt"), aber die neu erstellte Datei "inpnew.inp" sieht genauso aus wie die Eingabedatei, enthält also wieder die fehlerhaften Zeilenumbrüche.
Ich kann nicht ausschließen, dass das mit den Zugriffsrechten auf meinem Mac zu tun hat (bin noch kein eingefleischter Appleleptiker *g*), aber darf ich trotzdem vorsichtig fragen, ob ihr das Ding auf nem Mac getestet habt und es bei euch auf Mac läuft?
Benutzeravatar
SHautsch
Alumni
Beiträge: 380
Registriert: Mo 15. Apr 2013, 11:03

Re: .inp Import von netgen mit quadr. TetMesh geht nicht

Beitrag von SHautsch »

Hallo elw00d,

nein - das ist nur für Windows gedacht. Möglicherweise klappt auf dem Mac etwas nicht so richtig...bei Gelegenheit werde ich das mal testen. Bis dahin einfach auf Windows laufen lassen - hab ja auch extra die EXE gebaut :wink:

Beste Grüße,
SHautsch
Antworten