| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | KISTERS 3DViewStation: Schnelligkeit und Präzision in dem neuen JT-Importer, eine Pressemitteilung
|
Autor
|
Thema: Module in Abaqus UMAT Subroutine nutzen (1111 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 |
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 >>)
 |