Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Materialorientierung ändern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Materialorientierung ändern (2371 mal gelesen)
  
Die Gewinne der Zukunft werden mit intelligenten, autonomen Elektrofahrzeugen eingefahren. (3DEXPERIENCE)
Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 15. Jul. 2009 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Prinzip.pdf

 
Hallo,
ich bin relativ neu in der FEM-Szene und habe ein für mich relativ schwieriges Problem.
Ich habe eine Piezoaktor (2D), dem ich wie in dem angehängten Bild die Materialorientierung in x-Richtung zugewiesen habe. Das elektrische Feld ist durch die roten Linien dargestellt. Die Berechnung klappt auch wunderbar.
Das Problem ist jetzt, dass in Wirklichkeit die Materialorientierung nicht in x-Richtung vorliegt, sondern sich entlang den Feldlinien ausbildet. Sprich jedes Element müsste gedreht werden.
Jetzt meine Frage: Wie kann ich die Orientierung des Feldes aus dem odb-File auslesen, und danach die Richtung des Feldes dem Material zuweisen?
Über eure Hilfe wäre ich sehr dankbar.
Tschorsch
[/IMG]

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

femchen
Mitglied
wiss. MA


Sehen Sie sich das Profil von femchen an!   Senden Sie eine Private Message an femchen  Schreiben Sie einen Gästebucheintrag für femchen

Beiträge: 166
Registriert: 25.06.2009

erstellt am: 16. Jul. 2009 13:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tschorsch 10 Unities + Antwort hilfreich

Das ist etwas kniffelig.

Du müßtest wohl aus der Odb für jedes Element das Feld auslesen, das Deine Feldrichtung bestimmt, z.B. irgendwelche Principal-Werte. Damit müßtest Du aus diesen Werten für dieses Element eine Materialrichtung errechnen, die Du dann in eine Datei schreiben kannst. Schließlich kannst Du beim nächsten Lauf aus dieser Datei die Materialrichtungen für jedes Element auslesen und aufbringen, evtl. über die Subroutine Orient.

Richtig cool wäre es, aus dem errechneten Feldlinienfeld eine analytische Funktion zu ermitteln, die den Feldverlauf beschreibt. Dann könntest Du die Materialorientierung über eine Distribution angeben.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 20. Jul. 2009 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke für die Hinweise. Ich hab es mit der Subroutine Orient probiert, hab aber noch nicht herausgefunden, wie man die Richtung des Feldes aus dem Obd ausließt und dann in Subroutine schreibt. Kann mit du diesem Sachverhalt noch mal nähere Tipps geben.

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 23. Jul. 2009 09:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich irgendwie noch immer nicht weitergekommen.
In der Hilfe stehen ja folgende Zeilen für die Subroutine ORIENT:
      SUBROUTINE ORIENT(T,NOEL,NPT,LAYER,KSPT,COORDS,BASIS,ANAME,
    1 NNODES,CNODES,JNNUM)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 ANAME
      DIMENSION T(3,3),COORDS(3),BASIS(3,3),CNODES(3,NNODES)
      DIMENSION JNNUM(NNODES)
      XLEN=SQRT(COORDS(1)**2+COORDS(2)**2)
      T(1,1)=COORDS(1)/XLEN
      T(2,1)=COORDS(2)/XLEN
      T(3,1)=0.0
      T(1,2)=-COORDS(2)/XLEN
      T(2,2)=COORDS(1)/XLEN
      T(3,2)=0.0
      T(1,3)=0.0
      T(2,3)=0.0
      T(3,3)=1.0
      RETURN
      END
Kann mir bitte jemand verraten, wie ich die x- und y-Koordinaten des elektr. Feldes aus dem odb an das entsprechende T bringe?

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

femchen
Mitglied
wiss. MA


Sehen Sie sich das Profil von femchen an!   Senden Sie eine Private Message an femchen  Schreiben Sie einen Gästebucheintrag für femchen

Beiträge: 166
Registriert: 25.06.2009

erstellt am: 23. Jul. 2009 09:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tschorsch 10 Unities + Antwort hilfreich

Selbst gemacht habe ich das noch nicht, daher kann ich nur raten.

Soweit ich das sehe, brauchst Du für die ORIENT nur die Elementnummer NOEL anzugeben, Koordinaten des Feldes brauchst Du nicht, nur die Richtungsdefinition.

