Seite 1 von 1

Diagonalelement 1 Null oder negativ

Verfasst: Fr 10. Jul 2015, 15:55
von AlexH
Hallo Z88-Forummitglieder,

ich habe ein Projekt (i1,i2,i5) erstellt und erfolgreich in Z88-Aurora importieren und rechnen können. Mit den gleichen Daten funktioniert aber leider der direkte Solver (z88r -c -siccg) nicht. Die letzten Zeilen des z88r.log sehen wie folgt aus:

Start SCAL88
### Diagonalelement 1 Null oder negativ ..Stop ###
### liegt oft an fehlenden oder falschen Randbedingungen ###
### Abhilfe: Randbedingungen pruefen (statisch unterbestimmt ?) ###

Wie kann ich diesen Fehler beheben? Vielen Dank vorab für die Hilfe.

Mit freundlichen Grüßen

AlexH

Re: Diagonalelement 1 Null oder negativ

Verfasst: Fr 10. Jul 2015, 18:29
von mz15
Hallo AlexH,

haben Sie das Projekt in der Z88V14OS erstellt, wenn Sie i1, i2 und i5 Daten haben? Der Solver in Z88Aurora ist jedoch "fast" der gleiche wie in der OS-Version. Wenn es also da rechnet, muss dies auch in Z88Aurora funktionieren. Einzig die Materialdaten werden nicht konvertiert. Diese müssen Sie in Z88Aurora nochmal zuweisen. Das kann auch den Fehler mit dem Diagonalelement verursachen.

Nebenbei der von Ihnen angegeben Solver SICCG, ist ein iterativer Solver, kein direkter. Dies geht nur mit dem Cholseky und dem Pardiso (z88r -c -parao).

Gruß
mz

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 11:43
von AlexH
Vielen Dank für die schnelle Antwort mz.

Die Daten habe ich selbst erstellt und rufe den Solver über die Konsole "z88r -t/-c siccg" auf. Ein Fehler war, dass meine Materialdatei falsch für den Z88V14OS-Solver formatiert war.

jetzt ist es richtig
206000 0.3
Nun kommt ein anderer Fehler:
Verlassen Z88CR
Spannungen berechnen
### Element 0 ###
### Jacobi- Determinante Null oder negativ ..Stop ###
### Elementnumerierung falsch, nicht mathematisch positiv ###
### Abhilfe: Siehe Online Hilfe oder Handbuch zum Elementtyp ###
Ein Element "0" gibt nicht, es fängt mit 1 an und ist definitiv aufsteigend nummeriert.
1 1
5 4 1 2 53 52 49 50
2 1
6 5 2 3 54 53 50 51
3 1
8 7 4 5 56 55 52 53
...
Mein Ziel ist es einfach die Daten ohne Benutzeroberfläche über die Konsolebefehle zu berechnen. Mit Z88 Aurora lassen sich die gleichen Daten problemfrei berechnen.

Mit freundlichen Grüßen

AlexH

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 12:09
von mz15
Hallo AlexH,

Das Modell rechnet mit Z88Aurora mit dem iterativen Solver (SICCG) und dem direkten Solver (PARDISO) durch und gibt valide Ergebnisse?
Dann sollte alles stimmen. Ansonsten könnte es an den Randbedingungen liegen. Ist die Kraft zu gross oder das ganze System statisch unterbestimmt verzerren sich die die Elemente uebermaessig. Der iterative Solver geht dann manchmal noch, wenn Sie mal einen direkten Solver versuchen, bricht dieser schon waehrend der der Verschiebungsberechnung ab.

Verwenden Sie die Unix-Variante des Z88V14OS-Solvers, oder den aus Z88Aurora unter Windows? Nur so aus Interesse.

gruss
mz15

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 12:38
von AlexH
Hallo mz,

die Randbedingungen dürften nicht der Grund sein, weil ich es schon erfolgreich mit Z88Aurora V2b(über Benutzeroberfläche) mit dem SICCG-Solver berechnet habe und die Ergebnisse korrekt gewesen sind.

Ich verwende den Z88V14OS-Solver aus Z88 Aurora unter Windows.

Mit freundlichen Grüßen

AlexH

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 13:26
von mz15
Der Solver aus Z88Aurora ist nicht open source, hat aber dafuer einen parallelisierten direkten Solver. Versuchen Sie mal das Modell mit diesem zu rechnen. Aufruf:
z88r.exe -t/-c -parao

Tritt dann das gleiche Problem auf?

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 15:02
von AlexH
Dann kommt dieser Fehler
Beschreiben von Z88O1.TXT
Start SCAL88
### Diagonalelement 1 Null oder negativ ..Stop ###
### liegt oft an fehlenden oder falschen Randbedingungen ###
### Abhilfe: Randbedingungen pruefen (statisch unterbestimmt ?) ###
### Fehler PARDISO 3320:

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 15:13
von mz15
Dann ist es entweder ein Problem mit dem Netz (freie Knoten, falsche Anzahl an Freiheitsgraden, ...) oder fehlende bzw. falsche Randbedingungen / Material. Iterative Solver rechnen zumindest bis zu den Verschiebungen manchmal trotzdem. Direkte Solver nicht.

Da Sie ja sagten in der Oberflaeche funktioniert alles, sollten Sie folgendes versuchen.
Wenn Sie Z88AuroraV3 verwenden, koennen Sie mal in der Datei z88enviro.dyn folgenden Eintrag aendern.
FLAG CONFIRM_SOLVER_START 0 auf
FLAG CONFIRM_SOLVER_START 1
neu starten und rechnen. Bevor der Solver startet, kommt nun eine Abfrage, ob tatsächlich gerechnet werden soll. Zu diesem Zeitpunkt liegen schon alle Daten für den Solverlauf im Projektverzeichnis (i1,i2,i5,elp,man,mat, ...).
Diese können Sie nun mit Ihren eigens generierten Daten vergleichen um den Fehler zu finden.

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 17:06
von AlexH
Habe alle Dateien nochmal von Z88AuroraV3 kopiert und dann mit -z88r -t/-c parao nochmal versucht, was auch problemfrei funktioniert hat. Wahrscheinlich war in z88mat.txt oder z88int.txt die Elementanzahl falsch.

Vielen Dank für die große Hilfe mz.

Re: Diagonalelement 1 Null oder negativ

Verfasst: Sa 11. Jul 2015, 17:08
von mz15
Freut mich das es funktioniert hat.

Viel Erfolg weiterhin.

Gruss
mz15