| | | Hexagon arbeitet mit Microsoft zusammen, um die Fertigung mit Cloud-Technologie neu zu definieren, eine Pressemitteilung
|
Autor
|
Thema: Subroutine für Koordinatenausgabe (1240 mal gelesen)
|
Hiwi Mitglied
Beiträge: 17 Registriert: 16.01.2002 MARC2010, Mentat2010, SUSE Linux
|
erstellt am: 24. Jan. 2011 13:48 <-- editieren / zitieren --> Unities abgeben:
Ich bin ein MARC mit Mentat2010 Anfänger und brauche einen Schubser in die richtige Richtung. Ich brauche nach einer thermisch/mechanisch gekoppelten Simulation die Koordinaten aller Knoten nach dem letzten Inkrement als Liste zum späteren Verarbeiten mit z.B. Excel. Die Koordinaten der Knoten vorher brauche ich auch. Ich habe da was im Handbuch "Volume D" gelesen von UPSTNO und IMPD aber bevor ich da Tagelang herumprobiere und was völlig blödsinniges mache frage ich lieber erstmal die Experten Ich habe noch nie Subroutinen für MARC angepasst oder geschrieben, brauche deshalb einen Ansatz. Außerdem: wie sagt man MARC das er die Subroutine starten soll? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Callahan Moderator Administrator PDMLink
Beiträge: 5611 Registriert: 12.09.2002
|
erstellt am: 24. Jan. 2011 16:05 <-- editieren / zitieren --> Unities abgeben: Nur für Hiwi
|
leprincedetunis Mitglied
Beiträge: 17 Registriert: 07.10.2010
|
erstellt am: 24. Jan. 2011 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für Hiwi
|
Hiwi Mitglied
Beiträge: 17 Registriert: 16.01.2002 MARC2010, Mentat2010, SUSE Linux
|
erstellt am: 24. Jan. 2011 16:37 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Callahan: Indem man sie im Run-Job-Menü unter "User subroutine file" einbindet. So simpel.
Danke vielmals! Jetzt nur noch die Ausgabe der Knotenkoordinaten in (x,y,z) nach dem letzten Inkrement... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Callahan Moderator Administrator PDMLink
Beiträge: 5611 Registriert: 12.09.2002
|
erstellt am: 25. Jan. 2011 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für Hiwi
Zitat: Original erstellt von leprincedetunis: das handbuch ist wirklich nicht sehr hilfreich um die gewünschte subroutinen zu programmieren..
Die gesamte Marc/Mentat-Dokumentation ist eine reine Zumutung. Allerdings ist das gewollt, um die Kunden zu zwingen, teure Schulungen und teures Consulting zu kaufen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hiwi Mitglied
Beiträge: 17 Registriert: 16.01.2002 MARC2010, Mentat2010, SUSE Linux
|
erstellt am: 25. Jan. 2011 15:09 <-- editieren / zitieren --> Unities abgeben:
Kann mir denn keiner sagen wie ich die #§$&@-Koordinaten in eine Datei ausgebe? Ich bekomme das irgenwie nicht hin mit Fortran und MARC! Und ja, die Dokumentation könnte besser sein...</understatement> Folgendes habe ich bis jetzt als meine maßgeschneiderte upstno.f Subroutine: Code: subroutine upstno(nqcode,nodeid,valno,nqncomp,nqtype, * nqaver,nqcomptype,nqdatatype, * nqcompname) #ifdef _IMPLICITNONE implicit none #else implicit logical (a-z) #endif c ** Start of generated type statements ** integer nodeid, nqaver, nqcode, nqcomptype, nqdatatype, nqncomp integer nqtype, i real*8 valno, valno1, valno2 c ** End of generated type statements ** c dimension valno(*) character*24 nqcompname(*) c......................................... Begin User Coding dimension valno1(3),valno2(3) if (nqcode.eq.-1) then c... pick up coordinates and store in valno1 call nodvar(0,nodeid,valno1,nqncomp,nqdatatype) c... pick up displacements and store in valno2 call nodvar(1,nodeid,valno2,nqncomp,nqdatatype) c... add coordinates and displacements do 1 i = 1, nqncomp valno(i)=valno1(i)+valno2(i) 1 continue c... indicate that valno represents a vector nqtype=1 end if c......................................... End User Coding return end
Da fehlt die Ausgabe in eine externe Datei! [Diese Nachricht wurde von Hiwi am 25. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hiwi Mitglied
Beiträge: 17 Registriert: 16.01.2002 MARC2010, Mentat2010, SUSE Linux
|
erstellt am: 25. Jan. 2011 16:45 <-- editieren / zitieren --> Unities abgeben:
HA! Geschaft!!! Man braucht keine Subroutinen zu erstellen, man braucht nur Mentat können folgende Schritte für die Anfänger, die es auch gerne wissen möchten: POSTPROCESSING, RESULTS MORE REPORT WRITER REPORT FILE Man schreibe einen geeigneten Dateinamen hin NEW damit die Datei komplett neu geschrieben wird oder APPEND zum anhängen an einer existierenden Datei NODE DATA einschalten OUTPUT OPTIONS, NODAL DISPLACEMENT OPTION (Wähle ABSOLUTE oder DELTA) OK (oder rechte Maustaste) zum Verlassen dieses Fensters SELECT, NODES (Man wähle die Knoten aus, in meinem Fall: ALL: EXISTing) CREATE REPORT und die Datei wird geschrieben! Man muss nur suchen, und man findet (irgendwann auch) und tschüss [Diese Nachricht wurde von Hiwi am 25. Jan. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|