DYNA_LINE_TRAN mit Zwischenbewertung von Ergebnis

  • MGolbs
  • MGolbs's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
10 years 4 months ago - 10 years 4 months ago #7301 by MGolbs
Hallo,

wir betrachten unsere Maschinen hinsichtlich Dynamik derzeit primär mit MODE_ITER_SIMULT und DYNA_LINE_HARM >> Fatigue. Die Physik zwingt uns aber nun den letzten Schritt auch zu gehen, DYNA_LINE_TRAN. Da die transiente Analyse ganz andere Größenordnungen von Datenmengen generiert, habe ich vorab einige Grundsatzfragen:

# als Basis *.comm für transient kann man sicher 90% der harmonischen *.comm nutzen (Netz, Eigenschaften, Kinematik, Lagerungen..)?
# für die Kraft-Zeitfunktionen der transienten Analyse würde ich gern ASCI Dateien nutzen (also nicht direkt in *.comm einbauen) Die sollte doch mit Python möglich sein, oder gibt es diese Möglichkeit schon per ASTK >> Export File?
# Ich würde für eine tansiente Analyse verschiedene Kraft-Zeitfunktionen zur gleichen Analyse nutzen wollen. An unterschiedlichen Knoten greifen also speziell definierte Kraft-Zeitfunktionen an.

Dies ist notwendig weil: - von der Physik halt an der Maschine so auftretend - wir Kontakt nicht rechnen wollen sondern diesen erst einmal per Kraft-Zeitfunktion abbilden möchten - .....
# Ich würde gern nach einer Anzahl von Zeitschritten ein Postprozessing (besser die Frage Daten behalten oder verwerfen) von speziell ausgewählten Ergebnissen durchführen (z.B. maximale Verschiebung). Dafür würde ich tmp.ASCI Daten schreiben und für die Bewertung nutzen....
# derzeit stelle ich mir das so vor:
- Schleifenabbildung in Shell/bash (der eigentlich Start der gesamten Berechnung erfolgt mit einem Shell Skript), das mache ich jetzt auch schon so.
- Code-Aster weiterrechnen auf Basis von erzeugtem Datenbestand - POURSUITE Ansatz
- die Bewertung ob Daten behalten oder verworfen werden erfolgt in eigenen Programmen (meist ANSI-C) die über Shell Skript bedient werden.
- Die Frage ob Code-Aster in dieser Zeit weiterrechnen kann oder soll (POURSUITE Ansatz ja oder nein) müsste diskutiert werden.

# kann man während eines Code-Aster Rechenlaufs auf die Daten in (R base /Phad/.. RC 0) zugreifen, diese im Rechenlauf schon reduzieren/verwerfen?

Ich bin mir sicher, dass dies einige Zeit dauern wird bevor so etwas lauffähig funktioniert.

Über Gedanke, Anregungen, Hinweise wäre ich sehr dankbar.

Gruß Markus

Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège
Last edit: 10 years 4 months ago by MGolbs.

Please Log in or Create an account to join the conversation.

More
10 years 4 months ago - 10 years 4 months ago #7303 by RichardS
Hallo Markus,
ich versuche mal ein paar hoffentlich hilfreiche Kommentare zu geben:

MGolbs wrote: # als Basis *.comm für transient kann man sicher 90% der harmonischen *.comm nutzen (Netz, Eigenschaften, Kinematik, Lagerungen..)?

