Hallo zusammen
Ich bin aktuell am Verzweifeln, weil ich es nicht schaffe Modelle mit User Subroutine zum Laufen zu bringen. Ich habe mich schon stundenlang durch unseres und andere Foren gelesen, zwar komme ich der Lösung manchmal etwas näher, aber es läuft einfach nicht vollständig.
Der aktuelle Stand ist folgender, ich hoffe sehr jemand kann mir den entscheidenenden Tipp geben:
Installiert sind:
Abaqus 6.10 EF1
Intel Fortran 11.1 (065)
Microsoft Visual Studio 2010 (10.0)
Die Subroutine (Dateiname Film.for) ist ein einfacher Test, und sieht wie folgt aus:
--------------
SUBROUTINE FILM(H,SINK,TEMP,KSTEP,KINC,TIME,NOEL,NPT,
1 COORDS,JLTYP,FIELD,NFIELD,SNAME,NODE,AREA)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION H(2),TIME(2),COORDS(3), FIELD(NFIELD)
CHARACTER*80 SNAME
C
H(1) = 2* COORDS(1)
C
RETURN
END
-------------------
Bei Submit eines Testjobs, welcher auf FILM.for zugreift, ist recht nichtssagend:
"Error in job Job-1: Problem during linking - Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from release to release, so user subroutines used with a previous release of Abaqus may need to be adjusted"
Diverse Foreneinträge empfehlen, man solle die Versionen von Abaqus, Fortran und Visual C++ genau aufeinander abstimmen. Nach allem was ich gelesen habe, müsste meine Kombination (s.o.) aber funktionieren.
Die Tests und Troubleshooting, was ich bisher gemacht habe:
Der Check des Systems mit abaqus verify -user_std sagt, dass der Fortran Compiler erkannt wird, das Visual C++ jedoch nicht!! (--> Bild abaqus_verify)
Ich kann mir nicht erklären warum, beide Verzeichnisse sind gleichermaßen in den Windows-System-Umgebungsvariablen hinterlegt (--> Bild Umgebungsvariablen).
Eine Abbildung der DOS-Variablen habe ich auch noch dazugefügt. Hier vermisse ich die Zeile für das Visual C++, bin mir aber auch nicht sicher, ob sie hineingehört.
* ifort.exe wird von Abaqus gefunden, der Pfad in den Umgebungsvariablen stimmt auch. Zudem kann ich ifort.exe von jedem beliebigen Verzeichnis der DOS-Konsole aus aufrufen
* vcvars32.bat lässt sich von jedem beliebigen Verzeichnis aus aufrufen, ändert aber das Ergebnis von abaqus verify nicht. Allerdings kommt eine Fehlermeldung, wenn ich vor abaqus verify das vcvars32.bat NICHT aufrufe, mämlich dass die Datei mspdb100.dll nicht gefunden worden sei.
* Direkt von der DOS-Konsole aus lässt sich FILM.for zunächst nicht ausführen, da aba_param.inc fehlt. Wenn ich diese File in das Arbeitsverzeichnis kopiere (habe nur eine mit Suffix _sp gefunden, und das Suffix dann entfernt (?)), dann kommt eine Fehlermeldung: FATAL ERROR LNK1104: ifconsol.lib kann nicht geöffnet werden. Wahrscheinlich fehlen der Konsole schlicht die notwendigen Pfade, wie auch zum Aba_Param.inc ?
Ich bin nun kurz davor, entweder aufzugeben, oder die User Subroutines für meine Berechnungen zu umgehen.
Aber evtl. kann mir ja jemand helfen, wäre toll...
Entschuldigt bitte den langen Eintrag, ich habe versucht, möglichst viele "typische Fragen" zu diesem Problem gleich mit aufzuführen.
Eine Kopie meines Environment-File findet ihr ebenfalls im Anhang (umbenannt in .txt.)
Viele Grüsse aus Karlsruhe !
David
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP