Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  batchmode-rechnungen

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
Autor Thema:  batchmode-rechnungen (1636 mal gelesen)
ansysfred
Mitglied



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

Beiträge: 16
Registriert: 16.04.2012

erstellt am: 24. Jul. 2014 15:49    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 Zusammen,

ich lasse gerade ein paar rechnungen im batchmode durchlaufen. Das ganze steuere ich aus einer c#-anwendung. Leider poppt noch ein msdos-fenster auf mit leerem Inhalt. Ich vermute, dass dies von Ansys erzeugt wird. Finde aber kein weg das fenster zu hidden.
Jetzt meine allgemeine Frage an euch, geht eine batchmode rechnungen ohne ein msdos-fenster?

Für jegliche Rückmeldung recht herzlichen Dank!!!
fred


hier noch der code:

//start ANSYS-Classic im BatchMode
        System.Diagnostics.Process ansys = new System.Diagnostics.Process();
        ansys.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        ansys.StartInfo.FileName = "P:\\Ansys Inc 64\\v140\\ansys\\bin\\winx64\\ANSYS140.exe";
        ansys.StartInfo.Arguments = "-dir D:\\ -b -i D:\\input.txt -o D:\\output.txt";
        ansys.Start();

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

Rotorwerk
Mitglied
Dipl.-Ing. Maschinenbau


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

Beiträge: 37
Registriert: 09.07.2014

erstellt am: 24. Jul. 2014 16:29    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 ansysfred 10 Unities + Antwort hilfreich

Hallo,

für so etwas gibt es doch schedule-Programme. Falls so etwas nicht vorhanden ist, kann man die Ansys Aufrufbefehle in eine Textdatei schreiben. Wird alles richtig gemacht, gibt es keine Fenster, die man verbergen (engl. hidden) muss.


Gruß Norbert

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

ansysfred
Mitglied



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

Beiträge: 16
Registriert: 16.04.2012

erstellt am: 24. Jul. 2014 17:29    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 für deine antwort!

nicht das wir uns falschverstehen: ein input-file wird eingelesen und die rechnung läuft auch sauber..

mit den Argumenten: "-dir D:\\ -b -i D:\\input.txt -o D:\\output.txt" wie in der hilfe und auch von PADT-Inc beschrieben reicht das also nicht ANSYS zu verbergen? Welcher Befehl ist denn dann noch nötig?

Ich habs mit -h oder mit -hidden versucht (wie es sonst eher üblich ist), klappt aber nicht...

Gruß
fred


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

Rotorwerk
Mitglied
Dipl.-Ing. Maschinenbau


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

Beiträge: 37
Registriert: 09.07.2014

erstellt am: 24. Jul. 2014 17:36    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 ansysfred 10 Unities + Antwort hilfreich

Hallo,

hast Du schon mal versucht vor dem Aufruf von Ansys mit cd  in das entsprechende Verzeichnis zu wechseln?

Unter Linux funktioniert es am einfachsten mit zB
ansys110 -b -p struct -j jobname < input.file > jobname-output.file

< bedeutet, dass alle weiteren Eingaben von input.file gelesen werden
> alle Ausgaben gehen in jobname-output.file

Gruß Norbert

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

ansysfred
Mitglied



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

Beiträge: 16
Registriert: 16.04.2012

erstellt am: 24. Jul. 2014 18: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


cmd.exe.jpg

 
-cd als Argument gibt es wohl unter windows nicht (ergibt eine Fehlermeldung im output-file)... aber das verzeichnis wechsele ich mit -dir.
im Anhang siehste mal wie das dos-fenster aussieht...

muss ich vielleicht im input-file noch einen speziellen Befehl machen?

Dank Dir!

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 01:27    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 ansysfred 10 Unities + Antwort hilfreich

Hallo,

ich hatte das gleiche Problem. Meine Lösung war ein VisualBasic-Skript (mit der Endung vbs) aus dem ich Ansys aufrufe:

Code:

Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = chr(34) & "D:/ANSYS Inc/v150/ANSYS/bin/Intel/ansys150.exe" & chr(34) & " -dir " & chr(34) & "D:/" & chr(34) & " -b -i " & chr(34) & "D:/test.inp" & chr(34) & " -o " & chr(34) & "D:/test.output" & chr(34) & " -j Test" & " " & chr(38)
WshShell.Run cmd, 0, false

Den oberen Code als test.vbs speichern und dann mit wscript.exe (wird von Windows automatisch gefunden) ausführen.

Wegen der leeren Zeichen im Ansys-Pfad musste ich diese komplizierte Syntax bei der Definition der String-Variable cmd verwenden.

Vielleicht hast du eine bessere Idee, wie man den Skript lesbarer programiert?

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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

Rotorwerk
Mitglied
Dipl.-Ing. Maschinenbau


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

Beiträge: 37
Registriert: 09.07.2014

erstellt am: 25. Jul. 2014 08:53    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 ansysfred 10 Unities + Antwort hilfreich

Guten Morgen,

das sieht reichlich kompliziert aus. Der eigentliche Ansysaufruf sollte auch nur ansysspezifische Angaben enthalten. Wechseln des Verzeichnisses, Dateiumbenennungen etc. sollten dem Betriebssystem überlassen werden. Dadurch wird das Script auch lesbarer.

dir pfad/zum/Verzeichnis
ansys150 -b -p xxx -j yyy usw.

dir pfad/zum/nächsten/Verzeichnis
ansys150 -b -p xxx -j abc usw.

