| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
| |
| Material- und Energieeffizienz steigern durch Digital Engineering und Simulation - Herangehensweisen, Praxisbeispiele, Tipps, ein Whitepaper
|
Autor
|
Thema: Schleife verlassen über if....exit funktioniert nicht im Batch Mode (1765 / mal gelesen)
|
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 18:33 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe in meinem Programm eine Do-Schleife, welche nach Erfüllung eines Abbruchkrtieriums zu beenden ist. Dafür nutze ich die Abfrage: *if,x,le,0.001,exit Dies funktioniert einwandfrei im GUI-Mode aber nicht im Batch Mode. Gibt es hier evtl. eine andere Lösung? Gruß Sarah Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
|
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 19:29 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Antwort! Problem beim Go-Befehl ist leider, dass man diesen nicht zum Herausspringen aus do-loops verwenden kann: "This label option may not be mixed with do-loop or if-then-else constructs." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 19:37 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
.... dann ersetz doch die *do Schleife durch ein gesteuertes Hochzählen. Wenn z.B. die Laufvariable n kleiner ist als die Grenze dann wieder hoch zum Label usw und n erhöht man selbst, durch z.B. n = n+1 (ja, ist ne Krücke ich weiß, aber funktioniert) ------------------ Gruß Gerd Hunde haben ein Herrchen oder Frauchen - Katzen haben Personal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 20:04 <-- editieren / zitieren --> Unities abgeben:
|
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 20:07 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
bau doch Dein Abbruchkriterium ans Ende - wenn es nicht erreicht wird schick ihn wieder hoch zum Label start ------------------ Gruß Gerd Hunde haben ein Herrchen oder Frauchen - Katzen haben Personal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 20:19 <-- editieren / zitieren --> Unities abgeben:
Okay, aber dann muss ich ja eine If-Abfrage machen um zu wissen, ob das Abbruchkrititerium erreicht ist. Dann häng ich aber in der If-Bedingung drin und kann nicht mit *go wieder zum Start zurück. [Diese Nachricht wurde von SarahFEM am 06. Jun. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 20:23 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
nee, da *go funktioniert bei einer Konstruktion (eben nochmal geschaut ) *if,abbr,lt,krit *go :ende *endif *go *start :ende ! hier geht es dann weiter zu Sarahs Zufriedenheit
......... ------------------ Gruß Gerd Hunde haben ein Herrchen oder Frauchen - Katzen haben Personal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 21:42 <-- editieren / zitieren --> Unities abgeben:
|
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 21:44 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
|
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 21:50 <-- editieren / zitieren --> Unities abgeben:
In meinem Programm geht es darum, den elektrischen Strom zu senken oder zu erhöhen, bis das Kühlwasser die richtige Temperatur erreicht hat. :anfang *if,abs(Temp-T_Ruecklauf),le,0.1,then *go,:ende *endif Strom_aktuell=(Strom_hoch+Strom_niedrig)/2 /output,Strom_aktuell,prm !e /com,Strom_aktuell=%Strom_aktuell% /output parsav,all /input,Hauptschleife,inp !Hier findet die SImulation statt /input,Strom,prm *get,Temp,plnsol,,max *if,Temp,gt,T_Ruecklauf,then Strom_hoch=strom_aktuell *else Strom_niedrig=strom_aktuell *endif
allsel *go,:anfang :ende Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 22:02 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
... so, uff ich hoffe jetzt auf den geschätzten Meister Wosch. Vielleicht noch eine Frage : führst Du die Simulation im Classic oder in der Workbench durch? Im Moment fällt mir auch nichts mehr ein - sorry ------------------ Gruß Gerd Hunde haben ein Herrchen oder Frauchen - Katzen haben Personal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 06. Jun. 2018 22:08 <-- editieren / zitieren --> Unities abgeben:
|
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 06. Jun. 2018 22:13 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
|
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 07. Jun. 2018 13:15 <-- editieren / zitieren --> Unities abgeben:
Gute Nachricht, Fehler nach stundenlanger Suche gefunden Und zwar habe ich mir die Wassertemperatur über die Zeile: *get,Wasserauslauftemperatur_hoch,plnsol,,max gezogen. Dies funktionierte leider nicht im Batchmodus bzw. seltsamerweise nur in der ersten Iteration, daher hab ich nun die Temperatur über den Ort bestimmt. Vllt. hat jemand ja irgendwann einmal ein ähnliches Problem und dem hilft diese Lösung. Insofern funktioniert das Beenden der Schleife über *if....exit einwandfrei, die Bedingung war nur nie erfüllt. Dies habe ich nicht festgestellt, da man in der out-Datei nur die erste Iteration angezeigt bekommt, welche ja gestimmt hat. Mit /gopr und damit der Anzeige aller Zeilen habe ich dann den Fehler gefunden :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smittytomcat Mitglied Naval Architect / Dipl.-Ing. Schiffbau, selbstständig
Beiträge: 1325 Registriert: 23.08.2005 ANSYS Bricscad Windows XP Prof 32 bit SP 3 Windoof 7 Prof 64 bit Dell Precision's Bleistift Radiergummi Dreieck Papier Dubbel etc. Taschenrechner den eigenen Kopf ...
|
erstellt am: 07. Jun. 2018 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
hi, das ist ja eine super Nachricht. Aber zu den Ergebnissen - kann es sein das nicht alle Substeps abgespeichert werden und er damit keine Element-Results berechnet? ------------------ Gruß Gerd Hunde haben ein Herrchen oder Frauchen - Katzen haben Personal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SarahFEM Mitglied
Beiträge: 168 Registriert: 05.03.2015
|
erstellt am: 07. Jun. 2018 14:55 <-- editieren / zitieren --> Unities abgeben:
Hmm, eigentlich müsste er dies doch abgespeichert haben, zumal ich auch die Datei abgespeichert habe und er mir diese auch als Temperaturfeld angezeigt hatte. In dem GUI-Modus lief dies auch problemlos. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RAL Mitglied koffeinbetriebender Taschenrechner
Beiträge: 241 Registriert: 10.01.2009 Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel
|
erstellt am: 11. Jun. 2018 22:57 <-- editieren / zitieren --> Unities abgeben: Nur für SarahFEM
moin. vermute das Problem liegt beim PLNSOL wegen PLOT nodal solution. Der batch-mode unterstützt manche Grafikgeschichten nicht. s. a. /UI Was sagt denn der log-/error file bei PLNSOL? Falls du nicht an die Ergebnisse rankommst, ggfs via *GET oder *VGET auslesen und dann über min/max zu Fuss weiter. Ist wahrscheinlich brutal langsam. Vllt geht was über *GET, pRnsol damit könntest du den Grafikteil austricksen. frohes schaffen ral
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |