| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: batch-mode und postprocessing (10693 mal gelesen)
|
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 09. Aug. 2009 17:15 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen. ich schlag mich grad mit einer transienten struktur-analyse (lastfall erdbeben) rum. eckdaten rechner: 2x2.6GHz|4GB RAM|vista64|ansys12 64bit apdl-script: besteht aus ca 15 dateien, die via /input - kommando nacheinander in die hauptdatei eingelesen werden. in den apdl-scripten kommt häufiger der /sys befehl vor, mit dem ich auf cmaple (maple für die kommando-zeile) zugreife. beim ersten testlauf brauche ich ca 10 stunden für einen rechenlauf - entspricht 10s erdbeben -1- jetzt habe ich im launcher smp aktiviert, total workspace auf 3072mb und database auf 1024 mb gesetzt welche möglichkeiten habe ich sonst, ansys mehr leistung zu zuweisen? -2- ist eine berechnung im batchmode schneller? und wenn ja: wie muß ich die apdl scripte umbauen und den batchmode starten? oder sollte der /batch befehl alles gewesen sein? SO einfach kann's ja nun nicht sein -3- postprocessing im "normal-modus" jetzt dachte ich mir, ich schau mir nach den 10h rechnung mal den film an, wie sich die struktur verhält, aber denkste: animate -> over time -> fehlermeldung... ansys kann nicht auf die daten zurückgreifen.. was tun? jemand ne ahnung? schon mal jetzt danke für eure hilfe ral [Diese Nachricht wurde von RAL am 09. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 10. Aug. 2009 11:02 <-- editieren / zitieren --> Unities abgeben:
betr: batch-mode zum vorgehen: im launcher auf batchmode schalten und dann die hauptdatei als input-file angeben ohne /batch befehl in der ersten zeile. bin mir noch ein wenig unschlüssig, ob das vorgehen so richtig ist. ansys hat gerechnet, aber - da ich neuling beim batch-mode bin: gibt es noch haken und ösen bei denen ich hängenbleiben kann? muss ich explizit anweisen, dass ansys ergebnisse speichert, oder sind im .db-file bzw .rst file alle ergebnisse drin? gruß ral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
arnd13 Mitglied Dipl. Ing.
Beiträge: 735 Registriert: 05.11.2008
|
erstellt am: 10. Aug. 2009 11:50 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
1)Keine Ahnung 2)Rechnung im batch-mode ist dann schneller, wenn sonst während der Rechnung viel graphisch dargestellt wird, was man aber auch anders unterdrücken kann. Ob batch-Rechnung allgemein schneller ist weiß ich nicht. 3)Versuchs mal mit /post1 (bzw. /post26) file,filename,rst antime... Eine Berechnung im batch-mode starte ich immer folgendermaßen: Eine Textdatei mit dem Inhalt "C:\Programme\Ansys Inc\v110\ANSYS\bin\intel\ansys.exe" -m 64 -db 32 -p ansys -np 2 -j file -b < inputfilename.inp > outputfilename.out auf die aktuelle Berrechnung anpassen (filenames, Lizenzen, ...) und mit der Endung .bat im Arbeitsverzeichnis speichern. Per Doppelklick starten. In der Datei outputfilename.out kann verfolgt werden, was Ansys gemacht hat, oder wo eventuell abgebrochen wurde. Zum Speichern am besten save,filname,db ins Inputfile aufnehmen. Deine Methode ist wahrscheinlich aber genauso möglich. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Phil001 Mitglied
Beiträge: 23 Registriert: 05.04.2009
|
erstellt am: 10. Aug. 2009 20:30 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
Ich habe meinem Vorposter nur noch mein Batchfile hinzuzufügen. Einfach eine *.bat datei erstellen (z.B. mit Editor) mit folgendem Inhalt: @ECHO====START=== set ANSYS110_PRODUCT=aa_r set ANSWAIT=1 set ANS_CONSEC=YES :job1 @ECHO====JOB#1=== call "C:\Programme\ANSYS Inc\v110\ANSYS\custom\user\intel\ansys.exe" -b -np2 -dir d:\ANSYS -j Input1 -i INPUT1.txt -o Input1.out :job2 @ECHO====JOB#2=== set ANSYS110_PRODUCT=aa_r set ANSWAIT=1 set ANS_CONSEC=YES call "C:\Programme\ANSYS Inc\v110\ANSYS\custom\user\intel\ansys.exe" -b -np2 -dir d:\ANSYS -j Input2 -i INPUT2.txt -o Input2.out :job3 @ECHO====JOB#3=== set ANSYS110_PRODUCT=aa_r set ANSWAIT=1 set ANS_CONSEC=YES call "C:\Programme\ANSYS Inc\v110\ANSYS\custom\user\intel\ansys.exe" -b -np2 -dir d:\ANSYS -j Input3 -i INPUT3.txt -o Input3.out :job4 @ECHO====JOB#4=== set ANSYS110_PRODUCT=aa_r set ANSWAIT=1 set ANS_CONSEC=YES call "C:\Programme\ANSYS Inc\v110\ANSYS\custom\user\intel\ansys.exe" -b -np2 -dir d:\ANSYS -j Input4 -i INPUT4.txt -o Input4.out :job5 @ECHO====JOB#5=== set ANSYS110_PRODUCT=aa_r set ANSWAIT=1 set ANS_CONSEC=YES call "C:\Programme\ANSYS Inc\v110\ANSYS\custom\user\intel\ansys.exe" -b -np2 -dir d:\ANSYS -j Input5 -i INPUT5.txt -o Input5.out @Echo====fertig===== pause Der Batchfile arbeitet dann 5 Inputfiles (Input1.txt bis Input5.txt) ab. set ANSWAIT=1 sagt ANSYS dass es warten soll bis eine Lizenz verfügbar ist (sofern alle anderen belegt sind). set ANSYS110_PRODUCT=aa_r ist die Lizenz (in diesem Fall Academic Research). Solltet ihr nicht wie ich ein selbstkompiliertes ANSYS.exe benutzen müsst ihr den CALL-Befehl umändern auf den Standardordner von ANSYS.exe.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 10. Aug. 2009 21:40 <-- editieren / zitieren --> Unities abgeben:
hallo phil. ich hab dich so verstanden, dass mit dem von dir angegebenen code 5 (verschiedene) jobs hintereinander erledigt werden. habe ich aber nur einen job bestehend aus einer hauptdatei (die sich dann wiederum lastfallabhängig via /input verzweigt, brauche ich nur den ersten call aus deiner routine? @all: erstmal danke bis hier. die frage, wie man ansys "die sporen" gibt, ist leider bisher offen. falls jemand ne schlaue idee hat: her damit gruß ral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LukasB Mitglied Mech. Entwicklung
Beiträge: 68 Registriert: 19.07.2007
|
erstellt am: 11. Aug. 2009 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
Was meinst du mit "Sporen"? Du kannst in deinem Skript per SAVE die .db-Datei jedes einzelnen Lastfalls speichern und danach ins ANSYS laden. Du wirst auch die .rst-Datei brauchen. Diese kopierst du am besten per COPY in deinem Batch-Skript in einen bestimmten Ordner um ein Überschreiben durch eine neue Rechnung zu verhindern. So mach' ich es bei meinen harmonischen Analysen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Phil001 Mitglied
Beiträge: 23 Registriert: 05.04.2009
|
erstellt am: 11. Aug. 2009 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
@RAL: Richtig, ich arbeite immer 5 Inputfiles auf einmal ab! Die Standard ANSYS.exe ist übrigens i zu finden in: C:\Programme\ANSYS Inc\v110\ANSYS\bin\intel\ Du kannst also einfach den CALL-Befehl abändern und nur job1 bearbeitet. Dann heißt der Inputfile INPUT1.txt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 11. Aug. 2009 14:29 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen. mit "die sporen geben" ist gemeint, ansys soviele ressourcen wie möglich zur verfügung zu stellen, damit: a das betriebssystem stabil läuft b die rechenzeit minimiert wird ... sonst muss der rechner während des laufs nichts machen ;-) eine möglichkeit scheint zu sein die "memory"settings auf der registrierkarte "customization" im launcher zu verändern. smp auf 2 prozessoren zu setzen, scheint auch sinnig. ich habe aber irgendwo (vllt sogar hier im forum?) gelesen, dass dann sehr viel ram zur verfügung stehen muss, da man sich sonst mit smp selbst ins knie schießt. eine genaue spezifikation, was "viel ram" heißt, blieb an der stelle aus. ich dachte bisher immer: "viel hilft viel"... scheint aber nicht unbedingt so zu sein. dann gibt es (im normalen apdl modus) noch die wahl des grafikgerätes im launcher: heißt "win32", dass er die on-board graphik verwendet und "3D" die externe graphikkarte?? ich hoffe, ich konnte meine fragen zur ressourcen-verteilung verdeutlichen gruß ral
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Phil001 Mitglied
Beiträge: 23 Registriert: 05.04.2009
|
erstellt am: 11. Aug. 2009 21:20 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
Interessant könnten folgende Befehle für ein Batchfile sein: -np 2 (mit 2 Prozessoren rechnen) -lm (unendlich Speicher für den Sparse-Solver) -m workspace (weist Arbeitsspeicher zu, soviel halt noch unbenutzt ist eingeben) Ansonsten keine Ahnung. Lies mal die "Release 11.0 Documentation for ANSYS, Kapitel 3: Running the ANSYS Program" durch... P.S.: Ich denke die Grafikkarte ist bei Batchfiles irrelevant da ja keine GUI aufgerufen wird... Rechnen wird ANSYS aber nicht unbedingt schneller... [Diese Nachricht wurde von Phil001 am 11. Aug. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 15. Aug. 2009 19:00 <-- editieren / zitieren --> Unities abgeben:
hallo zusammmen. leider werden die probleme nicht weniger: -1- bilder wenn ich den rechenlauf in ansys "normal" via read input from starte, kann ich via /UI,COPY,SAVE,WMF,GRAPH,COLOR,REVERSE,LANDSCAPE,NO,100 bilder schiessen, die eine halbwegs anständige qualität haben. im batch mode funktioniert das /ui.. kommando nicht. weiss jemand wieso? bzw hat jemand eine andere variante, um bilder mit anständiger qualität aus ansys raus zu kriegen? -2- prgrammablauf wie oben beschrieben läuft das script kaskadiert: also eine main-datei liest unterdateien ein. variante 1: soll so laufen, das bis zum ende der transienten analyse der batch mode läuft. die ergebnisse werden weggeschrieben, um das post-processing interaktiv zu erledigen. solu-datei am ende des Batch-mode (qualitativ) /solu antype,trans,new do-schleife über die loadsteps outres,all,all save, 'myjob',db,,solu /quit ansys normal mit myjob.db starten und dann zeilenweise die post-processing datei einlesen /post26 lines,2000 numvar,200 file,myjob,rst RNP =node(x_koord,y_koord,z_koord) !RNP ist danach in skalar-variablen drin nsol,2,RNP,u,x,RNP_u_x,all soweit läuft alles aber bei *GET,RNP_U_MAX,vari,2,EXTREM,VMAX kommt die fehlermeldung: no data points stored.... jemand ne ahnung? variante 2: alles incl post-processing im batch-mode. hab ich noch nicht ausprobiert. aber der abbruch-grund bei variante 1 scheint zu sein, dass daten nicht geladen wurden. wenn ich alles batche, sollten doch alle daten zur verfügung stehen - also z.b. solle es nicht nötig sein eine rst-datei einzulesen. oder hab ich ansys (mal wieder ) nicht verstanden? gruß ral
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wosch Ehrenmitglied V.I.P. h.c. Elektrotechniker im Ruhestand
Beiträge: 2607 Registriert: 16.12.2004 Rechne zuerst ein Problem nach, für das Du eine analytische Lösung kennst.
|
erstellt am: 16. Aug. 2009 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
-1- bilder Wer soll die Bilder alle auswerten? Aber bitte: Code: /show,jpeg !Umschalten auf Dateiausgabe jpeg,qual,100 !Qualität /gfile,800, !Größe in Pixel /replot !oder andere Anweisung /show,close !Zurückschalten auf Bildschirm
Dies ist ein Beispiel, das sich leicht an die konkrete Aufgabe anpassen lässt.------------------ Viel Erfolg wünscht Wolfgang Schätzing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
solve1 Mitglied Berechnungsingenieur
Beiträge: 624 Registriert: 27.05.2008 Ansys APDL Ansys WorkBench
|
erstellt am: 16. Aug. 2009 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für RAL
|
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 238 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 16. Aug. 2009 18:24 <-- editieren / zitieren --> Unities abgeben:
nach langer "fummelei" bin ich zu folgender lösung gekommen: /post26 lines,2000 NUMVAR,200 ! variable (1) = Zeit ! variable (2) = u_x(t) am RNP | RNP = ReferenzNodePegel RNP =node(radt_abm,0,Pegel) nsol,2,RNP,u,x,RNP_u_x,all FILLDATA,2,,,,1,1 REALVAR,2,2 ein "store" braucht es scheinbar nicht, vielleicht gibt es ja auch mehrere wege nach rom ;-) @wosch: danke für die anmerkung, dass kein mensch so viele bilder braucht. ich stell zwar manchmal blöde fragen, aber so schlau war ich schon, dass ich nicht für jeden der 1000 timesteps bilder für verformung und spannung schieße;-) aber danke für das rezept ein anständiges bild aus ansys rauszukriegen. Falls es für jemand noch von interesse ist: für spannungsplots ist/gfile,2400 ok. bei kurven aus dem timehistory-post werden die kurven dann aber zu dünn. empflehlung: 800 an euch alle: vielen dank gruß ral Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|