...

Oder aber man läßt das Ganze von einem Task Spooler abarbeiten. Unter Linux z.B. http://vicerveza.homeunix.net/~viric/soft/ts/


Gruß Norbert

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 09:20    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 ansysfred 10 Unities + Antwort hilfreich

Ich befürchte, dass nur wechseln zum Verzeichnis das Problem der Leerzeichen im Ansyspfad bezeitigt. Wenn das Inputfile auch Leerzeichen hat, dann muss man wieder den Pfad durch Verketten von Strings und char() erzeugen.

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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

Rotorwerk
Mitglied
Dipl.-Ing. Maschinenbau


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

Beiträge: 37
Registriert: 09.07.2014

erstellt am: 25. Jul. 2014 09:41    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 ansysfred 10 Unities + Antwort hilfreich

Hallo,

in Windows kann man doch in der Kommandozeile (cmd.exe) auch Befehle eingeben, die mit der Angabe von Optionen dann auch Leerzeichen enthalten. Früher gab es mal eine autorun.bat, damit DOS und Windows3.11 richtig lief.

Solche Dinge sind in der Unixwelt echt einfach zu lösen. 95 % aller meiner Rechnungen laufen im Hintergrund und alle im Hintergrund laufenden Rechnungen werden über ein Script mit einfachen Befehlen (ohne Strings und char()) abgearbeitet.

Gruß Norbert

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 09:47    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 ansysfred 10 Unities + Antwort hilfreich

Das ist mir klar. In 99.9% der Fälle habe ich mit Leerezeichen inPfaden auch kein Problem.

Aus mir unbekannten Gründen scheint jedoch das Aufrufen von wscript.exe mit Argumenten, die Leerzeichen enthalten, nicht so direkt möglich zu sein.

Daher bin ich froh, wenn mir jemand, der das besser kann, sagt, wie das anders gehen kann.

Ich hoffe, ansysfred wird es selber ausprobieren und hoffentlich kann er die Methode verbessern.

Das Wesentliche ist jedoch, dass meine Lösung funktioniert. Ich habe mit meiner Lösung höchstens ästhetische Probleme...

Gruß
Alex

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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

ansysfred
Mitglied



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

Beiträge: 16
Registriert: 16.04.2012

erstellt am: 25. Jul. 2014 10: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

in deinem vbs machst du doch im prinzip genau das gleiche wie ich in c#? Es werden die gleichen Argumente angegeben oder sehe ich das falsch?! Und die Argumente unter Linux sind doch auch die selben?

Task Spooler oder ähnliches ist für meine Anwendung leider nicht geeignet. Ich lasse parallel zur Ansys-Simulation eine weitere Simulation mit einem anderen Programm laufen...

Es ist ja so: Das starten von Ansys und das berechnen des Modells läuft ja auch. Bei jedem durchlauf geht halt kurz das eine dos-fenster auf und dann wieder zu. Vermutlich liegt es doch an irgendetwas anderem...

grüße
fred

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 10:31    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 ansysfred 10 Unities + Antwort hilfreich

Dein C# Skript sieht schon ähnlich aus. Aber vielleicht liegt ja das Problem tatsächlich anderswo.

Übrigens, es war mir nicht klar, dass dein DOS-Fenster nur kurz aufgeht. Ich dachte, du siehst es die ganze Zeit während der Simulation.

An der Stelle wird es nämlich noch interessanter: Ich habe das selbe Verhalten bei manchen Batch-Skripten beobachtet. Bis jetzt konnte ich keine Lösung dafür finden, aber ich weiß, dass es nur bei den Skripten auftaucht, wo ein Parasolid-Import durchgeführt wird. Das muss nicht die Ursache sein, aber bei mir ist das Verhalten reproduzierbar. Ich mache in meiner Anwendung auch viele andere Sachen, bevor ich den Batch-Prozess starte. Was auch immer das ist, es hat was mit dem CAD-Import zu tun.

Ich bin jedenfalls auch dran und melde mich sobald ich mehr weiß. Falls du eine Lösung findest, bin ich sehr stark daran interessiert.

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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

ansysfred
Mitglied



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

Beiträge: 16
Registriert: 16.04.2012

erstellt am: 25. Jul. 2014 11:02    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

MESHPARTS, du bist der hammer. genau das ist das problem. bei mir ist es der sat-import. da wär ich im leben nicht drauf gekommen...

ich gib dir bescheid, wenn ich ne lösung haben sollte.

gruß
fred

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 11:24    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 ansysfred 10 Unities + Antwort hilfreich

Danke für die Bestätigung! Jetzt sind wir schon zwei, die nach einer Lösung suchen 

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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

MESHPARTS
Mitglied



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

Beiträge: 411
Registriert: 08.03.2013

Meshparts Software (https://www.meshparts.de/products)
Ansys
SolidWorks

erstellt am: 25. Jul. 2014 11:35    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 ansysfred 10 Unities + Antwort hilfreich

Meine Vermutung: Der Befehl ~parain oder ~satin führt selber zu einem weiteren Batch-Prozess. Dafür müsste es eine Exe im Installationsorder geben.

Ich habe keine Idee, wie man das Fenster dazu verbergen kann. Ich weiß nur, dass im interaktiven Modus die Befehle kein DOS-Fenster aufmachen...

------------------
Viele Grüße
Alexandru Dadalau

MESHPARTS GmbH
Tuning Your Simulation
www.meshparts.de

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