| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys |
Autor
|
Thema: Kraft in Abhängigkeit von der Verformung (3560 mal gelesen)
|
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 13. Jan. 2015 11:35 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich arbeite mit Ansys Workbench 15, bin noch relativ unerfahren damit und möchte eine Kraft in Abhängigkeit von der Verformung aufbringen. Die Last zu Beginn (im ersten Schritt) habe ich als Flächenlast auf eine als Komponenten definierte Fläche aufgebracht. Die Komponente habe ich als kleinesfen bezeichnet. Im zweiten Schritt soll die aufgrund der Last erzeugten Verformung in der Komponente kleinesfen ausgelesen werden und dann mithilfe einer mir bekannten Formel in eine neue Last umgerechnet werden und dann erneut auf die Komponente kleinesfen aufgebracht werden. Eine Möglichkeit dazu habe ich bereits gefunden: Durch eine Verformungsstichprobe kann ich die Verformung in Z-Richtung als Parameter markieren und dann in einer zweiten statisch-mechanischen-Analyse die Kraft ebenfalls als Parameter deklarieren und über den Parametersatz anpassen. Da ich jedoch 5 Iterationen machen möchte und nicht nur eine Fläche als Komponete habe, wird diese Variante schnell unübersichtlich. Außerdem entspricht die Verformungsstichprobe nicht einer wissenschaftlichen Auswertung. Daher habe ich die letzte Zeit damit verbracht verschiedenen Möglichekeiten zu ermitteln um ans Ziel zu kommen, jedoch funktioniert keine meiner Überlegungen, daher bräuchte ich eure Hilfe! _______________________ In meiner ersten Überlegung habe ich für jede Iteration eine einzelne statisch-mechanische Analyse erstellt und diese verknüpft. Im Bereich Lösung habe ich dann jeweils versucht die Verformung meiner Fläche kleinesfen auszulesen und in einen Parameter zu schreiben: cmsel,s,kleinesfen,node !Auswahl der Komponente kleinesfen NSEL,S,D,UZ,VMAX !Auswahl des Knotens mit der der größten Verschiebung in kleinesfen *GET,klmax,NODE,,U,Z !Versuch in den Parameter klmax die maximale Verschiebung UZ zu schreiben cmsel,none Es klappt jedoch nicht die Verschiebung einem Parameter zuzuweisen! Ich habe viele Beiträge in eurem Forum gelesen und gesehen, dass auch noch die Möglichkeit besteht diese Werte erst in eine Tabelle zu schreiben und dann davon den Maximalwert auszulesen. Problem hierbei ist jedoch, dass der Befehl ETABLE nicht im Bereich Lösung verwendet werden darf. Ein weiteres Problem ist, dass der Parameter klmax in der nächsten staisch-mechanischen Analyse aufrufbar ist. _______________________ In der zweiten Überlegung habe ich im Design-Modeler einen Design Point definiert und versucht von diesem die Verformung auszulesen. Problem hierbei ist aber auch, dass ich über den *Get befehl in der zweiten statisch-mechanischen Analyse folgende Warnung bekomme: *** WARNING *** CP = 1.295 TIME= 10:19:26 The degree of freedom solution is not available. Line= *GET, verz, NODE, mitfl1, U, Z The *GET command is ignored. ich habe herausgefunden,dass die befehler set,1,1 !Realteil set,1,1,,1 !Imaginärteil diese Warnung unterdrücken sollen. Allerdings sind sie nicht im Lösungsteil zulässig. Ich hoffe ihr versteht meine Probleme. Bin echt auf euch angewiesen! Vielen Dank schon mal für Eure Hilfe!!
Grüße
------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deepblue Mitglied Simulationsingenieur
Beiträge: 912 Registriert: 17.04.2003 ANSYS v19.1, Mechanical, Fluent, ICEM CFD NX 12.0.1 TC 10, TCeasy Win7 64bit HP Z400; 3,3GHz; 12GB RAM NVIDIA Quadro FX2000
|
erstellt am: 13. Jan. 2015 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Hallo, ich habe es selbst zwar noch nie ausprobiert, aber vielleicht kannst Du ja ein Konvergenzkriterium definieren - dieses müsste während des Solve ausgewertet werden. Mit entsprechenden APDL-Scripten lässt sich dann vielleicht eine Analyse mit mehreren Loadsteps definieren...? ------------------ Viele Grüße von Deepblue PS: War meine Antwort hilfreich? Dann freu ich mich über Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 13. Jan. 2015 13:34 <-- editieren / zitieren --> Unities abgeben:
Hallo deepblue, meinst du mittels eine Do-Schleife im Solution Prozess? Das habe ich auch bereits versucht, allerdings ohne den erhofften Erfolg. Hier mein Quellcode mit dem von mir erstellt Designpoint mitfl1. /solu antype,trans kbc,1 outres,all,all *do,i,1,5 !wird 5 mal durchlaufen?? sfdele,all,all time,i+1e-12 *GET,verz,NODE,mitfl1,U,Z !Versuch die Verschiebung aus dem Designpoint mitfl1 auszulesen wsd=20*1.4/1000*(0.46-(0.46-0.33)*(-1000*verz/1.4)) sf,teste,pres,wsd allsel solve *enddo Das führt zu den folgenden Fehlermeldungen: ***** Present time 5 is less than or equal to the previous time in a transient analysis. ***** Node 0 of *GET command is undefined. Line= *GET, verz, NODE, mitfl1,U,Z The *GET command is ignored. ***** The degree of freedom solution is not available. Line= *GET, verz, NODE, mitfl1, U, Z The *GET command is ignored.
------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deepblue Mitglied Simulationsingenieur
Beiträge: 912 Registriert: 17.04.2003 ANSYS v19.1, Mechanical, Fluent, ICEM CFD NX 12.0.1 TC 10, TCeasy Win7 64bit HP Z400; 3,3GHz; 12GB RAM NVIDIA Quadro FX2000
|
erstellt am: 13. Jan. 2015 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Eigentlich meinte ich die Konvergenzkriterien, die man in Mechanical an eine Ergebnisgröße hängen kann. Aber leider werden diese nicht an APDL übergeben und man kann auch keine Parameter abfragen... Ok, dann klappt das leider nicht. Dann würde mir noch ein nichtlineares Federelement einfallen, oder vielleicht sogar ein User-defined Element? Hast Du da schon mal geschaut? ------------------ Viele Grüße von Deepblue PS: War meine Antwort hilfreich? Dann freu ich mich über Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 13. Jan. 2015 14:44 <-- editieren / zitieren --> Unities abgeben:
Hallo deepblue, danke für deine Antwort! Ich verstehe nicht was mir ein nichtlineares Federelement, oder ein User-defined Element bringen soll, da ich dann zwar ein anderes Element habe, aber immer noch nicht die Verschiebung auslesen und einem Parameter zuweisen kann, oder verstehe ich das gerade falsch? Ich hatte noch die Idee den Eingabedateien der beiden Analysen die mit dem Parameterset verbunden sind (bei der Variante die funktioniert) zu vergleichen um dort nachvollziehen zu können wie Ansys automatisch dir mir fehlenden Schritte erledigt. Leider wird Teil indem die Parameter erzeugt, verknüpft und zugewiesen werden nicht dargestellt. Es ist lediglich im Teil b bei Solve for LS1 ein *SET Befehl eingefügt, welcher P2 ARG1 mit einem Wert versieht. Wie dieser Wert jedoch zustande kommmt passiert im Verborgenen... -.-
Grüße
------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deepblue Mitglied Simulationsingenieur
Beiträge: 912 Registriert: 17.04.2003 ANSYS v19.1, Mechanical, Fluent, ICEM CFD NX 12.0.1 TC 10, TCeasy Win7 64bit HP Z400; 3,3GHz; 12GB RAM NVIDIA Quadro FX2000
|
erstellt am: 13. Jan. 2015 15:13 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Hallo, Dein Problem ist doch, dass die Verformungen erst im Post ausgelesen werden können und Du diese in der Solution benötigst. Daher hast Du mit mehreren Analysen gearbeitet... Was Du letzten Endes haben möchtest ist doch ein weggesteuertes Kraftelement. Genau das tut doch eine Feder - abhängig vom Weg die Kraft steuern. Problem hierbei ist: Du musst eine Kennlinie vorgeben mit der Kraft/Weg-Abhängigkeit. Kannst Du so etwas ableiten? Wenn ja, kann alles während des Solve-Vorganges gelöst werden (NL-Analyse), ohne das über Post die Ergebnisse ausgelesen werden müssen... ------------------ Viele Grüße von Deepblue PS: War meine Antwort hilfreich? Dann freu ich mich über Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 13. Jan. 2015 16:54 <-- editieren / zitieren --> Unities abgeben:
Hallo deepblue, Danke für deine Antwort! Ich bin nicht sicher, ob ein nichtlineares Federelemnt funktionieren würde, da ich nicht genau weiß, wie es funktioniert. Ich denke es geht auf jeden Fall in die richtige Richtung. Kann ich dem nl Federelement folgendes vorgeben? Schritt 0 Kraft 0 Verschiebung 0 Schritt 1 Kraft Anfangskraft ergibt Verschiebung S1 Schritt 2 Kraft in Abhängigkeit von Verschiebung S1 ergibt Verschiebung S2 Schritt 3 Kraft in Abhängigkeit von Verschiebung S2 ergibt Verschiebung S3 Ich vermute das geht eher nicht, da ich nicht per Hand die Verschiebung ermitteln kann, sondern dies Ansys erledigen muss und anhand dieser Verschiebung sich dann die Kraft ermitteln soll und somit erst den Solution Teil vollständig durchlaufen muss und anschließend den Post Teil ebenfalls, damit die Verschiebungen ermittelt werden können. Als Element möchte ich solid65 Elemente verwenden. Der Zwischenschritt über die Komponenten dient lediglich dazu, dass ich einzelne Flächen auswählen kann, da die Kraft die ich auf das Bauteil aufbringen möchte nicht konstant ist und abhängig von der Verschiebung des jeweiligen Punktes ist. Danke schon mal. Grüße ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 13. Jan. 2015 17:42 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Kannst Du im Solution-Teil auf die alternativen *get-Funktionen zugreifen? Dann würdest Du die Verschiebung uz durch verz = uz(mitfl1) auslesen können (statt des *get-Befehls in deinem 2. Post) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 13. Jan. 2015 22:42 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von ChristophN: Kannst Du im Solution-Teil auf die alternativen *get-Funktionen zugreifen? Dann würdest Du die Verschiebung uz durch verz = uz(mitfl1) auslesen können (statt des *get-Befehls in deinem 2. Post)
Hallo ChristophN, Danke für deine Antwort! Wie würde eine Alternative zur *Get Funktion aussehen? Ich habe auch versucht eine Alternative dazu zu finden, konnte aber jedoch nur die Variante mit ETABLE finden, welche nicht im Lösungsbereich verwendet werden darf. Das heisst du beziehst dich auf meine zweite Überlegung mit dem Designpoint? Wenn ich dort wie du vorgeschlagen hast den *GET Befehl weglasse und versuche den Designpoint mit verz=uz(mitfl1) aufzurufen bekomme ich eine Fehlermeldung, dass mitfl1 ein nichtbekannter Parameter sei. Versuche ich dann mit NSEL den Designpoint auszuwählen kommt die Fehlermeldung, dass mitfl1 kein Punkt sei. Mit CMSEL bekomme ich den Error, dass mitfl1 nicht definiert sei. Grüße ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 14. Jan. 2015 08:12 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Die Syntax ist so: Verschiebung_z = uz(Knotennummer). Versuche einfach die Knotennummer Deines "Designpoints" unter mitfl1 zu speichern (z.B. mit mitfl1 = node(x,y,z), wobei x,y,z die Koordinaten des "Designpoints" sind) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 15. Jan. 2015 12:25 <-- editieren / zitieren --> Unities abgeben:
Hallo ChristophN, vielen Dank für deine Antwort. Ich hatte gestern leider keine Zeit, weshalb ich heute erst antwortet kann. Ich habe deinen Vorschlag getest. Leider hat es nicht geklappt. Hier die dazugehörigen Fehlermeldungen: Wenn ich in der statisch-mechanischen Analyse die Knotendefinition mit mittefl1=node(0.05,1.3,0.1) !Definition Designpoint mit Koordinaten ausführe und innerhalb der Lösung von diesem Designpoint die Verschiebung auslesen möchte, kommt die Fehlermeldung, dass der Parameter verz von verz=uz(mittefl1) unbekannt sei (wohlgemerkt in der gleichen!!! Analyse). Wenn ich beide Befehle in der statisch-mechanischen Analyse schreibe, kommt die Fehlermeldung, dass der Parameter verz=0 sei. Der Parameter mittefl1 hat in beiden Varianten den Wert 281. Wie dieser jedoch zustande kommt ist mir unverständlich, da ich Verschiebungen im Bereich von ca. 0,2mm habe. Es wäre mir sehr geholfen, wenn du mir bei der Lösung dieses Problems helfen könntest. Das zweite Problem bleibt dennoch weiter bestehen: Wie übertrage ich Paramter zwischen verschiedenen Anaylsen?? Vielen Dank schon mal für Eure Hilfe. Grüße ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 15. Jan. 2015 14:52 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
Die Übertragung der Parameter funktioniert z.B. mit PARSAV und PARRES. Dein Problem kann ich nicht reproduzieren. In einer statischen Analyse kann ich sowohl mit *get als auch mit uz() auf die Verschiebung in /solu zugreifen. Vielleicht kannst Du ein Minimalbeispiel konstruieren, um dem Fehler aufzudecken!? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 19. Jan. 2015 14:41 <-- editieren / zitieren --> Unities abgeben:
Hallo ChristophN, vielen Dank für deine Hilfe! ich habe meinen Fehler beim Aufruf des Designpoint mittels verz=uz(mittefl1) und des *get Befehls gefunden: Ich habe als Einheit mm eingestellt. In Workbench beim Definieren des Designpoints erfolgt die Eingabe dort allerdings in m. Auch die anderen beiden von dir vorgeschlagenen Befehle parres und parsav habe ich verwendet und sie funktionieren. Es wird in der einen statischen Analyse im Ordner Sys der Parameter abce in einer .dat Datei mit PARSAV gespeichert, dann mittels /copy in den Ordner der zweiten Analyse Sys-1 kopiert und dann dort mit dem Befehl PARRES aufgerufen. erste statische Analyse abce=55 !Belegung des Parameters abcd mit dem Wert 55 als Test parsav,all,'abce',dat !Speichern des Parmeters abce /copy,abce,dat,,'D:\...\eigene\ansys\Projekte\Parameter als Befehl\uebersichtlich_files\dp0\SYS-1\MECH\abce',dat zweite statische Analyse parres,new,'abce',dat !Aufruf des gespeicherten Parameters abcd kraft=abce*0.05 !Test ob Parameter abce übernommen werden kann sf,teste,pres,kraft !Aufbringen der Kraft kraft auf der Komponente teste Das Problem hierbei ist jedoch, das eine ganze Menge an Warnungen ausgespuckt werden und meine Vermutung ist, dass irgendwas mit dem Material verändert wird, da ich jetzt nur noch eine ganz geringe Last aufbringen kann und es sonst sofort zu Konvergenzproblemen kommt. Dass der Parameter abce erkannt wird habe ich getestet, da der Parameter Kraft nun einen Wert von 2,75 besitzt.
Hier die Fehlermeldungen: Missing parameter= _ACELX. auch für ACELY und ACELZ Missing parameter= _LOADVARI605X. auch für LOADVARI605Y und LOADVARI605Z Unknown parameter name= _WALLBSOL. A reference force value times the tolerance is used by the Newton-Raphson method for checking convergence. The calculated reference FORCE CONVERGENCE VALUE = 2.125403174E-10 is less than a threshold. This threshold defaults to 1.0-2 or is specified as MINREF on the CNVTOL command. Check results carefully. Auch wenn ich den Parameter Kraft so umforme (kraft=abce/55*0.1288 ), sodass die gleiche Last wie in der ersten Analyse aufgebracht wird, kommt eine Fehlermeldung, dass die Lösung bei gleicher Belastung und Randbedingungen nicht konvergiert. Grüße ------------------ Ansys Workbench 15 [Diese Nachricht wurde von bensemer am 19. Jan. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 19. Jan. 2015 14:48 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
|
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 19. Jan. 2015 14:58 <-- editieren / zitieren --> Unities abgeben:
Klar kann ich machen: In der ersten Analyse wird eine Last aufgebracht und die auftretende Verformung an einem Designpoint in einem Parameter gespeichert. Hier zum Test die Verformung 55 im Parameter abce gespeichert und dann in der zweiten Analyse wieder aufgerufen. Mit der Verformung abce wird dann eine neue Kraft berechnet und dann erneut auf das Bauteil aufgebracht. Ich habe bis jetzt das alles nur sehr simpel gehalten um die Funktionen zum laufen zu bekommen. Wenn das klappt kommt dann im zweiten Schritt die richtige Verknüpfung. Grüße ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 19. Jan. 2015 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
|
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 19. Jan. 2015 15:38 <-- editieren / zitieren --> Unities abgeben:
Ich habe 2 statisch-mechanische Analysen bei denen von der ersten Analyse die ersten drei Elemente (Tech. Daten, Geometrie, Modell) an die zweite Analyse direkt übergeben werden. Da ich die Verformungen im Lösungsbereich der ersten Analyse auslese und im statisch-mechanischen Teil der zweiten Analyse übergebe kennt er die Parameter nicht. So zumindest habe ich die Fehlermeldungen interpretiert nachdem ich es ausprobiert habe. Bin allerdings erst dabei mich in Ansys einzuarbeiten. Etwas anderes wäre es, wenn ich das Parameterset direkt in Workbench verwenden würde. Dies wird jedoch aufgrund meiner Aufgabenstellung schnell unübersichtlich, da ich ca 100 Parameter haben werde.
------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 19. Jan. 2015 15:48 <-- editieren / zitieren --> Unities abgeben: Nur für bensemer
|
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 19. Jan. 2015 16:02 <-- editieren / zitieren --> Unities abgeben:
Alle Parameter mit Unterstrich davor sind Ansys intern. Die erzeugte Datei abce.dat habe ich mir auch näher angeschaut, da meine Vermutung war, dass etwas darin steht, was mir etwas "zerstört". Aus diesem Grund habe ich die Datei soweit verändert, dass lediglich darin stand: *set,abce,55 Aber dies hat leider keine Besserung gebracht. Auch die Variation der Dateiendung von .dat zu .txt oder komplett ohne Dateiendung hat keinen Unterschied gemacht. Jedoch hat es bei allen Varianten geklappt den Parameter abce wieder einzulesen. Leider kann ich keine .dat Dateien uploaden. Daher habe ich es als .txt gespeichert und so hochgeladen. Grüße ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Projektmanagement (M/W/D) Betonsteinindustrie | Die OMAG ist ein international ausgerichtetes, mittelständisches Maschinenbauunternehmen aus Emden. Mit hoher Fertigungstiefe und Fachkompetenz ist sie ein globaler Technologieführer in der Betonsteinindustrie. Neben dem Kerngeschäft, der Konstruktion und Fertigung von Anlagen zur Herstellung von Betonsteinen gehören auch automatisierte Parkhäuser und Stanzen zum Produktportfolio.
| Anzeige ansehen | Projektmanagement |
|
bensemer Mitglied
Beiträge: 11 Registriert: 13.01.2015
|
erstellt am: 20. Jan. 2015 13:54 <-- editieren / zitieren --> Unities abgeben:
Habe das Problem selbst lösen können: statt: parres,new,'abce',dat muss der Befehl in parres,change,'abce',dat umgeformt werden. Damit werden die zuvor von Ansys gesetzten Parameter mit übernommen und nicht neu überschrieben. Vielen Dank ChristophN für deine Hilfe! ------------------ Ansys Workbench 15 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|