Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SIMULIA/ABAQUS
  Subroutine UAMP

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:  Subroutine UAMP (2865 mal gelesen)
Cosmicchaos
Mitglied
Konstrukteur / Berechner


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

Beiträge: 49
Registriert: 24.08.2005

ABAQUS 6.8.1
CAE
16 GB RAM
Windows XP 64

erstellt am: 10. Mrz. 2009 15: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

Hallo liebe Abaqus-Community,

ich habe mal wieder 2 Probleme.
Ich muss ein System (eigentlich nur 1 Punkt, der Rest geht über Couplings etc.) mit einem Drehgeschwindigkeits-abhängigen Moment beaufschlagen. Mein Ansatz wäre die Verwendung von UAMP. Habe einen Steuerknoten, von dem ich mir ein History-Output VR3 erstelle um diesen dann in der Subroutine in eine Amplitude umzuwandeln. Ich habe sogar eine anlytische Formel (polynomisch 5. Potenz oder so) um das direkt umrechnen zu können. Jetzt zu meinen Problemen:

1. Wenn ich eine Art Dummy-Routine anlege, um zu sehen ob Abaqus darauf zugreift (einfach eine aus der Hilfe kopiert und umbenannt) bekomme ich stets die Fehlermeldung "User subroutine uamp is missing" (Wohlbemerkt die Amplitude trägt den Namen "uamp-2"). Gibt es vielleicht einen bestimmten Pfad in denen diese Routinen stehen müssen? Habe auch einen Parameter im ENV-File zugefügt (nach Anfrage beim Support) mit " usub_lib_dir="d:/abaqus_work" " und die Routine dann in das entsprechende Verzeichnis gelegt, mit selbem Ergebnis. Hat jemand dazu eine Idee?

Und nun zu 2. Ich habe überhaupt keine Peilung von Fortran-Routinen. Man sagte mir, dass die UAMP-Subroutine eigentlich sehr einfach wäre, aber nicht mal das schaffe ich. Habe auch eine UAMP-Routine da und habe versucht diese anzupassen, leider ohne Erfolg. Gibt es hier vielleicht jemanden, der mir die zwei Änderungen einbringen kann??? Wie gesagt habe ich lediglich einen Sensor an einem Punkt definiert und mir VR3 mit Frequency=1 ausgeben lassen und möchte diesen jetzt über eine Funktion in einen Ausgabewert für die UAMP umrechnen. Eigentlich keine große Sache, aber leider zu groß für mich. Ich weiss auch, dass das nicht gerade die feine Art ist einfach zu fragen, aber ich weiss einfach keinen anderen Weg mehr.

So, vielen Dank schonmal...

Christian

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

Cosmicchaos
Mitglied
Konstrukteur / Berechner


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

Beiträge: 49
Registriert: 24.08.2005

ABAQUS 6.8.1
CAE
16 GB RAM
Windows XP 64

erstellt am: 13. Mrz. 2009 08:34    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


uamp-motor.txt

 
Hallo Leute,
hab jetzt mal versucht, die Routine selbst zu ändern, aber es will nicht so recht. Vielleicht kann mal jemand einen Blick drauf werfen ;o)
Also die uamp-Routine heisst in Abaqus "uamp-motor" und der ausgelesene Sensorwert "SensorVR3". Bin mir mit dem Syntax der Formel im unteren Teil wirklich nicht sicher.

Vielen Dank schonmal...

Christian

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

Nicksen
Mitglied
wissenschaftlicher Mitarbeiter


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

Beiträge: 239
Registriert: 04.05.2007

erstellt am: 13. Mrz. 2009 08: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 Nur für Cosmicchaos 10 Unities + Antwort hilfreich

Hallo chaos,

was mir als erstes ins Auge faellt ist das Huetchen zum Potenzieren.
Aender das mal in ** ab.
In meinen Routinen verwende ich stets das Doppelsternchen. Kann sein, dass beides verstanden wird. Ich hab deine Routine auch nicht selbst ausprobiert, aber vielleicht ist schon das ein Fehler.

Viel Erfolg und beste Grueße.

der Nicksen

------------------
==========
==  Dingsen  ==
==========

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

Cosmicchaos
Mitglied
Konstrukteur / Berechner


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

Beiträge: 49
Registriert: 24.08.2005

ABAQUS 6.8.1
CAE
16 GB RAM
Windows XP 64

erstellt am: 13. Mrz. 2009 08:52    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. werde das gleich ändern.
wenn ich's aus der Shell starte compiliert er jetzt vollständig.
bekomme aber einen LINK-Fehler:

standardU_static.lib(uamp.obj) : error LNK2005: _UAMP bereits in uamp-motor.obj definiert
standardU.dll : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Abaqus Error: 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 version of Abaqus may need to be adjusted.

Ideen?

Danke

Christian

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

Nicksen
Mitglied
wissenschaftlicher Mitarbeiter


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

Beiträge: 239
Registriert: 04.05.2007

erstellt am: 13. Mrz. 2009 09:04    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 Cosmicchaos 10 Unities + Antwort hilfreich

Also ich hab grade im manual nachgeschaut, aber nichts weiter gefunden.
Du hast scheinbar das komplette Interface der Routine dort herauskopiert. Die Zeile mit der SensorID unterscheidet sich von der SensorValue aus dem manual. Wenn du das aber nachgeschlagen hast, wird das auch okay sein.

Was ich meine:
      iR_VR3  = ivGetSensorID('SensorVR3', jSensorLookUpTable)
      valueR_VR3  = sensorValues(iR_VR3)

Das "ivGet..." stimmt das? Wie gesagt, da kenn ich mich nicht aus und halte an dieser Stelle den Mund.

Was du wegen der Doppelbenennung probieren koenntest waere zum Beispiel eine Umbenennung deines FORTRAN-files. Im Moment heißt es wohl "uamp-motor.f", ich wuerde es mal "test.f" nennen und damit starten.
Ansonsten das Interface noch einmal genau absuchen, ob nicht vielleicht doch eine Aenderung einer Variable uebersehen wurde.

Wenn das alles nichts hilft, bin ich am Ende. Ich drueck dir die Daumen, dass sich hier noch jemand findet, der dir richtig helfen kann.

Viel Erfolg!!!

------------------
==========
==  Dingsen  ==
==========

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)2023 CAD.de | Impressum | Datenschutz