Autor
|
Thema: Module in Abaqus UMAT Subroutine nutzen (1000 mal gelesen)
|
J.Hund Mitglied Student
Beiträge: 7 Registriert: 10.11.2011 Abaqus 6.12-1 Visual Studio 2008 mit Intel Fortran Compiler 11
|
erstellt am: 16. Nov. 2012 16:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, gibt es die Möglichkeit selbstgeschriebene Module in einer UMAT Subroutine zu verwenden. Ich bin mir allerdings nicht einmal sicher, ob ein Modul für meinen Zweck die richtige Struktur ist: Ich möchte die in props übergebenen Materialparameter am liebsten in ein Modul (module Materialparameter) packen und jede Subroutine meiner UMAT-Subroutine soll dann mithilfe von use Materialparameter Zugriff auf diese Parameter bekommen. Ein Aufruf von Hookesches_Gesetz momentan recht unhandlich aus: Code: call Hookesches_Gesetz (ntens,stress,ddsdde,stran,E_1,E_2, & nu_12,nu_23,G_12,G_23,d,sigma_1,sigma_2,sigma_3,tau_12,tau_23, & tau_13,gamma_12,gamma_13)
Ich stelle mir das - vereinfacht durch das Modul - dann so vor: Code: call Hookesches_Gesetz (ntens,stress,ddsdde,stran, & d,sigma_1,sigma_2,sigma_3,tau_12,tau_23, & tau_13,gamma_12,gamma_13)
Oder sollte ich dazu besser auf einen COMMON-Block zurückgreifen? Kann ich Module überhaupt in Subroutinen definieren? Grüße Jonas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur (m/w/d) Verfahrensentwicklung | Als Tochtergesellschaft der weltweit agierenden französischen Unternehmensgruppe VYGON, die mit 2.350 Mitarbeitern einen Umsatz von 344 Mio. EUR erzielt, sind wir ein weltweit führender Hersteller von Hightech-Medizinprodukten für den Einmalgebrauch. Am Standort Aachen beschäftigen wir 350 Mitarbeiter. Wir entwickeln, fertigen und vertreiben Produkte für die Klinik und die ambulante Versorgung ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
Nicksen Mitglied wissenschaftlicher Mitarbeiter
Beiträge: 239 Registriert: 04.05.2007
|
erstellt am: 19. Nov. 2012 12:47 <-- editieren / zitieren --> Unities abgeben: Nur für J.Hund
Hallo Jonas, ja du kannst Module nutzen. Ich mach das selbst auch und hab mir ein globales Modul erstellt, welches dann in den Subroutinen über "use" nutzbar ist. Das Vorgehen ist sehr einfach. Definiere ein Modul, schreibe deine wichtigen Variablen dort hinein und dann ergänze in deiner Routine "use Materialparameter" im Deklarationsteil noch vor der Zeile mit "include 'ABA_Param.inc' ". Unten ein kleines Beispiel. Dann sollte es klappen. Überprüfe aber in den Routinen die Übergabe der Werte mit kleinen Textausgaben, daran kannst du falsche Datentypen ausschließen. mfg Nixxn Hier das Bsp:
module Materialparameter save real, dimension(6,6) :: MatMatrix end module Materialparameter in der UMAT:
Subroutine UMAT(...) use Materialparameter include 'Aba_Param.inc' ...dein Umat-Code... ------------------ =============== == Dingsen == =============== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|