ja, lediglich die Kraefte und der Analysistyp DYNA_LINE_TRAN muss hinzugefuegt werden (die matrizen werden uebernommen.

MGolbs wrote: # für die Kraft-Zeitfunktionen der transienten Analyse würde ich gern ASCI Dateien nutzen (also nicht direkt in *.comm einbauen) Die sollte doch mit Python möglich sein, oder gibt es diese Möglichkeit schon per ASTK >> Export File?

Es gibt die Funktion LIRE_FONCTION, damit kann man Daten aus einer ASCII Datei ganz einfach importieren (zum Beispiel CSV).

MGolbs wrote: # Ich würde für eine tansiente Analyse verschiedene Kraft-Zeitfunktionen zur gleichen Analyse nutzen wollen. An unterschiedlichen Knoten greifen also speziell definierte Kraft-Zeitfunktionen an.

Hier verstehe ich dein Problem nicht...das ist natuerlich moeglich.

MGolbs wrote: # Ich würde gern nach einer Anzahl von Zeitschritten ein Postprozessing (besser die Frage Daten behalten oder verwerfen) von speziell ausgewählten Ergebnissen durchführen (z.B. maximale Verschiebung). Dafür würde ich tmp.ASCI Daten schreiben und für die Bewertung nutzen....

# derzeit stelle ich mir das so vor:
- Schleifenabbildung in Shell/bash (der eigentlich Start der gesamten Berechnung erfolgt mit einem Shell Skript), das mache ich jetzt auch schon so.
- Code-Aster weiterrechnen auf Basis von erzeugtem Datenbestand - POURSUITE Ansatz
- die Bewertung ob Daten behalten oder verworfen werden erfolgt in eigenen Programmen (meist ANSI-C) die über Shell Skript bedient werden.
- Die Frage ob Code-Aster in dieser Zeit weiterrechnen kann oder soll (POURSUITE Ansatz ja oder nein) müsste diskutiert werden.


Falls du DYNA_NON_LINE verwendest gibt es den Befehl OBSERVATION, der ist genau dafuer gedacht. Bei DYNA_LINE_TRAN kommst du wohl nicht um eine Python schleife herum.
Hier ein kleines Code-Snippet das die prinzipielle Vorhegensweise verdeutlicht:
#preprocessing
...........


T_LIST=DEFI_LIST_REEL(DEBUT=0.0,
                        INTERVALLE=(...);

#solution
for i in range(len(T_LIST.Valeurs())):
	
	if i == 0 :
		SOL=DYNA_LINE_TRAN(...
				   INCREMENT=_F(LIST_INST=T_LIST,
				   INST_FIN=T_LIST.Valeurs()[1]),
				   ...);

		#post process results for first time step here

		.........


	else:
		SOL=DYNA_LINE_TRAN(reuse=SOL,
				   ETAT_INIT=_F(RESULTAT=SOL,),
				   ....
				   INCREMENT=_F(LIST_INST=LIST_IN1,
						INST_FIN=LIST_IC1.Valeurs()[i+1]),
                   		   ....);

		#post process results for consecutive times step here

		.........

MGolbs wrote: # kann man während eines Code-Aster Rechenlaufs auf die Daten in (R base /Phad/.. RC 0) zugreifen, diese im Rechenlauf schon reduzieren/verwerfen?

Ja das ist moeglich und bei dem oben beschriebenen Vorgehen notwendig. Falls du im #postprocessing Teil Daten herausschreibst (beispielsweise in einem IMPR_RESU/IMPR_TABLE nach UNITE=30) findest du im temp Verzeichnis die Datei fort.30 welche die tenmporaeren Dateien enthaelt.

MGolbs wrote: Ich bin mir sicher, dass dies einige Zeit dauern wird bevor so etwas lauffähig funktioniert.

Kommt drauf an... :-)
Viel spass beim tuefteln!

Gruss,
Richard

SimScale - Engineering Simulation in your browser!
Last edit: 10 years 4 months ago by RichardS.

Please Log in or Create an account to join the conversation.

  • MGolbs
  • MGolbs's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
10 years 4 months ago #7304 by MGolbs
Hallo Richard,

danke für deine wichtigen Hinweise, Anregungen und Befehlsstrukturen. Ich hätte gar nicht gedacht, dass das was ich da vor habe schon eigentlich von Code-Aster geboten wird - prima!

Werde die nächsten Monate in freien Stunden daran arbeiten. Ein kleines Beispielmodell (*.unv Netz mit Gruppen) aus der Entwicklung harmonische Analyse habe ich schon. Dies werde ich dann als Basis nutzen. Erst mal eine transiente Analyse ohne die ganzen Einzelmaßnahmen aufsetzen und zum Laufen bekommen,...

Gruß und Dank Markus

Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège

Please Log in or Create an account to join the conversation.

Moderators: catux
Time to create page: 0.137 seconds
Powered by Kunena Forum