In der Odb müßtest Du für jedes Element EPG oder EFLX auswerten (beides wird in Magnitude und Komponenten ausgegeben) und aus den Komponenten das gewünschte Materialkoordinatensystem als direction cosines errechnen. Ich vermute, daß Du die Komponenten irgendwie in so etwas wie "Hauptrichtungen" umrechnen mußt. Schau mal, ob das Sinn macht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 24. Jul. 2009 15:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So, die Daten (jeweiligen Richtungskosinüsse - oder wie die Mehrzahl auch heißt) hab ich in eine txt-Datei geschrieben. Erst die Elementnummer und dann die jeweiligen Werte.
Mit welchem Befehl in der Subroutine kann ich denn jetzt die Werte aus dieser Datei aufrufen? Sprich: welcher Befehl muss hinter T(1,1) usw.?

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

femchen
Mitglied
wiss. MA


Sehen Sie sich das Profil von femchen an!   Senden Sie eine Private Message an femchen  Schreiben Sie einen Gästebucheintrag für femchen

Beiträge: 166
Registriert: 25.06.2009

erstellt am: 27. Jul. 2009 14:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tschorsch 10 Unities + Antwort hilfreich

Wenn Du die Daten hast, kannst Du sie einfach in die Subroutine einfügen. Beim Aufruf der Subroutine bekommst Du die jeweilige Elementnummer NOEL, also mußt Du die Routine so programmieren, daß die T(i,j) in Abhängigkeit der Elementnummer definiert werden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 27. Jul. 2009 16:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das ist mir klar, nur viel Ahnung von dieser Programmierung hab ich nicht. In der txt-Datei steht Elementnummer, x-Wert, y-Wert, z-Wert.
Mein großes Problem ist, mit welchem Befehl (nach T(ij)) ich diese aus der Datei auslese.
Es wäre schön, wenn mir jemand mal so eine Beispielzeile hier rein stellen könnte.

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 04. Aug. 2009 12:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
ich hab es jetzt hinbekommen, mir die Werte benötigten Werte auszulesen und als Feld in die Datei datei.f (Subroutine ORIENT) zu schreiben. Für Simulationen mit geringen Elementzahlen funktioniert die Sache einwandfrei. Übersteigt die Elementzahl den Wert 512, erscheint folgende Fehlermeldung:

fortcom: Error: datei.f, line 524: Too many continuation lines
        1 513, 3.806, -3.176,
_____^
compilation aborted for datei.f (code 1)
Abaqus Error: Problem during compilation – datei.f

Weiß jemand, was ich ändern müsste, dass das für beliebig viele Elemente funktioniert?

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten1983
Mitglied
Doktorand


Sehen Sie sich das Profil von carsten1983 an!   Senden Sie eine Private Message an carsten1983  Schreiben Sie einen Gästebucheintrag für carsten1983

Beiträge: 125
Registriert: 11.10.2007

erstellt am: 04. Aug. 2009 13:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tschorsch 10 Unities + Antwort hilfreich

Hallo,

poste doch mal bitte wie du bis jetzt das Auslesen erledigst.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tschorsch
Mitglied



Sehen Sie sich das Profil von Tschorsch an!   Senden Sie eine Private Message an Tschorsch  Schreiben Sie einen Gästebucheintrag für Tschorsch

Beiträge: 22
Registriert: 14.07.2009

proe wf4
abaqus 6.9.1

erstellt am: 10. Aug. 2009 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Mit einem Python-Script lese ich die Daten aus und erstelle gleichzeitig mit diesem Schript ein Fortran-File, in welchem die Daten als Feld stehen. Somit kann ich die diech im Feld befindlichen Koordinaten den T(i,j) zuweisen.
Das oben beschriebene Problem mit der Elementzahl hab ich auch gelöst, indem ich mehrere Felder angelegt habe.

Nun habe ich aber ein weiteres Problem: Bisher ist es mir nur gelungen, die Richtung elementweise zuzurodnen. Geht das mit der Suroutine auch für jeden einzelnen Integrationspunkt?

------------------
Irgendwas geht immer kaputt

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

femchen
Mitglied
wiss. MA


Sehen Sie sich das Profil von femchen an!   Senden Sie eine Private Message an femchen  Schreiben Sie einen Gästebucheintrag für femchen

Beiträge: 166
Registriert: 25.06.2009

erstellt am: 12. Aug. 2009 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Tschorsch 10 Unities + Antwort hilfreich

Ja, schau in die Dokumentation. Dort steht unter "Variables passed in for information" die Variable "NPT" mit der Beschreibung "Integration point number.", das ist was Du suchst.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz