| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys | | | | Materialdaten wie gewünscht: Möchten Sie mehr Elastizitätsmodul? | Tech Artikel, ein Fachartikel
|
Autor
|
Thema: WB11: Formeln in ADPL (2000 mal gelesen)
|
Sunsetmajor Mitglied
Beiträge: 184 Registriert: 13.02.2008 CATIA V5R18 ANSYS WB 11 Intel Core 2 CPU 2,66Ghz
|
erstellt am: 11. Nov. 2010 12:47 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich habe eine lineare Interpolation geschrieben, von der ich ausgehe, dass sie schneller ist als die Ansys-Interpolation, da diese hier speziell für eine 2D Tabelle geschrieben ist. Allerdings bekomme ich einen Fehler in der Zeile: Code: jtoben=pre_rad(iy-1,jt-1)+(pre_rad(iy-1,jt)-pre_rad(iy-1,jt-1))/(pre_rad(0,jt)-pre_rad(0,jt-1))*(time-pre_rad(0,jt-1)
Und zwar den hier:
Code:
*** ERROR *** CP = 0.203 TIME= 12:39:52 Unbalanced parentheses. *** ERROR *** CP = 0.203 TIME= 12:39:52 The above error occurred processing field= (PRE_RAD(IY-1,JT-1)+(PRE_RAD(IY-1,JT)-PRE_RAD(IY-1,JT-1))/(PRE_RAD(0,JT )-PRE_RAD(0,JT-1))*(TIME-PRE_RAD(0,JT-1)) Line= *set,jtoben,(pre_rad(iy-1,jt-1)+(pre_rad(iy-1,jt)-pre_rad(iy-1,jt-1))/( (pre_rad(0,jt)-pre_rad(0,jt-1))*(time-pre_rad(0,jt-1)).
Also irgendwas ist wohl mit der Formel nicht richtig! Für Tipps bin ich dankbar!Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rudolstadt Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 56 Registriert: 15.04.2010 Ansys 12.0 Studentenversion
|
erstellt am: 11. Nov. 2010 12:58 <-- editieren / zitieren --> Unities abgeben: Nur für Sunsetmajor
|
Sunsetmajor Mitglied
Beiträge: 184 Registriert: 13.02.2008 CATIA V5R18 ANSYS WB 11 Intel Core 2 CPU 2,66Ghz
|
erstellt am: 11. Nov. 2010 13:18 <-- editieren / zitieren --> Unities abgeben:
Super :-) Und ich schau und schau...aber das war's! Und was ist hiermit: Code: *** ERROR *** CP = 0.203 TIME= 13:15:13 Attempt to divide by zero in parameter expression. *** ERROR *** CP = 0.203 TIME= 13:15:13 The above error occurred processing field= JTOBEN+(JTUNTEN-JTOBEN)/(PRE_RAD(IY,0)-PRE_RAD(IY-1,0))*(NX_-PRE_RAD(IY -1,0)) Line= *SET,iyjt,(jtoben+(jtunten-jtoben)/(pre_rad(iy,0)-pre_rad(iy-1,0))*(nx_ _-pre_rad(iy-1,0))).
In Zeile:
Code: iyjt=jtoben+(jtunten-jtoben)/(pre_rad(iy,0)-pre_rad(iy-1,0))*(nx_-pre_rad(iy-1,0))
Ich weiß nicht von der eine Nulldivision sehen kann...Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rudolstadt Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 56 Registriert: 15.04.2010 Ansys 12.0 Studentenversion
|
erstellt am: 11. Nov. 2010 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Sunsetmajor
Kann Dir ja offenbar nur passieren, wenn: Code: pre_rad(iy,0)=pre_rad(iy-1,0)
Vielleicht hilft es, vorher auf Nulldivision zu überprüfen: Code:
*if,pre_rad(iy,0),ne,pre_rad(iy-1,0),then iyjt=jtoben+(jtunten-jtoben)/(pre_rad(iy,0)-pre_rad(iy-1,0))*(nx_-pre_rad(iy-1,0)) *endif
Grüße aus Stuttgart, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sunsetmajor Mitglied
Beiträge: 184 Registriert: 13.02.2008 CATIA V5R18 ANSYS WB 11 Intel Core 2 CPU 2,66Ghz
|
erstellt am: 11. Nov. 2010 13:42 <-- editieren / zitieren --> Unities abgeben:
Ok, der Fehler beginnt etwas weiter oben... Code: *** WARNING *** CP = 0.203 TIME= 13:37:48 Unknown parameter name= TIME. A value of 7.888609052E-31 will be used.
Ich habe geschrieben:
Code: vartime=time
Bin davon ausgegangen, dass time eine globale Variable ist...Offenbar ist dem nicht so...wie kann ich einer Variable den aktuellen Wert der Zeit zuweisen? Liebe Grüße! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rudolstadt Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 56 Registriert: 15.04.2010 Ansys 12.0 Studentenversion
|
erstellt am: 11. Nov. 2010 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Sunsetmajor
Du kannst über: Code:
*get,vartime,active,0,time,wall
die aktuelle Zeit ermitteln. Falls Du Minuten und Sekunden benötigst, mußt Du anschließend noch umrechnen. Viel Spaß, ich hab jetzt Feierabend :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sunsetmajor Mitglied
Beiträge: 184 Registriert: 13.02.2008 CATIA V5R18 ANSYS WB 11 Intel Core 2 CPU 2,66Ghz
|
erstellt am: 12. Nov. 2010 10:18 <-- editieren / zitieren --> Unities abgeben:
Hallo! Die Idee mit der Fallunterscheidung hatte ich auch schon...denke, dass ich diesen Mechanismus ohnehin einbauen muss, wenn Ansys sonst abbricht. Mit der Zeit habe ich mich wohl etwas unklar ausgedrückt...ich will nicht die aktuelle Systemzeit, sondern die Zeit innerhalb der Simulation. Also wenn mein erster Lastschritt 10s dauert, dann sollte time zum Ende des Lastschritts auch 10s. Diese Art von Zeit suche ich...kann man die auch herzaubern? Liebe Grüße und Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 12. Nov. 2010 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für Sunsetmajor
Code: *GET, deltat, active, 0, solu, dtime
gibt den aktuellen Zeitschritt zurück. Die Gesamtzeit bekommt man einfach durch Addition aller Zeitschritte. Du musst dir noch etwas überlegen, wenn Zeitschrittverkürzungen auftreten können, das ist aber nicht schwer.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sunsetmajor Mitglied
Beiträge: 184 Registriert: 13.02.2008 CATIA V5R18 ANSYS WB 11 Intel Core 2 CPU 2,66Ghz
|
erstellt am: 12. Nov. 2010 11:17 <-- editieren / zitieren --> Unities abgeben:
Hallo! Das klingt super! Eine Addition der Zeitschritte bekomme ich auch noch hin :-) Was ist eine Zeitschrittverkürzung? Ist es nicht so, dass ein Schritt von 0,1s auch 0,1s dauert? Wenn Verkürzungen auftreten, wie stelle ich das fest? Liebe Grüße und herzlichen Dank schonmal! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ChristophN Mitglied Berechnungsingenieur
Beiträge: 773 Registriert: 13.12.2008
|
erstellt am: 12. Nov. 2010 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für Sunsetmajor
Zeitschrittverkürzungen treten bei aktivierter automatischer Zeitschrittweitensteuerung (autots, on) und Konvergenzproblemen auf. Wenn du deine Zeitschritte von Hand festlegst und keine automat. Schrittweite verwendest, hast du da nichts zu befürchten. Ansonsten sagt er dir das an, mit irgendeiner Meldung, in der das Wort "bisection" vorkommt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|