Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  HFLUX Randbedingung

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
  
Beheben von EMV-Problemen auf PCB-Level mit Ansys SIWave, ein Fachartikel
Autor Thema:  HFLUX Randbedingung (1558 mal gelesen)
Schnepf
Mitglied


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

Beiträge: 9
Registriert: 30.11.2006

erstellt am: 30. Nov. 2006 10: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

Hallo lieber ANSYS-Mitglieder!
Ich bin neu in ANSYS und komme bei einem Problem nicht weiter, daß ich für eine Projektarbeit bearbeite. Ich wäre sehr dankbar, wenn mir jemand weiterhelfen könnte.

Ich löse die Wärmegleichung in FLOTRAN und habe an einer Stelle eine Randbedingung, bei der ich in jedem Zeitschritt die aktuelle Temperatur benötige:

-K dT/dx = T*Fm / (T+Km)

Die betreffende Randbedingung befindet sich bei mir z.B. an Node Nr. 50. Ich habe folgenden code versucht in der Hoffnung, daß FLOTRAN automatisch bei jedem Zeitschritt die aktuelle Temperatur verwendet, was aber nicht geklappt hat:

LSEL,S,,,4    
NSLL,S,1    
SF,ALL,HFLUX,-TEMP(50)*Fm/(TEMP(50)+Km) 

Welche Möglichkeiten habe ich, die Randbedingung bei jedem Zeitschritt neu zu definieren, basierend auf der aktuellen Lösung?   

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

Robert_K
Mitglied


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

Beiträge: 8
Registriert: 02.07.2006

WinXP SP2, 2 GHz, 2GB, Ansys 10,

erstellt am: 01. Dez. 2006 09: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 Nur für Schnepf 10 Unities + Antwort hilfreich

Hallo,

es wäre schön, wenn "TEMP(50)" die Knotennummer liefern würde. Ich denke, das geht nur mit dem APDL-Befehl "*get" (siehe: APDL Programmers Guide / APDL Commands Reference / *GET).

So müsste es gehen:
...
/post1      ! Hier wird Postprocessor wird benötigt
*get,temp_knoten,node,50,temp    ! Knotennummer auslesen
/solu      ! Zurück zur Solution
LSEL,S,,,4   
NSLL,S,1   
SF,ALL,HFLUX,-temp_knoten*Fm/(temp_knoten+Km)
...

------------------
Mit freudlichen Grüssen

Robert Krause
TU-Berlin

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

Schnepf
Mitglied


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

Beiträge: 9
Registriert: 30.11.2006

erstellt am: 01. Dez. 2006 11:52    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!
TEMP(50) ist eine Alternative zum *GET-Befehl, das Ergebnis ist dasselbe. Ich denke, daß mein Problem daran liegt, daß der Wert TEMP(50) für die Randbedingung nur am Anfang eingelesen wird und nicht mit jedem Zeitschritt "upgedated" wird. Oder liege ich da falsch?
Danke,
Andrea Schnepf

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

Robert_K
Mitglied


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

Beiträge: 8
Registriert: 02.07.2006

WinXP SP2, 2 GHz, 2GB, Ansys 10,

erstellt am: 01. Dez. 2006 13:23    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 Schnepf 10 Unities + Antwort hilfreich

"TEMP(50)" kannte ich noch nicht. Schön! Wie definierst du deine Zeitschritte? Werden sie in einer Schleife jeweils neu berechnet und gesetzt. Dann könnte das so aussehen:

-- Beginn der Schleife (über die gesamte Zeit)
...
-Zeitpunkt festlegen
-Temperatur auslesen
-neue Randbedingung setzen
-Lösen (es entsteht eine neue Temperatur)
...
-- Schleife Ende

So ist die Temperatur bei jedem Durchlauf "up-to-date".

------------------
Mit freudlichen Grüssen

Robert Krause
TU-Berlin

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

Schnepf
Mitglied


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

Beiträge: 9
Registriert: 30.11.2006

erstellt am: 02. Dez. 2006 20:42    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


HeatFlux.txt

 
Hallo Robert Krause,
Vielen Dank für Ihre Antwort!
Mein Code sieht ungefähr so aus, wie Sie es vorgeschlagen haben (siehe unten und txt-file). Ich bekomme auch ein Ergebnis, dass aber nicht mit der analytischen Lösung übereinstimmt, die ich für diese einfache Geometrie habe. Wenn die Temperatur doch bei jedem Zeitschritt upgedated wird, muß ich das Problem woanders suchen.

*do,j,2,endtime,1
FLDATA4,TIME,TEND,j*3600  !end time after jth time step
AUTOTS,0
FLDATA4A,TIME,STEP,3600
KBC,0   
TSRES,ERASE
!*
LSEL,S,,,4 !select line 4
NSLL,S,1   !select nodes associated with selected line
  *get,nanz,node,,count !Konten Anzahl feststellen
  *get,nmin,node,,num,min !niedrigste Knotennummer
  narb=nmin !Knoten in Arbeit
  *do,i,1,nanz
      NSEL,S,NODE,,narb
      *GET, surfaceTemp, NODE, narb, TEMP !get temperature  at
                                          !selected node 
      SFDELE,ALL,HFLUX            !delete heat flux of previous step
      SF,ALL,HFLUX,-surfaceTemp*Fm/(surfaceTemp+Km)  !new heat flux
      ALLSEL
      LSEL,S,,,4
      NSLL,S,1  
      narb=ndnext(narb) !nächster Knoten
  *enddo
!*     
ALLSEL
solve 
!*
*enddo

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

Robert_K
Mitglied


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

Beiträge: 8
Registriert: 02.07.2006

WinXP SP2, 2 GHz, 2GB, Ansys 10,

erstellt am: 04. Dez. 2006 16:25    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 Schnepf 10 Unities + Antwort hilfreich

Hallo,

die beiden Schleifen gefallen mir. So sollte es gehen. Zur Kontrolle, welche Randbedingungen Ansys wirklich setzt, verwende doch mal den Befehl "lswrite, j" vor deinem "solve". Dann hast du für jeden Durchlauf deiner j-Schleife ein nummeriertes Loadstep-File auf der Festplatte.

Und noch was Wichtiges: Bei "hflux" handelt es sich nicht um Wärmestrom sondern um eine Wärmestromdichte. Hast du das wirklich berücksichtigt?

------------------
Mit freudlichen Grüssen

Robert Krause
TU-Berlin

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

Schnepf
Mitglied


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

Beiträge: 9
Registriert: 30.11.2006

erstellt am: 05. Dez. 2006 17: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

Herzlichen Dank, der Hinweis mit lswrite hat mir sehr weitergeholfen. Denn ich habe bemerkt, daß der Wert für TEMP wirklich nicht upgedated worden ist. Nach einigem Herumprobieren habe ich nun glaube ich den Grund dafür gefunden. Ich habe vor dem *Get command noch folgende zwei Zeilen aus dem Postprozessor hinzugefügt, damit auch die aktuelle Lösung gelesen wird:

        /Post1
        Set,Last
      *GET, surfaceTemp, NODE, 50, TEMP
        /Solu

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)2024 CAD.de | Impressum | Datenschutz