搜索
您的当前位置:首页正文

fluent scheme语言手册

来源:哗拓教育
Scheme-Programmierung in FLUENT 5 & 6

Mirko Javurek

Institut für Strömungsprozesse und Wärmeübertragung, Johannes Kepler Universität Linz, Österreich

http://fluid.jku.at

Begonnen im September 2000, ergänzt: 2003, 2004, 2007-11

Inhalt

Vorwort...................................................................................................................................................................2 Einleitung................................................................................................................................................................2 Schnittstellen Fluent-Scheme..................................................................................................................................2 RP-Variablen.......................................................................................................................................................3 CX-Variablen......................................................................................................................................................3 Package Variablen...............................................................................................................................................3 Schnittstelle Fluent-Scheme-UDFs.........................................................................................................................3 Datenaustausch....................................................................................................................................................3 Aufruf von Funktionen........................................................................................................................................4 Arithmetische Funktionen.......................................................................................................................................4 Globale Scheme-Variablen.....................................................................................................................................4 Lokale Scheme-Variablen.......................................................................................................................................5 Listen......................................................................................................................................................................5 if-Befehl..................................................................................................................................................................5 do-Schleife..............................................................................................................................................................6 format-Befehl..........................................................................................................................................................7 for-each Schleife.....................................................................................................................................................7 Aliases im TUI........................................................................................................................................................8 Beispiel: Animation erstellen..................................................................................................................................8 Beispiel: Reportdaten aus Datenfiles......................................................................................................................9 Beispiel: Werte aus Data- oder Case-files holen...................................................................................................10 Beispiel: Fluent Zonennamen für UDF exportieren..............................................................................................10 Iterationssteuerung................................................................................................................................................12 Besonderheiten des Fluent-Schemes.....................................................................................................................13 eval-Befehl und environment............................................................................................................................13 Listen-Befehle...................................................................................................................................................13 format-Befehl....................................................................................................................................................13 System-Befehle.................................................................................................................................................13 Fluent-Variablen und Funktionen.....................................................................................................................13 Scheme-Literatur...................................................................................................................................................14 Fluent-Scheme Standardfunktionen......................................................................................................................15 Fluent-Scheme Environment.................................................................................................................................16

This script is written in German.

An English translation \"Scheme Programming in Fluent\" is not yet available.

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 1

Vorwort

Scheme bietet sehr viele Möglichkeiten, Prozesse in Fluent automatisiert ablaufen zu lassen. Leider gibt es bis heute von Fluent so gut wie keine Dokumentationen zu diesem Thema. Dybviks Scheme-Buch (siehe Abschnitt Literatur) hat mir sehr geholfen, Scheme verstehen zu lernen. Zur Anwendung in Fluent bedarf es aber einiger über das Standard-Scheme hinausgehende Kenntnisse. Um meine Erfahrungen mit Fluent-Scheme auch anderen zukommen zu lassen, habe ich im September 2000 begonnen, dieses Skriptum zu schreiben. Das Skript ist etwas rudimentär, aber immer noch besser als nichts. In der Zwischenzeit sind ein paar Erweiterungen und

Aktualisierungen dazugekommen; der Großteil des Dokuments entstand jedoch mit den Erfahrungen aus Fluent 5. Deswegen ist es möglich, dass sich einige Textinterface-Befehle und –Ergebnisse inzwischen geändert haben. Jason DeGraw von der Pennsylvania State University ist dabei, das Skript auf Englisch zu übersetzen und es auf CDF-Online (http://www.cfd-online.com/) zu stellen. Durch seine Übersetzungstätigkeit hat er mich auf einige Fehler und überholte Passagen aufmerksam gemacht.

Es freut mich, immer wieder positive Rückmeldungen zu diesem Skript zu bekommen, und dass sogar FLUENT Deutschland das Skriptum seinen Kunden empfiehlt. FLUENT selbst wird nach Auskünften von FLUENT Deutschland keine offizielle Scheme-Dokumentation mehr herausbringen, da Scheme in Zukunft durch die Skriptsprache Python ersetzt werden soll.

Mirko Javurek, Linz im November 2007

Einleitung

Scheme ist LISP-Dialekt; Einheitliches Befehlsformat:

(befehlsname argument1 argument2 ...)

Jeder Befehlsaufruf ist ein Funktionsaufruf und liefert daher ein Ergebnis.

Befehls- und Variablennamen sind nicht case-sensitive (sollten nur Kleinbuchstaben enthalten), müssen mit einem Buchstaben beginnen, und dürfen sonst neben a-z und 0-9 auch die Sonderzeichen +-*/<>=?.:%$!~^_ enthalten.

Kommentare werden mit ; eingeleitet und enden am Zeilenende.

Schnittstellen Fluent-Scheme

Aufruf von Scheme-Befehlen in Fluent:

• Befehl im Fluent-Textinterface eingeben (auch mit der Maus kopieren der Fluent-Befehle aus anderen

Fenstern - z.B. Editor - über X-Selection in Unix möglich), oder

• Scheme-Programm mit Texteditor schreiben, speichern (.scm-Endung) und in Fluent-Menü mit

\"File/Read/Scheme\" einlesen;

• Wenn sich im home-Verzeichnis eine Scheme-Datei namens .fluent befindet, wird sie beim Starten von

Fluent automatisch ausgeführt.

• Im Menü \"Solve/Monitor/Commands/Command\" können Textinterface- und Scheme-Befehle eingegeben

werden, die dann zu bestimmten Iterationen oder Zeitschritten ausgeführt werden; Aufruf von Fluent-Befehlen in Scheme: • Textinterface-Befehl:

(ti-menu-load-string \"display/contour temperature 30 100\")

(with-output-to-file \"transcript.txt\" (lambda ()

(ti-menu-load-string \"…\"))) •

Rückgabewert: #t wenn erfolgreich, #f wenn Fehler oder Abbruch durch Ctrl-C; Ctrl-C hält Fluent-Befehl, nicht aber Scheme-Programm an! Mit (with-output-to-file) kann die Ausgabe einer Scheme-Funktion statt ins Textinterface in eine Textdatei umgeleitet werden; beispielsweise für einen TUI-Befehl:

Dabei erfolgt keine Ausgabe am Bildschirm.

GUI-Befehl: Journal mit den gewünschten GUI-Aktionen aufzeichnen, Journal enthält direkt Scheme-Befehle, z.B.:

(cx-gui-do cx-activate-item \"Velocity Vectors*PanelButtons*PushButton1(OK)\")

Textinterface-Befehle sind schneller, kompakter und vielseitiger verwendbar. GUI-Kommandos sind langsam, unübersichtlich und müssen oft erst angepasst werden (Referenz auf Listeneintrag von Nummer auf Name des Eintrags ändern). Textinterface-Kommandos sind demnach GUI-Kommandos vorzuziehen; GUI-Kommandos sollten nur dann verwendet werden, wenn für die gesuchte Aktion kein Textinterface-Kommando verfügbar ist (z.B: Display/Scene...).

Textinterface Kommandos sind in der FLUENT Dokumentation nur oberflächlich dokumentiert, ihre Parameter hängen oft von den gewählten Modellen oder sogar von anderen Parametern ab. Vorgehensweise: Gewünschtes Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11

2

Textkommando suchen, ausprobieren und alle gemachten Eingaben zusammenfassen (siehe Beispiel 1).

Ausgabe von Scheme ins Fluent-Textinterface:

(display object) (newline)

Dateizugriff (lesen/schreiben) in Scheme: siehe Beispiele.

RP-Variablen

Variable auslesen, z.B. aktuelle Simulationszeit:

> (rpgetvar 'flow-time) 0.1

Variable setzen:

> (rpsetvar 'flow-time 0)

Alle RP-Variablen sind im Case-File definiert (Section \"Variables\").

CX-Variablen

Variable auslesen, z.B.: Farbverlauftabellen:

> (cxgetvar 'cmap-list) 0.1

Variable setzen:

> (cxsetvar 'def-cmap \"rgb\")

Alle CX-Variablen sind (nur teilweise?) im Case-File definiert (Section \"Cortex Variables\").

Package Variablen

Insbesondere der aktuelle Case-Dateiname ist im cl-file-package gespeichert. Auszulesen mit:

> (in-package cl-file-package rc-filename) > (in-package cl-file-package wc-filename)

(zuletzt gelesenes Casefile ohne Endung .cas oder .cas.gz), oder

(als letztes geschriebenes bzw. als nächstes zu schreibenes Casefile ohne Endung .cas oder .cas.gz, wenn das Datafile unter einem anderen Namen gespeichert oder ein anderes geladen wurde, also i.A. der Name des Datafiles ohne Endung).

Der Dateiname ist mit dem vollen Pfad gespeichert. Mit

> (strip-directory (in-package cl-file-package rc-filename)) > (directory (in-package cl-file-package rc-filename))

kann dar Pfad entfernt werden, mit

nur der Pfad herausgezogen werden.

Schnittstelle Fluent-Scheme-UDFs

Datenaustausch

Es können eigene RP-Variablen definiert werden, die in Fluent über das Textinterface und in UDFs über spezielle Funktionen angesprochen werden können. Definition einer eigenen RP-Variable:

(rp-var-define name default-and-init-value type #f) types: 'int 'real 'boolean 'string ...? > (rp-var-define 'udf/var1 0 'real #f)

zum Beispiel:

Info über Variable:

> (rp-var-object 'udf/var1) (udf/var1 0 real #f 0)

> (rp-var-object 'udf/var2) #f

Ändern und Abfragen wie oben mit rpsetvar und rpgetvar.

Wenn eine RP-Variable einmal definiert ist, bleibt sie bis zum Beenden von Fluent erhalten (!), wird in jedem Case-File mit abgespeichert, und beim Hereinladen eines solchen Case-Files - falls nicht definiert - erzeugt und auf den abgespeicherten Wert gesetzt.

In UDFs können die RP-Variablen mit den C-Funktionen (deklariert in Fluent.Inc/fluentX.Y/src/var.h)

real RP_Get_Real(char *s); long RP_Get_Integer(char *s); char *RP_Get_String(char *s); boolean RP_Get_Boolean(char *s);

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 3

void RP_Set_Real(char *s, real v); void RP_Set_Integer(char *s, long v); void RP_Set_Boolean(char *s, boolean v); void RP_Set_String(char *s, char *v); void RP_Set_Symbol(char *s, char *v);

abgefragt bzw. gesetzt werden, z.B.:

var1 = RP_Get_Real(\"udf/var1\"); RP_Set_Real(\"udf/var1\

Bei UDFs im Parallelmodus ist beim Zugriff auf RP-Variablen zu beachten, dass RP-Variablen nur im Host-Prozess abgefragt werden können. Im FLUENT-UDF Handbuch ist beschrieben, wie Werte vom Host an Node-Prozesse übermittelt werden können. Achtung: Nicht alle UDF-Typen werden sowohl von Host- als auch den Node-Prozessen aufgerufen, sodass es z.B. innerhalb einer DEFINE_SOURCE UDF im Parallelmodus nicht direkt möglich ist, auf eine RP-Variable zuzugreifen.

Aufruf von Funktionen

UDFs vom Type EOD können aus Scheme über den Befehl

(%udf-on-demand \"udf-eod-name\")

aufgerufen werden.

Um Scheme-Funktionen aus einer UDF aufzurufen, ist zur Zeit keine Möglichkeit bekannt; die C-Funktion

CX_Interpret_String(\"scheme-command-string\") - deklariert in Fluent.Inc/fluentX.Y/cortex/src/cx.h - interpretiert zwar den \"scheme-command-string\

Arithmetische Funktionen

Grundfunktionen + - * / , entspricht UPN, mehr als 2 Argumente möglich:

> (+ 2 4 5) 11

> (/ 6 3) 2

> (/ 2) ;; entspricht (/ 1 2) 0.5

Weiters (abs x), (sqrt x), (expt x y) [= x y], (exp x) [= ex], (log x) [= ln x], (sin x), (cos x), (atan x), (atan x y) [= arctan(x/y)], …

Integer(!)-Funktionen:

> (remainder 45 6) 3

> (modulo 5 2) 1

(truncate x), (round x), (ceiling x), (floor x), ...

(max x y ...), (min x y ...) > (apply max '(1 5 8 3 4)) 8

weiters

z.B. um aus Liste Maximum suchen: und einige weitere (siehe Scheme-Literatur).

Globale Scheme-Variablen

Definieren mit:

> (define x 3) > (+ x 1) 4

Keine Festlegung des Variablentyps (Integer, Real, String, ...) notwendig – jede Variable kann Wert von jedem Typ annehmen.

Wert ändern mit erneuter Definition (nicht innerhalb von Funktionen möglich, dort gilt ein lokaler Variablenbereich, sodass die Variable mit define lokal neu definiert wird) oder besser

(set! x 1)

Wert darstellen mit

(display x) (write x)

oder

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 4

Write sollte nur verwendet werden, wenn Fluent-Variablen in eine Datei abgespeichert und später wieder eingelesen werden sollen; Write stellt z.B. Strings mit Anführungszeichen dar.

Konstanten: Integer (2), Float (2.5), Boolean (#t für true, #f false) Strings (\"this is a text string\") und Symbole: 'symbol, z.B.:

(define x 'this-is-a-symbol)

Spezielle Zeichen für String-Definitionen:

\\\" \" \\n neue Zeile

Globale Variablen und selbst definierte Scheme-Funktionen bleiben bis zum Beenden von Fluent erhalten.

Lokale Scheme-Variablen

(let ((var1 value1) (var2 value2) ...) ... Kommandos im Gültigkeitsbereich... )

Listen

Definition z.B.:

> (define my-surfaces '(wall-top wall-bottom symmetry))

Länge beliebig, dynamische Verwaltung, Schachtelung möglich. Listen Definieren mit ‘(elements ...) :

> (define l '(a b c)) > (car l) a > (cdr l) (b c)

Erstes Element einer Liste

\"Rest\" einer Liste (Liste ohne erstes Element)

Anzahl der Listenelemente

> (length l) 3

i-tes Element einer Liste Element in Liste suchen:

(list-ref liste i)

> (member 'd '(a b c d e f g)) (d e f g)

> (map (lambda (x) (* x x)) '(1 2 3)) (1 4 9)

> (apply + '(2 4 5)) 11

> (apply max '(1 5 8 3 4)) 8

Funktion auf Liste(n) anwenden:

if-Befehl

if-Befehl ist eine Funktion:

(if cond true-value false-value)

cond ist ein boolscher Ausdruck, der entweder #t (true) oder #f (false) ist. Vergleichsoperationen: Gleichheit:

(= a b) ;; Zahlen (eq? a b) ;; Objekte

(eqv? a b) ;; Objekte gleichen Wert (positive? x) (negative? x) (< a b) (> a b) (<= a b) (>= a b)

(not a)

(and a b c ...) (or a b c ...)

Relationen:

Boolsche Funktionen:

Erweiterung des \"if\"- und \"else\"-Zweiges für mehrere Kommandos mit Block-Befehl \"begin\" (\"sequencing\allgemein anwendbar):

(if cond

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 5

(begin ;; if ...

true-value )

(begin ;; else ...

false-value ) )

Wenn der Ergebniswert des if-Befehls nicht benötigt wird, können \"else\"-Zweig und die Ergebniswerte weggelassen werden.

Komplexere Befehle für bedingte Ablaufsteuerung (z.B. für stückweise definierte Funktionen):

(cond (test1 value1) (test2 value2) ... (else value))

und für diskrete Werte einer Variable

(case x ((x11 x12 x13 ...) value1) ((x21 x22 x23 ...) value2) ... (else value))

Wird x in einer der Listen gefunden (z.B. in (x11 x12 x13 ...)), so wird der entsprechende Wert zurückgegeben (value1).

do-Schleife

Einfachste Form (Variable, Startwert, Wert der der Schleifenvariable nach jedem Schleifendurchgang zugewiesen werden soll, Abbruchbedingung):

(do ((x x-start (+ x delta-x))) ((> x x-end)) ...loop-body... )

Mehrere oder auch keine Schleifenvariablen möglich.

Beispiel 1: Iso-Surfaces erzeugen: mehrere Iso-Surfaces sollen in gleichmäßigen Abständen von Iso-Values generiert und automatisch benannt werden. Zuerst muss der Dialog im TUI für das Erzeugen einer Iso-Surface zusammengestellt werden:

>

adapt/ grid/ surface/ display/ plot/ view/ define/ report/ exit file/ solve/

> surface

/surface>

delete-surface mouse-line point-array surface-cells mouse-plane rake-surface iso-surface mouse-rake rename-surface iso-clip partition-surface sphere-slice list-surfaces plane-slice zone-surface

/surface> iso-surface

iso-surface of>

pressure entropy x-surface-area pressure-coefficient total-energy y-surface-area dynamic-pressure internal-energy z-surface-area ...

rel-total-temperature x-coordinate dp-dx wall-temp-out-surf y-coordinate dp-dy wall-temp-in-surf z-coordinate dp-dz

iso-surface of> x-coordinate

new surface id/name [x-coordinate-31] testname range [-10.0131, 4.8575001] from surface [()] () ()

iso-value(1) (m) [()] 1.234 iso-value(2) (m) [()] ()

Einzeiliger TUI-Befehl lautet also (alle Eingaben in eine Zeile zusammengefasst, \"nur Return\" durch , (Beistrich) ersetzen):

surface/iso-surface x-coordinate testname () 1.234 ()

Daraus \"parametrisierte\" Scheme-Schleife:

(do ((x 0 (+ x 0.2)) ) ((> x 3.1)) (ti-menu-load-string

(format #f \"surface/iso-surface x-coordinate x-~3.1f () ~a ()\" x x)) )

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 6

Erzeugt folgende Textinterface-Befehle:

surface/iso-surface x-coordinate x-0.0 () 0 () surface/iso-surface x-coordinate x-0.2 () 0.2 () surface/iso-surface x-coordinate x-0.4 () 0.4 () ...

surface/iso-surface x-coordinate x-3.0 () 3 ()

Verfeinerung: bessere Namen für positive und negative Koordinaten:

(do ((z -1 (+ z 0.25))) ((> z 1)) (ti-menu-load-string

(format #f \"surface/iso-surface z-coordinate z~a~05.3f () ~a ()\" (if (>= z 0) \"+\" \"\") z z)) )

surface/iso-surface z-coordinate z-1.000 () -1 () surface/iso-surface z-coordinate z-0.750 () -0.75 () surface/iso-surface z-coordinate z-0.500 () -0.5 () surface/iso-surface z-coordinate z-0.250 () -0.25 () surface/iso-surface z-coordinate z+0.000 () 0 () surface/iso-surface z-coordinate z+0.250 () 0.25 () surface/iso-surface z-coordinate z+0.500 () 0.5 () surface/iso-surface z-coordinate z+0.750 () 0.75 () surface/iso-surface z-coordinate z+1.000 () 1 ()

(do ((x 0 (+ x 0.2)) (i 1 (+ i 1))) ((> x 3.1)) (ti-menu-load-string

(format #f \"surface/iso-surface x-coordinate x-~02d () ~a ()\" i x)) )

surface/iso-surface x-coordinate x-01 () 0 () surface/iso-surface x-coordinate x-02 () 0.2 () surface/iso-surface x-coordinate x-03 () 0.4 () ...

surface/iso-surface x-coordinate x-16 () 3 ()

Abänderung: 2 Schleifenvariablen:

format-Befehl

(format #f \"Formatstring wie in C bei printf mit patterns für var1, var2, ...\" var1 var2 ... )

Statt dem %-Zeichen in C leitet hier die Tilde (~) ein Pattern ein; Patternbeispiele: ~a beliebige Variable in allgemeinem Format (Strings ohne \"\") ~d Integer-Zahl

~04d Integer mit Nullen vorne immer auf 4 Stellen anfüllen (5 wird zu 0005), z.B. für Dateinamen wichtig. ~f Fließkommazahl

~4.2f Fließkommazahl, 4 Zeichen insgesamt lang, 2 Stellen nach dem Komma: 1.2 wird zu 1.20 ~s String unter \"\" einbauen: aus (format #f \"string: ~s !\" \"text\") wird string: \"text\" ! ... und andere???

Spezialzeichen:

\\n Zeilenvorschub \\\" \"

Der format-Befehl und seine Patterns gehören nicht zum Scheme-Standard, sind also von der in Fluent verwendeten Scheme-Implementierung abhängig; diese ist leider nicht dokumentiert....

for-each Schleife

Führt eine selbst zu definierende Funktion für jedes Element einer oder mehrerer Listen aus:

(for-each function list1 list2 ...)

Die Anzahl der Funktionsargumente von \"function\" muss der Anzahl Listen entsprechen.

Verwendbar z.B. für: Fluent-Zonennamen oder –Ids, Dateinamen (wenn sie keine Großbuchstaben enthalten). Beispiel 2: Temperatur und Wandgeschwindigkeit bei den BCs für mehrere Wandzonen setzen (geht mittlerweile in FLUENT effizienter mit Copy BC):

(define velocity 0.1) (for-each

(lambda (zone)

(ti-menu-load-string

(format #f \"def/bc/wall ~a 0 0 yes giesspulver yes temperature no 1800 yes no no ~a 0 -1 0 no 0 0.5\" zone velocity)

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 7

)

(newline) (display \" \") ) '(

kok_li kok_re

kok_innen kok_aussen bieg_li bieg_re

bieg_aussen bieg_innen

kreis_li kreis_re kreis_aussen kreis_innen ) )

Lambda-Befehl zum Definieren von \"lokalen\" Funktionen: (lambda (arg1 arg2 ...) ... Funktionswert)

Aliases im TUI

Im TUI könne Abkürzungen kreiert werden:

(alias 'name scheme-function)

Zum Beispiel:

> time 0.1

(alias 'time (lambda () (display (rpgetvar 'flow-time))))

Aufruf im Textinterface:

Argumente können nicht direkt der Scheme-Funktion übergeben werden (immer null Argumente, also lambda ()), sondern müssen durch folgende Funktionen vom Textinterface eingelesen werden:

(read-real prompt default) (read-integer prompt default)

(ti-read-unquoted-string prompt default) (yes-or-no? prompt default)

prompt ist ein String, und default der Default-Wert, der zurückgegeben wird, wenn der User nur Return drückt. Aliases stehen immer automatisch zur Verfügung, wenn ihre Definitionen ins .fluent-file geschrieben werden (siehe Schnittstellen Fluent-Scheme).

Beispiel: Animation erstellen

Aus den Datenfiles einer instationären Rechnung werden die Einzelbilder für eine Animation erstellt. Die Namen der Datenfiles sind durchnumeriert, mit Anfangs-, Endwert und bestimmter Schrittweite. Fehler, die während der Ausführung eines Fluent-Befehls auftreten, oder ein Abbruch durch Ctrl-C soll auch das Scheme-Programm beenden.

(define datfilename \"test-\") ;; -> test-0010.dat, test-020.dat, ... (define first-index 10) (define last-index 110) (define delta 10)

(define imagefilename \"image-\") ;; -> image-01.bmp, ...

(define (flow-time) (rpgetvar 'flow-time)) (define t0 0)

;;------------------------------------------------------------------------ ;; funktion, die die einzelbilder fuer den film erstellt

;;------------------------------------------------------------------------ (define (pp) (let (

(break #f) )

(ti-menu-load-string \"display/set/hardcopy/driver/tiff\") ;; TIFF-Format einstellen (ti-menu-load-string \"display/set/hardcopy/color-mode/color\") ;; Default ist \"grey\" (do ((j first-index (+ j delta)) ;; datfile startwert und delta (i 1 (+ i 1))) ;; imagefile startwert und delta ((or (> j last-index) break)) ;; datfile endwert (set! break (not (and (ti-menu-load-string

(format #f \"file/read-data ~a~04d.dat\" datfilename j)) (begin (if (= i 1) (set! t0 (flow-time))) #t) (disp)

(system \"rm temp.tif\") ;; hardcopy funktioniert nicht wenn file schon existiert (ti-menu-load-string \"display/hardcopy temp.tif\") (system

(format #f \"convert temp.tif ~a~02d.bmp &\" imagefilename i)) ;; convert-Befehl von www.imagemagick.com

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 8

))) )

(if break (begin (newline)(newline)(display \"scheme interrupted!\")(newline))) ) )

Beispiel einfache (disp)-Funktion: contour-plot:

(define (disp)

(ti-menu-load-string \"display/contour/temperature 290 1673\") )

(define (disp) (and

(ti-menu-load-string

(format #f \"display set title \\\"Time = ~5.1f s\\\"\" (- (flow-time) t0)) (ti-menu-load-string \"display/set/overlays no\")

(ti-menu-load-string \"display/contour temperature 290 1673\") (ti-menu-load-string \"display/set/overlays yes\")

(ti-menu-load-string \"display/velocity-vectors velocity-magnitude 0.0 1.0 5 0\")

;; colored by min max scale skip ) )

Beispiel (disp)-Funktion: overlay contours/velocity-vectors, eigene Zeit einblenden:

Beispiel (disp)-Funktion: Iso-Surface generieren, hier Phasengrenze aus VOF-Rechnung mit y-Koordinate (=Höhe) eingefärbt:

(define (disp) (and

(ti-menu-load-string \"display/surface/iso-surface vof-steel interface-1 , 0.5 ,\") (ti-menu-load-string \"display/set/contours/surfaces interface-1 ()\") (ti-menu-load-string \"display/contour y-coordinate 2.755 2.780\") (ti-menu-load-string \"display/surface/delete interface-1\") ) )

> (disp) > (pp)

Aufruf der (disp)-Funktion zum Testen: Aufruf der Funktion zum Erzeugen der Bilder:

Beispiel: Reportdaten aus Datenfiles

Bis zur Version Fluent 6.2 konnte das Ergebnis von surface- und volume-reports nur ins Textinterface

ausgegeben werden; das with-output-to-file Kommando musste verwendet werden, um die Ausgabe in eine Datei umzuleiten (siehe Schnittstellen Fluent-Scheme).

Seit Fluent 6.3 besteht die Möglichkeit, beim TUI-Befehl die Ausgabe in ein Textfile umzuleiten. Aus diesem Textfile können dann die gewünschten Zahlenwerte herausgelesen werden. Beispiel für einen Surface-Report-Befehl:

report/surface-integrals/facet-avg (wall) mixture wall-shear yes temp.txt \"Surface Integral Report\"

mixture Average of Facet Values

Wall Shear Stress (pascal) -------------------------------- -------------------- wall 22.97234

Die Datei temp.txt sieht dann so aus:

Der folgende Programmteil liest aus der Datei temp.txt mit (read) so lange Objekte ein (ein Objekt wird durch Leerzeichen abgegrenzt), bis eine Zahl eingelesen wird; dieser Zahlenwert wird dann als Ergebnis übergeben, bzw. #f, wenn keine Zahl gefunden wurde:

(let

((p (open-input-file \"temp.txt\"))) (do

((x (read p) (read p))) (

(or (number? x) (eof-object? x)) (close-input-port p) (if (number? x) x #f) ) ) )

Das Ergebnis ist in diesem Fall 22.97234.

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 9

Beispiel: Werte aus Data- oder Case-files holen

Format von Fluent Files sind geschachtelte Scheme-Listen: z.B. Datenfile:

(0 \"fluent5.3.18\")

(0 \"Machine Config:\")

(4 (23 1 0 1 2 4 4 4 8 4 4))

(0 \"Grid size:\")

(33 (10540 21489 10947))

(0 \"Variables:\") (37 (

(flow-time 3.7) (time-step 0.1)

(periodic/pressure-derivative 0) (number-of-samples 0) (dpm/summary ())))

(0 \"Data:\")

(2300 (1 1 1 0 0 1 430) ...

Können daher sehr einfach als Scheme-Objekte eingelesen werden. Zum Beispiel Zeit aus Datenfiles lesen und Datenfiles mit Timecode hh:mm:ss umbenennen:

(for-each

(lambda (filename) (let* (

(p (open-input-file filename)) (t (do

((x (read p) (read p))) (

(eqv? (car x) 37) ;; Variables section (close-input-port p)

(cadr (assv 'flow-time (cadr x))) ) ) ) )

(rename-file filename (format #f \"best-~a.dat\" (sec->hms t))) ) )

'( ;; Liste der Datenfiles

best-0060.dat best-0120.dat best-0132.dat best-0144.dat best-0156.dat best-0168.dat best-0180.dat best-0192.dat best-0204.dat best-0216.dat best-0228.dat best-0240.dat best-0252.dat best-0264.dat best-0276.dat best-0288.dat best-0300.dat best-0312.dat best-0324.dat best-0336.dat ) )

Der Code geht der Einfachheit halber davon aus, dass das Datenfile eine \"Variables:\" Section hat (keine Abfrage auf EOF). Das sollte bei einem nicht-korrupten Datenfile auch immer gegeben sein. Die Funktion sec->hms wandelt Sekunden in hh:mm:ss-Format um:

(define (sec->hms t) (let* (

(h (truncate (/ t 3600))) (t1 (- t (* h 3600))) (m (truncate (/ t1 60))) (s (truncate (- t1 (* m 60)))) )

(format #f \"~02d:~02d:~02d\" h m s ) ) )

Datenfile-Liste kann in LINUX oder UNIX z.B. mit ls –x *.dat in einer Shell erstellt und in das

Schemeprogramm kopiert werden.

Beispiel: Fluent Zonennamen für UDF exportieren

In UDFs kann über THREAD_ID(t) und THREAD_TYPE(t) zwar ID und Typ einer BC-Zone, nicht jedoch ihr Name angesprochen werden. Die einfachere Variante erzeugt mit der folgenden Scheme-Funktion eine Datenstruktur, die dann in den UDF-Code kopiert werden kann:

(define (export-bc-names) (for-each

(lambda (name) (display

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 10

(format #f \" {~a, \\\"~a\\\ (zone-name->id name) name

(zone-type (get-zone name)) )))

(inquire-zone-names) ) )

In Fluent ausführen:

(export-bc-names)

{26, \"wall-wehr-l-shadow\ {2, \"fluid\

{29, \"wall-damm-l-shadow\ {15, \"wall-damm-l\

{17, \"inlet\ {25, \"default-interior\ ...

#define nc 100

typedef struct zone_info_struct {

int id;

char name[nc]; char type[nc]; }

zone_info;

zone_info zone[]={

/*** ab hier aus Fluent-Textinterface kopiert ***/ {26, \"wall-wehr-l-shadow\ {2, \"fluid\

{29, \"wall-damm-l-shadow\ {15, \"wall-damm-l\

{17, \"inlet\ {25, \"default-interior\ ... };

#define n_zones (sizeof(zone)/sizeof(zone_info))

dieser Text muss in den folgenden UDF-Code kopiert werden:

Nun können die Zonennamen im UDF-Code über zone[i].name angesprochen werden.

Die Alternative ist eine Scheme-Funktion, die die Zonen als String in eine RP-Variable schreibt. Der Vorteil ist, dass diese RP-Variable im Case-File mitgespeichert wird, und so mehrere verschiedene Case-files mit derselben UDF funktionieren, ohne diese neu zu compilieren. Die Scheme Funktion muss also nur einmal beim Aufsetzen des Case-Files aufgerufen werden. Nachteil: funktioniert wegen RP-Variablen nicht so einfach im Parallel-Solver.

(define (bc-names->rpvar) (let ((zone-data \"\")) (for-each

(lambda (name)

(set! zone-data

(format #f \"~a ~a ~a ~a \" zone-data (zone-name->id name) name

(zone-type (get-zone name)) )))

(inquire-zone-names) )

(display zone-data)

(rpsetvar* 'zone-names 'string zone-data) ) )

Dabei wird folgende Funktion verwendet:

(define (rpsetvar* var type value) ;; create cortex variable if undefined (if (not (rp-var-object var))

(rp-var-define var value type #f) (rpsetvar var value) ) )

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 11

UDF-Code:

#define max_n_zones 200

#define max_zonenamechars 200

/* globale Variablen */

char zone_name[max_n_zones][max_zonenamechars]; char zone_type[max_n_zones][max_zonenamechars]; #define THREAD_NAME(t) zone_name[THREAD_ID(t)]

/* lokale Variablen */ char *rps,s[1000]; int i,n;

for(i=0; isscanf(rps,\"%s%n\ i = atoi(s);

sscanf(rps, \"%s%s %n\}

Hier gibt es sogar ein Makro THREAD_NAME(t), mit dem die Zonennamen angesprochen werden können.

Statt (inquire-zone-names) kann auch die Funktion (get-thread-list pattern) verwendet werden (z.B. pattern = \"wall*\").

Iterationssteuerung

Vor allem für instationäre Rechnungen interessant; Cortex-Variablen (können auch gesetzt werden!): Zeit (t):

flow-time time-step

Nummer des aktuellen Zeitschritts (N): Größe des Zeitschritts (∆t):

physical-time-step

Liste der gespeicherten Iterationen (aktuelle Iteration zuerst, dann die vorhergehende etc.)

(residual-history \"iteration\")

daraus die aktuelle Iterationszahl:

(car (residual-history \"iteration\"))

Listen der Residuen (Einträge entsprechend der \"iteration\"-Einträge):

(residual-history \"continuity\") (residual-history \"x-velocity\") (residual-history \"temperature\") ...

TUI-Kommandos zum Iterieren (stationär oder wenn instationär am aktuellen Zeitschritt weitergerechnet werden soll):

solve/iterate number-of-iterations (iterate number-of-iterations)

oder Scheme-Funktion

Instationär:

solve/dual-time-iterate number-of-timesteps max-iterations-per-timestep (rpsetvar 'physical-time-step 0.1)

Schrittweite muss z.B. mit

gesetzt werden.

Mittels dieser Kommandos und Variablen können komplexe Iterationssteuerungen programmiert werden, z.B. • Instationär: Angabe von zu rechnendem Zeitintervall statt Anzahl der Zeitschritte; • automatische Fortsetzung der instationären Rechnung nach Abbruch

• veränderliche Schrittweite nach Tabelle (z.B. 10 s lang dt=0.1 s, dann 20 s lang dt = 0.2 s usw.); • Auto-Save zu bestimmten Zeitpunkten der Rechnung mit Zeitkode im Dateinamen (data-00:10.dat),

konstante Zeitabstände trotz variabler Schrittweite • eigene adaptive Schrittweitensteuerung

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11

12

mitführen eines Sicherungsdatenfiles für langwierige, absturzgefährdete Rechnungen: alle x Iterationen Datenfile abspeichern, und dann das vorher abgespeicherte Datenfile wieder löschen (mittlerweile gibt es dieses Feature bei File/Autosave...).

Besonderheiten des Fluent-Schemes

eval-Befehl und environment

Der Scheme-Befehl eval ermöglicht es, eine scheme liste (expression) als Scheme-Befehl zu interpretieren. Die Syntax ist:

(eval expression environment)

Der zusätzliche Parameter environment stellt eine Datenstruktur dar, die bereits definierte Symbole (Variablen und Funktionen) enthält. Das Standard Scheme-Environment in Fluent (the-environment) beinhaltet sämtliche Symbole, die zusätzlich zu den Scheme-Standard Symbolen definiert sind, also alle vom User über (define ...) und auch von Fluent(!) definierte Variablen und Funktionen. Wenn diese beim Auswerten von expression nicht benötigt werden, kann stattdessen die leere Liste ’() oder #f verwendet werden. Beispiel:

(define x 3)

(define y '(+ x 2)) ;; y ist eine Liste mit Elementen +, x, 2

(eval y (the-environment)) ;; Liste y wird als Scheme-Befehl interpretiert; Ergebnis: 5

Mit den folgenden Funktionen kann überprüft werden, ob ein Symbol definiert ist (bound?) und ob ihm ein Wert zugewiesen ist (assigned?):

(symbol-bound? 'symbol (the-environment)) (symbol-assigned? 'symbol (the-environment))

Listen-Befehle

Nicht Scheme-Standard:

(list-head list n) (list-tail list n)

Standardfunktionen siehe Scheme-Literatur.

format-Befehl

Siehe Abschnitt „format-Befehl“ Seite 7.

System-Befehle

Ausführen von Shell-Kommandos, z.B.:

(system \"rm temp.jou\") (remove \"temp.jou\")

(rename-file \"test.cas\" \"test.cas.bck\") (file-exists? \"test.cas\") (time)

Datei löschen:

Datei umbenennen:

Prüfen, ob Datei exisitiert:

Aktuelle Computeruhrzeit in Sekunden seit 1.1.1970 abfragen:

Fluent-Variablen und Funktionen

Sämtliche Fluent-Variablen und Funktionen sind im environment (the-environment) definiert, wenn auch nicht dokumentiert. Siehe Abschnitt „Fluent-Scheme Environment“.

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 13

Scheme-Literatur

Leider gibt es außer diesem Dokument keine Literatur, die speziell auf Fluent-Scheme eingeht. Da Scheme eine sehr mächtige Sprache ist, mit der anspruchsvolle Anwendungen wie Künstliche Intelligenz realisiert werden können, gehen die meisten Scheme-Bücher viel weiter in die Tiefe, als es für Fluent notwendig ist. Ich verwende das Buch:

– R. Kent Dybvig, The Scheme Programming Language, Second Edition, 1996 Prentice Hall PTR. Online

Version: http://library.readscheme.org/page2.html

Fluent empfielt folgende Scheme-Links im Web:

– http://www.swiss.ai.mit.edu/projects/scheme – http://www.schemers.org/

Einige Scheme-Beispiele zu FLUENT sind mittlerweile im FLUENT User Service Center im „Online Technical Support“ zu finden:

– http://www.fluentusers.com/

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 14

Fluent-Scheme Standardfunktionen

Die folgenden Funktionen gehören zum Fluent-Scheme-Standard und scheinen nicht im Environment auf. Ich habe diese Liste aus der Fluent-Programmdatei extrahiert, musste aber feststellen, dass sie leider unvollständig ist: es gibt Funktionen, die weder in dieser Liste noch im Environment enthalten sind (z.B. list-head, list-tail und list-remove). Inzwischen habe ich ein paar dieser fehlenden Funktionen hinzugefügt (10-2004).

< <= = > >= - / * + abs access acos and append append! apply asin assq assv atan atan2 begin bit-set? boolean?

call/ccinput-port? car cdr

ceiling char? char?

char-alphabetic? char-downcase char->integer char-lower-case? char-numeric? char-ready? char-upcase

char-upper-case? char-whitespace? chdir

clear-bit

close-input-port close-output-port closure?

closure-body cond cons

continuation? copy-list cos

cpu-time debug-off debug-on define display do dump

echo-ports env-lookup eof-object? eq? equal? eqv? error

error-object? err-protect err-protect-mt eval

exit exp

expand-filename expt

fasl-read

file-directory? file-exists?

file-modification-time file-owner float floor

flush-output-port for-each foreign?

foreign-data foreign-id format

format-time gc

gc-status

general-car-cdr getenv

hash-stats if int

integer?

integer->char interrupted? lambda length let let* list

list-head list->string list-tail list->vector local-time log log10

logical-and

logical-left-shift logical-not logical-or

logical-right-shift logical-xor machine-id make-foreign make-string make-vector map max member memq memv min mod

newline not nt? null? number?

number->string oblist open-file

open-input-file open-input-string open-output-file open-output-string or

output-port? pair?

peek-char

port-echoing? port-name procedure?

procedure-name putenv quotient read

read-char real?

remainder remove-file rename-file reverse set! set-bit set-car! set-cc set-cdr!

set-echo-ports! sin sqrt

stack-object stack-size string? string?

string-append string-ci? string-length string->list string->number string-ref string-set! string->symbol substring

substring-fill! substring->list subvector-fill! subvector->list symbol?

symbol-assigned? symbol-bound? symbol->string system tan

the-environment time

toggle-bit trace-ignore trace-off trace-on truncate unix?

valid-continuation vector?

vector-length vector-ref vector-set! vms? write

write-char write-string

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 15

Fluent-Scheme Environment

Im Folgenden sind alle Elemente des Fluent 6.3 (3D, single precision) Scheme-Environments aufgelistet.

Wenn es sich um Funktionen handelt, ist der Name eingeklammert – eventuell erforderliche Parameter sind nicht angegeben. Parameter können teilweise ermittelt werden, indem die Funktion zunächst ohne Parameter

aufgerufen wird; es kommt eine Fehlermeldung, die den Namen des ersten Parameters in der Funktionsdefinition (hier xxx) enthält:

Error: eval: unbound variable Error Object: xxx

Schafft man es, einen geeigneten Wert für diesen Parameter zu finden, kann man die Funktion mit diesem Wert als ersten Parameter aufrufen, und enthält gegebenenfalls eine Fehlermeldung mit dem Namen des zweiten Parameters usw.

Bei allen anderen Elementen, die keine Fnktionen sind, ist der Typ in eckigen Klammern sowie der Wert angegebn, oder n/a falls die Variable keinen Wert hat – mit Ausnahme der Listen, weil sie teilweise sehr umfangreich sind.

*solver-command-name*: [string] fluent (client-file-version)

(gui-get-selected-thread-ids) (gui-show-partitions) (gui-memory-usage) (grid-show)

(rampant-menubar) (gui-reload)

(gui-case-check)

flt_epsilon: [number] -1.19209e-07 patch-with-cff: [list] (...)

sol-init-with-const?: [boolean] #f mesh-motion-previewed?: [boolean] #f grid-check-done?: [boolean] #f

reference-values-updated?: [boolean] #f user-defined-checks: [list] (...) (ti-turbo-grid-method)

(ti-turbo-projection-method) (ti-turbo-search-method) (read-turbo-topology) (list-set!)

(ti-avg-xy-plot) (ti-2d-contour) (ti-avg-contour) (ti-set-turbo-topo)

(gui-turbo-twod-contours) (gui-turbo-avg-contours) (gui-turbo-xyplots) (gui-turbo-report) (gui-set-topology) (ti-turbo-define)

(ti-write-turbo-report) (ti-compute-turbo-report) (write-turbo-data) (gui-turbo-define)

(correct-turbo-defenition) (delete-turbo-topology) (define-turbo-topology) (setturbovar) (getturbovar)

(add-turbo-post-menu) (solve-controls-summary) (gui-solve-iterate)

(gui-solve-controls-mg) (samg-available?)

(stabilization-available?) (gui-solve-controls-solution) (inquire-flux-types) (strstr?)

(order/scheme-name->type) (order/scheme-type->name) order/schemes: [list] (...) (name-list)

(print-name->attribute-list) (print-name->pick-name) (print-name)

(get-eqn-units-patch) (get-eqn-units-default)

(get-eqn-var-default) (get-eqn-var) (set-eqn-var) (get-eqn-index) (symbol->rpvar)

(inquire-equations) (gui-solve-set-limits) (gui-solve-set-ms) (gui-patch)

(gui-init-flow)

(display-surface-mesh) (delete-surface-mesh)

(gui-manage-surface-meshes) (set-do-bc)

(gui-particle-summary) (models-summary) (gui-dpm-sort) (gui-models-dpm)

(gui-models-viscous) (gui-user-memory) (gui-udf-at-exit) (gui-udf-on-demand) (gui-udf-hooks)

(ti-get-ordered-list-from-list) (gui-get-ordered-list-from-list) (gui-models-soot) (gui-models-sox) (gui-models-nox) (gui-vf-para)

(gui-surface-glob) (gui-ray-trace)

(gui-solar-calculator) (gui-models-radiation) (set-radiation-model) (gui-models-species) (allow-read-pdf?)

pdf/create: [boolean] #f (gui-models-multiphase) (new-phase-name)

(multiphase-model-changed) (gui-periodic-settings)

(gui-models-solidification) (gui-models-energy)

(gui-operating-conditions) (gui-models-solver)

(ti-illumination-parameters) (enable-ansys-feel)

cxansys.provided: [boolean] #t cxsweep.provided: [boolean] #t (cx-delete-keyframe) (cx-insert-keyframe) (cx-display-frame)

keyframes: [list] (...) (create-mpeg) (mpeg-open) (play-mpeg)

(cx-set-mpeg-compression) *mpeg-options*: [string]

Scheme Programmierung in FLUENT, Mirko Javurek, 2007-11 16

*mpeg-qscale*: [number] 8

*mpeg-bsearch*: [string] CROSS2

*mpeg-psearch*: [string] EXHAUSTIVE *mpeg-range*: [number] 8

*mpeg-pattern*: [string] IBBPBB *mpeg-compression?*: [boolean] #f *mpeg-command*: [string] mpeg_encode (cx-animate)

(cx-gui-animate)

(video-picture-summary) (video-summary)

(cx-video-use-preset) (cx-video-show-picture) (cx-video-set-picture)

cx-video: *** not assigned *** (cx-video-show-options) (cx-video-set-options) (cx-video-close) (cx-video-open) (cx-video-panel) (cx-video-enable)

*cx-video*: [boolean] #t

cxvideo.provided: [boolean] #t cxanim.provided: [boolean] #t (rename-to-adjacency-all) (rename-to-default-all) (adjacency-panel)

(rename-to-adjacency) (new-adjacency-name) (rename-to-default)

(thread-has-custom-name) (matches-gambit-name) (adjacency-name-pattern) (default-name-pattern) (abbreviate-type) (padd-id)

(set-number-of-digits) number-of-digits: n/a (cell-thread-types) (face-thread-types) (index-in-list)

(thread-names->ids) (thread-ids->names)

(inquire-face-thread-ids) (inquire-cell-thread-ids) (inquire-face-thread-names) (inquire-cell-thread-names) (punkt) (n)

(read-hxg-list) (read-hxg) (ti-list-hxg) (ti-del-hxg) (ti-set-hxg)

(get-avail-zones) (remove-frm-list) (get-thread-id) (get-center)

(set-porous-res) (set-porous-dirs) (update-hxc-model)

(update-macro-hinlets) (initialize-hxc-model) (free-hxc-model) (heat-exchanger?) (set-hxc)

(ti-get-res-hxc-input)

(update-due-to-model-change) (del-hxc)

(get-hxc-opr) (null-string?)

(get-profile-value) (get-v)

(read-choice)

(set-profile-widgets) (set-drop-down-widgets) (set-integer-widgets) (set-real-widgets) (one-zone-group) (%init-hxc-model) (%free-hxc-model) alstom: [boolean] #f

heatxc-models: [list] (...) heatxc-groups: [list] (...) heatxc-geom: [list] (...) (get-group-id) (get-hxg-id) (new-hxg-id)

(ti-del-all-hxc)

(ti-get-model-input) (ti-get-hxc-input) (ti-set-heatxc-model) (ti-set-hxc)

(ti-hxc-macro-report) (ti-hxc-report)

auto-set-porous?: [boolean] #t (update-model-list) (update-heatxc-list) (draw-all-macros) (gui-heatxc-groups) (gui-heatxc-models) (gui-heat-exchanger) (table-tui) (table-gui) (pdf-init)

(inquire-species-names) (surface-species-number) (surface-species-names)

(pb-moments-surface-volume) (pb-plot-surface-volume)

(pb-qmom-smm-moments->len-num-density) (pb-gui-fill-face-zone-values) (pb-write-xy-data-to-port) (pb-plot-curve)

(pb-plot-histogram) (ni->nl)

(number-range) (min-diff)

(ti-rppb-number-density) (ti-rppb-moments) (_activate-pb_)

pb-activated?: [boolean] #f (pb-phenomenon-setting) (pb-model-setting)

(pop-bal-solver-panel)

(pb-model-common-apply-cb) (pb-model-applicable?) (make-list)

(get-residual-norms-at) (residual-default-setting) check-conv?: [boolean] #t (criterion-id->name) (criterion-name->id)

(client-inquire-residual-criteria) (ti-client-residuals-reset) (client-residuals-reset)

(client-support-residuals-reset?)

(save-first-time-iteration-residuals!) (save-first-iteration-of-time) *none-criterion*: [number] 3

*relative-or-absolute-criterion*:[number] 2 *relative-criterion*: [number] 1 *absolute-criterion*: [number] 0 (residual-set)

(residual-history)

(unset-residual-norms!)

(set-residual-norms-by-max!) (set-residual-norms-at!) (gui-monitor-residuals)

clres.provided: [boolean] #t (monitor-statistics-init)

solve/monitors/statistic-menu: [list] (...) (init-stats)

(gui-monitor-statistics) (monitor-statistics) (gui-monitor-forces)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 17

(clear-monitor-forces) (monitor-forces-init) (monitor-forces)

(ti-enable-execute-command) (ti-disable-execute-command) (ti-add-edit-execute-command)

(monitor-execute-at-end-transient) (monitor-execute-at-end)

(register-monitor-execute-at-end-if-needed) (commands-monitor-trans-freq-proc) (commands-monitor-freq-proc) (monitor-commands)

(register-monitor-commands-if-needed) (gui-monitor-commands) (monitor-command-init) cmd-list: [list] (...)

surface-mon-list: [list] (...) (set-surf-mon-windows) (uds-surf-mon-compat)

(multiphase-surf-mon-compat) (gui-monitor-surface) (monitor-surface-init)

vol-mon-list: [list] (...) (set-vol-mon-windows) (uds-vol-mon-compat)

(multiphase-vol-mon-compat) (gui-monitor-volume) (monitor-volume-init) main-menu: [list] (...) grid-menu: [list] (...) turbo-menu: [list] (...)

(turbo-set-current-topology) (turbo-avg-xy-plot) (turbo-2d-contours) (turbo-avg-contours) (write-turbo-report) (compute-turbo-report) adapt-menu: [list] (...)

adapt/set-menu: [list] (...) reorder-menu: [list] (...)

reorder-method-menu: [list] (...) (ti-reorder-using-cell-functions) (ti-reorder-using-cell-distance) report-menu: [list] (...)

rp-pop-bal-menu: [list] (...) rp-vol-menu: [list] (...) rp-surf-menu: [list] (...) rp-force-menu: [list] (...) rp-flux-menu: [list] (...)

report/reference-menu: [list] (...)

report/reference/compute-menu: [list] (...) display-menu: [list] (...) plot-menu: [list] (...) define-menu: [list] (...)

define-turbo-menu: [list] (...) cff-menu: [list] (...) ud-menu: [list] (...) (ti-udf-hooks) (ti-udm)

(set-udm-defaults) (ti-udf-on-demand)

profile-menu: [list] (...)

operating-conditions-menu: [list] (...) models-menu: [list] (...) solver-menu: [list] (...) radiation-menu: [list] (...) pb-solve-tui: [list] (...) solar-menu: [list] (...) (ti-solar-calc)

heat-exchanger-menu: [list] (...) soot-menu: [list] (...) (update-soot-solve) sox-menu: [list] (...) (sox-turbulent-spe-names) nox-menu: [list] (...) (nox-turbulent-spe-names) (ti-remove-species-helper) (ti-read-species-helper2) (check-species-name) s2s-menu: [list] (...) dtrm-menu: [list] (...) (multiphase-menu)

turbulence-menu: [list] (...)

turbulence-expert-menu: [list] (...)

multiphase-turbulence-menu: [list] (...) near-wall-treatment-menu: [list] (...) species-menu: [list] (...)

kinetics-param-menu: [list] (...) (ti-read-pdf-helper) (ti-create-pdf)

(ti-read-species-helper) (enable-phase-mixture-matl) (enable-mixture-matl) solve-menu: [list] (...)

execute-command-menu: [list] (...) solve/animate-menu: [list] (...)

solve/animate/play-menu: [list] (...) solve/animate/define-menu: [list] (...) initialize-menu: [list] (...) (ti-repair-wall-distance)

(compute-corrected-wall-distance) (fmg-init)

(set-fmg-init-vars)

initialize/compute-menu: [list] (...)

(set-domain-averaged-derived-flow-inits!) (use-enhanced-dbns-iter)

solve/set-menu: [list] (...) (set-eqn-vars)

(set-eqn/mg-controls) (set-eqn/scheme) (set-eqn/solve)

(set-eqn/exp-relax) (set-eqn/residual-tol) (set-eqn/correction-tol) (set-eqn/corrections) (set-eqn/relax) (set-eqn/default)

(set-eqns-to-default)

monitors-menu: [list] (...)

solve/monitors-menu: [list] (...) phase-menu: [list] (...) pc-menu: [list] (...) bc-menu: [list] (...)

surface-mesh-menu: [list] (...) modify-zones-menu: [list] (...) display/set-menu: [list] (...) file-menu: [list] (...)

interpolate-menu: [list] (...)

surface-cluster-menu: [list] (...) file/export-menu: [list] (...) file/import-menu: [list] (...)

file/import/flamelet-menu: [list] (...) file/import/plot3d-menu: [list] (...) file/import/patran-menu: [list] (...) file/import/nastran-menu: [list] (...) file/import/lstc-menu: [list] (...) file/import/cfx-menu: [list] (...) file/import/abaqus-menu: [list] (...) file/import/ansys-menu: [list] (...) file/import/cgns-menu: [list] (...)

file/import/partition-menu: [list] (...) file/autosave-menu: [list] (...) (fire-64?)

(allow-rng-subgrid-model)

allow-rng-subgrid-model?: [boolean] #f (allow-kklw-model)

allow-kklw-model?: [boolean] #f (allow-v2f-model)

allow-v2f-model?: [boolean] #f

addon-module-pb: [string] popbal1.1 addon-module-sofc: [string] sofc1.2

addon-module-pem: [string] fuelcells2.2 addon-module-fibre: [string] fiber1.3 addon-module-mhd: [string] mhd2.1 (ti-edit-animation-monitor)

(ti-update-defined-sequence+monitor)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 18

(ti-define-animation-monitor) (gui-solution-animation) (aniseq->path) (aniseq->window) (aniseq->storage) (aniseq->monitor) (aniseq->display) (aniseq->name)

(ani-monitor-delete) (remove-ani-sequence) (change-storage-type)

(replace-sequence-by-name) (change-sequence-window) (sequence-path-rename) (sequence-rename)

(add-animation-monitor) (ani-monitor-update) (set-animon-active?) (animon->active?) (animon->cmdstr) (animon->when) (animon->freq) (animon->seqnum) (animon->name)

(build-ani-monitor-list-element)

(register-animation-monitors-if-needed) (new-sequence-name) (remove-ani-xy-vars)

xy-vars-list: [list] (...) (set-xy-vars)

(ani-save-xy-vars)

sequence-name-list: [list] (...) (show-ani-monitors) (show-one-ani-monitor) (get-ani-monitors)

(ani-render-var-rename) (ani-show-thunk-titles) (ani-restore-thunk+title) (ani-save-thunk+title) (ani-remove-thunk+title)

(ani-rename-monitor-thunk+title) (ani-restore-render-vars) (ani-save-render-vars) (ani-monitor-active?) (ani-monitor-name->seq) (ani-monitor-seq->name) (ani-monitor-deactivate) (ani-monitor-activate) (ani-monitor-change-freq) (ani-monitor-rename) (remove-ani-monitor)

(add-ani-monitor-command) (run-ani-monitors) (animation-init)

cx-scene-menu: [list] (...) (ti-set-geometry) (delete-cb)

(update-indices) (ti-color-def) (ti-transform) (ti-time-step) (ti-path-attr) (ti-iso-sweep)

(ti-select-box-edge) get-index: [boolean] #f ti-num-geoms: [number] 0

ti-selected-index: [list] (...) ti-selected-geom: [list] (...) ti-selected-type: [list] (...) ti-selected-segment: [list] (...) (cx-scene-update-geoms) (cx-scene-default-value) (scene-insert-order) (cx-scene-insert-geoms) (update-all-graphics)

(cx-scene-update-graphics) (recreate-geom?)

(restore-cx-globals) (save-cx-globals) (close-gr-segments) (open-gr-segments) (cx-scene-draw-cmap) (redisplay-all)

(cx-scene-set-iso-surf) (cx-get-scene-update) (cx-set-scene-update) (cx-scene-list-geometry) (scene-get-string) (cx-show-user-option) (cx-transform-highlight) (cx-draw-bbox) (cx-flush-bbox)

(cx-scene-show-bbox) (cx-set-vv-attr)

(cx-set-profile-attr) (cx-set-dpm-attr) (cx-set-path-attr) (cx-set-contour-attr) (get-viz-iso-surf-id) (iso-surface-ancestor)

(derived-from-iso-surface) (show-surface-units) (show-surface-quantity) (show-surface-type)

*cx-scene-panel-present*: [boolean] #f (cx-gui-scene)

(cx-gui-bbox-frame) (insert-projections) (inc-geoms)

(insert-planes) (add-delta)

(cx-display-bnd-frame)

cx-frame-growth-factor: [number] 0.01 cx-frame-domain?: [boolean] #t cxticks.provided: [boolean] #t cxscene.provided: [boolean] #t

ti-non-reflecting-menu: [list] (...) ti-flamelet-curves-menu: [list] (...) (ti-flamelet-curves)

ti-flamelet-display-menu: [list] (...) ti-pdf-display-menu: [list] (...) (ti-flamelet-tables) (ti-pdf-tables)

write-to-file?: [boolean] #f plot-1d-slice?: [boolean] #f draw-numbers-box?: [boolean] #f (display-flamelet-table) (display-pdf-table)

pdf-camera: [list] (...)

default-pdf-camera: [list] (...) (set-pdf-cont-prof-attr) (pdf-contour)

flamelet-label3: n/a flamelet-label2: n/a flamelet-label1: n/a flamelet-title2: n/a flamelet-title1: n/a

flamelet-table-scale: [list] (...) flamelet-default-scale: [list] (...) flamelet-y-min: n/a flamelet-x-min: n/a flamelet-y-max: n/a flamelet-x-max: n/a flamelet-z-min: n/a flamelet-z-max: n/a pdf-label3: n/a pdf-label2: n/a pdf-label1: n/a pdf-title2: n/a pdf-title1: n/a

pdf-table-scale: [list] (...) pdf-default-scale: [list] (...) pdf-y-min: n/a pdf-y-max: n/a pdf-x-min: n/a pdf-x-max: n/a

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 19

pdf-z-min: n/a pdf-z-max: n/a

pdf/set-menu: [list] (...) (ti-pdf-curves?)

(print-flamelet-info) (print-pdftable-info) (gui-flamelet-1d-funcs) (gui-pdf-1d-funcs)

(gui-flamelet-2d-funcs) (gui-pdf-2d-funcs) (inquire-flamelet-2d) (inquire-flamelet-1d) (inquire-2d) (inquire-1d)

(refine-raw-list)

flamelet-raw-2d-funcs-list: [list] (...) flamelet-raw-1d-funcs-list: [list] (...) flamelet-2d-funcs-list: [list] (...) flamelet-1d-funcs-list: [list] (...) pdf-raw-2d-funcs-list: [list] (...) pdf-raw-1d-funcs-list: [list] (...) pdf-2d-funcs-list: [list] (...) pdf-1d-funcs-list: [list] (...) selected-pdf-2d-func: [boolean] #f selected-pdf-1d-func: [boolean] #f (gui-prepdf-utility) (pdf-funcs-available?) (pdf-on?) (prepdf-on?)

(allow-prepdf-module)

(add-flamelet-display-menubars) (add-pdf-table-display-menubars) gui-flamelet-new?: [boolean] #f gui-pdf-new?: [boolean] #f current-pdf-curve: [string]

added-flamelet-tables-curves?: [boolean] #f added-pdf-tables-curves?: [boolean] #f allow-prepdf?: [boolean] #t (smooth-thread)

(remesh-local-threads)

(remesh-local-prism-faces) (print-remesh-cell-marks) (draw-remesh-cell-marks) (mark-remesh-cells)

(refine-coarsen-on-skewness-size) (remesh-local-cells)

(print-length-scale-skewness-per-zone) (check-dynamic-mesh)

(print-dynamic-forces-moments) (remove-layer-at-zone) (insert-layer-at-zone) (remove-cell-layer) (insert-cell-layer) (ti-import-ic3m) (gui-import-ic3m) (import-ic3m)

(enable-ic3m-support) (repartition-domain)

dynamic-mesh-menu: [list] (...)

dynamic-mesh-sdof-menu: [list] (...) dynamic-mesh-ic-menu: [list] (...)

dynamic-mesh-remeshing-menu: [list] (...) dynamic-mesh-layering-menu: [list] (...) dynamic-mesh-smoothing-menu: [list] (...) dynamic-events-menu: [list] (...) dynamic-bc-menu: [list] (...) (eval-udf)

(list-dynamic-functions)

debug-dynamic-functions: [boolean] #f (clear-dynamic-functions) (update-dynamic-functions) (cancel-dynamic-function) (register-dynamic-function) (ti-position-starting-mesh) (get-remesh-cell-threads)

(enable-dynamic-mesh-node-ids) (update-solver-thread-names)

cell-element-type-alist: [list] (...) (ti-modify-lift)

(ti-print-plot-lift) (ti-modify-piston-data) (plot-valve-lift) (print-valve-lift)

(ti-delete-internal-layer) (ti-insert-internal-layer) (ti-remove-layer) (ti-insert-layer) (remove-layer) (insert-layer)

(delete-internal-layer) (insert-internal-layer) (cleanup-thread-list)

(update-in-cylinder-monitors) (monitor-crank-angle)

(steady-update-dynamic-mesh) (gui-event-playback) (event-playback) (gui-events) (event-hook) (handle-event) (inside-range) (shift-down) (shift-up)

angle-tol: [number] 1e-05

event-callback-alist: [list] (...) (deactivate-cell-zone-callback) (activate-cell-zone-callback)

(change-under-relaxation-callback) (remove-cell-layer-callback) (insert-cell-layer-callback)

(remove-internal-layer-callback) (insert-internal-layer-callback) (remove-boundary-layer-callback) (insert-boundary-layer-callback) (change-motion-attr-callback) (change-time-step-callback) (delete-si-callback) (create-si-callback) (copy-bc-callback)

(change-zone-type-callback)

number-of-event-types: [number] 15

deactivate-cell-zone-event: [number] 14 activate-cell-zone-event: [number] 13

change-under-relaxation-event: [number] 12 remove-cell-layer-event: [number] 11 insert-cell-layer-event: [number] 10 remove-internal-layer-event: [number] 9 insert-internal-layer-event: [number] 8 remove-layer-event: [number] 7 insert-layer-event: [number] 6

change-time-step-event: [number] 5 change-motion-attr-event: [number] 4

delete-sliding-interface-event: [number] 3 create-sliding-interface-event: [number] 2 copy-zone-event: [number] 1 change-zone-event: [number] 0 (ic-update-flow-time-from-angle) (lift->angle) (compute-lift)

(crank-angle->relative-time) (relative-time->crank-angle) (crank-angle->time)

(crank-angle->absolute-time) (time->crank-angle) (nth-ic-cycle)

(time->absolute-crank-angle) (length-factor->max-length) (length-factor->min-length) (ideal-vol->length)

(ideal-tet-vol->length) (ideal-tri-vol->length) (fmod)

(ti-steady-pseudo-time-control) (ti-dynamic-mesh-motion)

show-steady-pseudo-time?: [boolean] #f (gui-dynamic-mesh-update)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 20

(display-surfaces) (advance-mesh) (auto-hardcopy) (animate-motion)

(gui-preview-zone-motion) (preview-zone-motion)

(update-dynamic-geometry-scene) (dynamic-geometry-scene-list) dz-ani-storage-name: [string] dynamesh_preview

dz-ani-storage-type: [number] 2 dz-ani-sequence: [number] -1 dz-animate?: [boolean] #f dz-niter: [number] 1 dz-nstep: [number] 1

dz-display-frequency: [number] 1 dz-display?: [boolean] #t dz-autosave?: [boolean] #f dz-hardcopy?: [boolean] #f (contour-node-displacement) (compute-cg-from-profile) (zone-selection) (disable-items) (enable-items) (hide-items) (show-items)

(gui-dynamic-zones)

(gui-models-moving-grid) (ti-list-dynamic-threads) (ti-reset-dynamic-thread) (delete-adjacent-dz) (delete-dynamic-thread) (ti-create-dynamic-thread) (ti-enable-dynamic-mesh) (enable-dynamic-mesh)

(ic-all-dz-update-cg-position) (ic-dz-update-cg-position) (change-dz-attr) (new-copy-of-dz) (set-dz-attr) (get-dz-attr)

(get-dynamic-thread)

deforming-motion: [number] 3 user-defined-motion: [number] 2 solid-body-motion: [number] 1 no-motion: [number] 0 (motion-type-name->id) (motion-type-id->name) (list-dz) (new-dz)

(read-reference-vol) (write-reference-vol)

(check-dynamic-mesh-solver-settings) (set-remesh-repartition-thresholds) (set-sizing-function-defaults)

(set-sizing-function-dimension-defaults) (set-non-in-cyl-defaults) (update-dynamesh-hooks) (allow-dynamic-mesh)

allow-dynamic-mesh?: [boolean] #t ic3m-support?: [boolean] #f execute-event: [boolean] #t debug-event: [boolean] #f (ti-export-event) (ti-import-event) (free-dynamic-mesh)

(create-moving-face-threads-from-moving-cell-threads)

(dynamic-thread-vars-compat) (dynamic-thread-list)

(unthread-dynamic-thread) (thread-dynamic-thread) (download-dynamic-threads) (create-case-dynamic-threads) (old-fpsc-new) (gui-s2s) (gui-dtrm)

(display-sample-points) (gui-samples-manage) (pick-sample) (sample-name) (delete-sample)

(list-sample-fields) (list-samples)

(plot-sample-histograms) (sample-histograms)

(update-sample-list-cache) (sample-list)

(moving-mesh-in-domain?) (ti-dpm-sample-report) (addon-compat-dpm-law) (udf-compat-dpm-law)

(dpm-parallel-shared-memory) (dpm-parallel-message-passing) particle-menu: [list] (...) (dpm-history-to-xy)

(history-to-xy-by-title)

(generic-table-to-xy-by-column-with-skip) (history-to-xy) (list-index) (string-split) (eof?)

(read-line)

(read-line-list)

(particle-temperature-limiter) (import-injections-from-file) (get-new-name)

(export-injections-to-file) (particle-tracks-xy-plot) (ti-particle-tracks)

display/set/particle-tracking-menu: [list] (...)

report-type-choices: [list] (...) report-to-choices: [list] (...) (ti-particle-summary)

particle-history-menu: [list] (...) (ti-import-particle-data) (ti-export-particle-data) (gui-particle-export) (write-fv-ascii-file) (particle-file-write) (path-write-freq) (pathline-summary) (dpm-summary) (dpm-iteration)

(pick-particle-cell-function)

(inquire-particle-cell-functions) (dpm-display-path-lines)

tracking-schemes-higher: [list] (...) tracking-schemes-lower: [list] (...) (spray-model-summary) (injection-types)

law-list: [list] (...)

property-list: [list] (...) (pick-law)

(custom-laws?) (ti-recover-law) (ti-convert-law)

(ti-dpm-law-options) (dpm-law-options) (dpm-default-laws)

the-dpm-laws: [list] (...) (dpm-material-type)

(combusting-not-multi-surface?) (multicomponent-ptype?) (multi-surface?) (comb-method)

(pick-particle-type) (pick-injection-type) (pick-dpm-material) (pick-stream) (pick-species) (pick-generic) (lpsetvar)

(read-integer-symbol/string-from-pair-list) (dpm-inquire-particle-functions-filtered)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 21

(filter) (map-count)

(dpm-check-injection-materials-for-coalescence)

(dpm-check-boundary-surfaces) file-type: n/a

(dpm-inquire-species-names) (dpm-switch-cloud-off) (dpm-is-cloud-on?) gui-law-define: n/a (pick-injection)

(inquire-injection-names) dpm-menu: [list] (...)

dpm-injections-menu: [list] (...) (dpm-bcs-available?) (dpm-material-types)

(activate-injection-surfaces) (dpm-change-material-name) (dpm-used-material-names)

gui-dpm-display-particle-traces: n/a (get-all-dpm-material-names) (download-injections) (create-case-injections) (gui-manage-injections) (reset-injections) (free-injections) (ti-ud-wet-steam) (close-udws-library) (open-udws-library)

wetsteam-model/set-menu: [list] (...) ti-ghost-mp: [list] (...) (gui-models-wetsteam)

ti-wetsteam-menu: [list] (...) (ti-ignition-menu)

(ti-set-ignition-species)

(ti-set-general-ignition-parameters) (ignition-summary)

(gui-models-autoignition) (ti-spark-menu) (spark-summary) (gui-models-spark)

(mouse-shape-define-for-spark) (ti-crevice-menu)

(ti-make-crevice-threads) (new-crevice-case) (crevice-summary)

(valid-flmon-chkpnt-dir?)

flmon-chkpnt-dir: [list] (...) (flmon-init)

flmon-running?: [boolean] #f (valid-sge-chkpnt-dir?)

sge-chkpnt-dir: [list] (...) (sge-init) (lsf-spawn)

(valid-lsb-chkpnt-dir?)

lsb-chkpnt-dir: [list] (...) (lsf-init)

(monitor-new-procs) (contact-monitor)

(monitor-config-file) (write-cleanup-script) (safe-nt-path) (app-temp-dir)

*write-cleanup-script?*: [boolean] #t *cleanup-script-name*: [boolean] #f *cleanup-script-dir*: [boolean] #f cleanup-script-filename: [string] (exit-restart-file) (restart-commands) (checkpoint)

(create-checkpoint-fnbase) (create-checkpoint-filename) (remove-checkpoint-files) (set-checkpoint-variable) (chkpnt-dir)

(valid-chkpnt-dir?) (valid-exit-file?) (valid-check-file?) (create-exit-file) (create-check-file)

last-data-filename: [boolean] #f last-case-filename: [boolean] #f save-rc-filename: [boolean] #f

checkpoint/exit-filename: [string] /tmp/exit-fluent

checkpoint/check-filename: [string] /tmp/check-fluent (ckpt/time-step?)

checkpointed?: [boolean] #f (benchmark) (debug-cortex) (debug-node) (debug-all) (debug-nodes) (debug-client) (attach-debugger) (attach-ibm-dbx) (attach-sgi-dbx) (attach-sun-dbx) (attach-ladebug) (attach-gdb)

(repartition-by-zone) (gui-load-balance)

(gui-show-virtual-machine) (gui-network-configure) (gui-hosts-data-base)

(gui-auto-partition-grid) (gui-partition-grid)

parallel-menu: [list] (...) (tui-load-balance)

partition-menu: [list] (...)

partition/auto-menu: [list] (...) (ti-partition-auto)

partition/set-menu: [list] (...) (ti-partition)

(pick-partition-function)

parallel/network-menu: [list] (...) parallel/timer-menu: [list] (...) parallel/set-menu: [list] (...) (gui-reorder-domain)

(ok-to-invalidate-case?) (spawn-from-file) (spawn-from-list) (spawn-compute-node)

(add-to-available-hosts) (first-word)

(make-hosts-db-available) (read-partition-id)

(read-partition-id-list) (load-balance-available?)

(disable-load-balance-after-adaption) (enable-load-balance-after-adaption) (check-partition-encapsulation)

use-default-auto-partition?: [boolean] #t case-file-partition-pretest?: n/a case-file-partition-method: n/a (ti-migrate-marked-cells) (migrate-marked-cells) (list->user@host-dot) (user@host->list) (create-hosts-db)

(delete-from-available-hosts) list-compute-nodes: [list] (...)

list-of-available-hosts: [list] (...) list-hosts: [list] (...) (mkill?)

(valid-partition-id?) (add-fsi-panel)

(%cci-write-input-file) (%cci-finalize) (%cci-mod-nodes) (%cci-update-nodes) (%cci-read-maxstagit) (%cci-read-deltatfsi) (%cci-read-tload) (%cci-read-tend)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 22

(%cci-read-tstart)

(%cci-check-convergence) (%cci-close-remesh) (%cci-remesh)

(%cci-reach-sync) (%cci-def-sync) (%cci-close-setup) (%cci-thread-list) (%cci-def-part)

(%cci-get-quantitynames) (gui-fsi-panel)

control-list: [list] (...)

string-param-list: [list] (...) int-param-list: [list] (...) real-param-list: [list] (...) quant-list: [list] (...) exec-list: [list] (...) (gui-fsi-execute) (fluent-iterate) (ansys-iterate) (fluent-setup) (ansys-setup) (ti-rotate-grid) (ti-translate-grid) (ti-scale-grid) (rotate-grid)

(gui-rotate-grid) (translate-grid)

(gui-translate-grid) (scale-grid)

(gui-scale-grid)

cxgrid.provided: [boolean] #t (ti-summary) (gui-summary)

(gui-volume-integrals) (ti-cell-thread-integral) (gui-reference-values) (ti-plot-histogram) (ti-print-histogram) (gui-histogram) (plot-histogram) (print-histogram)

(client-histogram-max) (client-histogram-min) (cx-zone-get-min-max) (client-histogram-bins)

*cx-histogram-location*: [string] elements cxreports.provided: [boolean] #t (gui-wall-reports)

(print-pressure-center) (print-wall-moments) (print-wall-forces) (wall-moments) (wall-forces) (viscous-moment) (viscous-force) (pressure-moment) (pressure-force)

(iprint-pressure-center) (iprint-wall-moments) (iprint-wall-forces) (z2z-rad-info)

(gui-thread-reports) (thread-integrals)

(sort-threads-by-name) (shell-heat-transfer) (rad-heat-transfer) (heat-transfer)

phase-mass-flow: n/a phase-volume-flow: n/a (uds-flow)

(species-mass-flow) (mass-flow)

(ti-set-reference-var) (advance-oned-solution) (update-wave-bcs) (start-oned-library) (free-oned-library) (draw-oned-cell)

library-list: [list] (...) (oned-library-gui)

(display-profile-points) (ti-write-profiles) (gui-write-profiles) (interpolation-method) (gui-profiles-manage)

prof/interp-on?: [boolean] #f (gui-profile-orient) (axial-profile-to-xy) (radial-profile-to-xy)

(ti-conserve-total-enthalpy) (ti-create-mixing-plane) (ti-conserve-swirl)

(ti-set-pressure-level)

ti-mixing-plane-menu: [list] (...) (gui-mixing-plane)

(delete-mixing-planes)

(initialize-mixing-plane-profiles) (update-mixing-planes) (write-profiles) (pick-profile) (profile-name) (update-profiles) (delete-profile)

(list-profile-fields) (list-profiles)

*list-only-relevant-udfs*: [boolean] #t (update-user-function-list-cache) (user-function-list)

(update-profile-list-cache) (profile-list)

ti-real-gas-init: [list] (...) (ti-ud-multispecies-no-reactions) (ti-ud-multispecies-reactions)

(ti-create-nist-real-gas-mixture-material-no-reactions)

(ti-create-nist-real-gas-mixture-material-reactions)

(ti-create-udrgm-mixture-material)

(ti-create-nist-real-gas-mixture-material) (open-rgas-libraries) (ti-real-gas-datanames) (read-real-gas-species) reaction-species-list: n/a (ti-ud-real-gas) (open-udrg-library) (ti-nist-real-gas)

(ti-real-gas-dataname) (open-rgas-library) (print-five-at-a-time)

nist-species-list: [list] (...) (default-property-constant)

(update-species-variable-lengths) (properties-changed) (bc-species-changed) (species-changed)

(client-list-reactions)

(client-material-name-changed) (client-set-material!)

(client-used-material-names) (client-material-types) (client-property-names) (client-property-list) (report-each-line?) (ti-import-chemkin)

materials-menu: [list] (...) (ti-copy-material-by-formula) (ti-copy-material-by-name)

materials/database-menu: [list] (...) (import-chemkin-mechanism) dens-list: [boolean] #f

(get-condensed-names-and-densities) (load-pdf-species)

(add-pdf-materials-to-cache) (merge-pdf-materials-props) (property-method-assq)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 23

(property-method-name-prmx) (property-method-name) (default-property-data) (get-udf-type)

(add-mixture-name) (qlist-) (replace-) (list-cat)

(total-reaction-list) (mlist-) (alist-)

(material-site-nspecies)

(material-site-species-names) (material-surface-nspecies)

(material-surface-species-names) (material-volumetric-nspecies)

(material-volumetric-species-names) (material-nspecies)

(material-species-names-pair) (material-species-names) (material-profiles)

(reaction-list-for-material) (material-prop) (material-types)

(material-mixture-pair) (material-type) (material-formula)

(mixture-material-name) (material-name)

(material-in-use-by-mixture) (dpm-check-material-in-use)

*max-material-name-len*: [number] 30 all-material-types: [list] (...) (can-edit-mixture-species?)

the-material-types: [list] (...) (particle-reaction-list) (surface-reaction-list) (volumetric-reaction-list) (cx-tui-cbk-profile)

(read-stringpairs-list-asking-number) (read-strings-list-asking-number) (update-droplet-injections) (register-profile-methods) update-c-side?: [boolean] #t (ti-save-user-db) (ti-edit-material)

(ti-define-new-material) (ti-set-database-type) (materials-summary)

(client-property-methods) (reset-prop-methods-cache)

(update-case-material-properties) (ti-delete-material) ti-create-material: n/a (ti-copy-material) (ti-change-mechanism) (ti-change-material) (gui-materials-manage) (list-database-materials) (database-property-methods) (get-database-material-copy)

(get-database-material-copy-by-formula) (get-database-material-by-name) (get-database-material-by-formula) (get-database-material) (property-units) (property-name)

(inquire-database-material-names) (inquire-material-names-all) (inquire-material-names) (get-default-material-name) (get-names-of-type)

(get-first-material-name) (pick-material-type)

(pick-database-material-by-formula) (pick-database-material-by-name) (pick-database-material)

(pick-material-all-with-prompt) (pick-material-with-prompt) (pick-material-all) (pick-material)

(list-database-properties) (list-properties) (list-materials) (get-material-copy)

(get-materials-of-type) (get-material)

(set-material-properties!) (set-material!)

(set-all-materials!) (get-n-materials) (get-all-materials) (delete-material)

(update-material-properties) (update-case-materials) (create-case-materials) (free-materials)

(create-mixture-material) (copy-database-material) (create-material) (upload-materials) (download-materials)

cxprop.provided: [boolean] #t (draw-bridge-nodes) (free-bridge-nodes) (fill-bridge-nodes) (gui-smooth-grid)

(ti-make-hanging-interface) (ti-swap-mesh-faces) (swap-mesh-faces) (ti-smooth-mesh) (smooth-mesh)

(ti-set-geom-controls) (ti-reconstruct-geometry) (gui-reconstruct-geometry) (gui-yplus-adapt) (gui-volume-adapt) (gui-region-adapt) (gui-isovalue-adapt) (gui-gradient-adapt) (gui-boundary-adapt) (gui-manage-mark)

(gui-display-mark-options) (gui-adapt-controls)

(gui-display-contours-or-error) (create-new-interior-threads) (set-register-ncrsn!) (set-register-nrefn!) (set-register-cbit!) (set-register-rbit!) (set-register-type!) (set-register-name!) (set-register-id!) (register-ncrsn) (register-nrefn) (register-cbit) (register-rbit) (register-type) (register-name) (register-id)

(mark-percent-of-ncells) (ti-mark-percent-of-ncells) mask-register: [boolean] #f refn-register: [boolean] #f (ti-free-parents) (refine-mesh) (ti-refine-mesh) (adapt-mesh) (ti-adapt-mesh) (register-invert) (ti-register-invert) (ti-mask-invert) (swap-refn-crsn) (ti-swap-refn-crsn) (draw-marked-cells) (draw-node-flags)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 24

(ti-draw-marked-cells) (mark-inout-iso-range) (ti-mark-inout-iso-range) (mark-inout-shape) (ti-mark-inout-shape) (ti-shape-define) (mouse-shape-define) (auto-refine-level)

(mark-with-refine-level) (ti-mark-with-refine-level) (mark-with-volume-change) (ti-mark-with-volume-change)

(ti-mark-with-boundary-normal-distance) (mark-boundary-cells-per-thread) (ti-mark-boundary-cells-per-thread) (mark-with-volume) (ti-mark-with-volume)

(mark-with-boundary-volume) (ti-mark-with-boundary-volume) (mark-with-yplus-per-thread) (ti-mark-with-ystar-per-thread) (ti-mark-with-ystar)

(ti-mark-with-yplus-per-thread) (ti-mark-with-yplus) (mark-with-gradients) (ti-mark-with-gradients)

(ti-adapt-to-boundary-cells) (ti-adapt-to-refine-level) (ti-adapt-to-volume-change) (ti-adapt-to-ystar-per-thread) (ti-adapt-to-ystar)

(ti-adapt-to-yplus-per-thread) (ti-adapt-to-yplus)

(ti-adapt-to-gradients)

(ti-adapt-to-default-register) (adapt-to-register) (ti-adapt-to-register) (list-registers)

(combine-list-of-registers) (combine-registers) (ti-combine-registers) (get-mask-registers) (get-refn-registers) (get-all-registers) (get-register)

(ti-read-mask-register) (ti-read-refn-register) (ti-read-register-list) (ti-read-register)

(toggle-register-type) (ti-toggle-register-type) (fill-crsn-register) (ti-fill-crsn-register) (limit-marked-cells) (ti-limit-marked-cells) (ti-count-marked-cells) (replace-register) (free-registers) (ti-free-registers) (destroy-register) (ti-destroy-register) (get-def-register)

(create-copy-of-register) (create-register)

adapt-env: [list] (...)

(inquire-periodic-transform-thread) (surface-ids->name-pair) (thread-surface) (ithread-surface) (thread-coordinates) (thread-values)

(inquire-zone-names) (zone-name->id) (zone-id->name) (zone-var) (zone-type) (zone-name)

(read-zone-id-list) (read-zone-id) (get-zone) (zone-id)

cx-surface-menu: [list] (...) (ti-surface-projected-area) (pick-surface-group)

(read-new-surface-id.name) (iline-surface) (irename-surface) (idelete-surface) (icell-surface) (ipoint-surface) (ipoint-array) (iiso-clip) (iiso-surface) (izone-surface)

(ipartition-surface) (isphere-slice) (iplane-slice) (irake-surface) (isurface-cells) (isurface-grid)

(gui-surface-projected-area) (default-minimum-feature-size) (gui-surface-integrals) (ti-surface-integral) (print-one) (print-net) (unit-label) (unit-value) (print-header)

(gui-fill-face-zone-values) (cx-fill-face-zone-values) (surface-vertex-max) (surface-vertex-min)

(surface-vertex-average) (surface-facet-max) (surface-facet-min)

(surface-facet-average) (surface-sum)

(surface-massavg)

(surface-mass-average) (surface-volume-rate) (surface-mass-flow-rate) (surface-flow-rate)

(surface-standard-deviation) (surface-integral) (surface-average) (surface-area)

(surface-integrate)

(cx-delete-srf-ref-in-grp) (surface-ids->surface-groups) (surface-id->surface-group) (cx-reset-surface-groups) (cx-init-surface-groups) (make-surface-groups)

(inquire-surface-line-names) (inquire-surface-plane-names)

(inquire-surface-group-names-of-type) (inquire-surface-group-names) (grp->srf)

(cx-rename-srf-group) (cx-get-group-srfs) (srf-grp?)

(cx-delete-group)

(cx-add-new-srf-group) (cx-ungroup)

(remove-from-grp-list) (cx-group-grps)

(flatten-surface-groups) (surface-values)

(surface-coordinates) (make-pairs) (pair-coords)

(cx-surface-face-list)

(cx-surface-uniq-node-coords) (cx-surface-uniq-node-values) (surface-velocity-vectors)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 25

(cx-surface-coordinates) (cx-surface-values) (zone-coordinates) (zone-values) (apply-slice) (surface-facets) (rename-surface) (temp-surface?) (surface?)

(list-surfaces)

(surface-area-vectors) (surface-name) (get-surface) (new-surface-id) (get-mouse-point) (fill-cx-tmp-array)

(gui-surfaces-creation-failure) (gui-add-named-surface) (gui-transform-surface) (ti-surf-transform) (cx-rotate-3d) (cx-scale-mat) (gui-iso-clip) (gui-iso-surface)

(gui-quadric-surface) (gui-plane-surface)

(cx-show-plane-tool-normals) (gui-line/rake-surface)

(cx-show-line-tool-normals) (gui-point-surface)

(gui-partition-surface) (gui-zone-surface) (gui-manage-surfaces) (cx-remove-tmp-geom) (cx-display-tmp-surf) (cx-surface-get-min-max) (cx-surface-fill-temp) (rem-quote-sym)

(cx-get-surf-def-attr) (cx-set-surf-def-attr)

(cx-get-surf-def-attr-pos)

cx-surf-interp-attr-list: [list] (...) (cx-copy-surface)

(read-surface-id-list) (read-surface-id) (read-surface-list) (read-surface)

(cx-get-surface-ids) (surface-name/id?) (valid-surf-name?) (check-surf-name) (rake-surface) (mrake-surface) (line-surface) (mline-surface) (plane-surface) (mplane-surface) (quadric-surface) (sphere-slice) (ibounded-plane)

(iplane-pt-n-normal) (iplane)

(iplane-view-plane-align) (iplane-surface-align) (point-normal-surface) (plane-slice) (point-array) (sphere-coeff) (plane-coeff) (iso-clip)

(iso-clip-new)

(partition-surface) (sample-plane-points) (planar-point-surface) (point-surface)

(transform-surface) (cell-surface) (zone-surface) (iso-surface)

(surface-append!) (delete-surfaces) (surface-grid)

(suspend-surfaces) (free-surfaces) (iso-srf-chk)

(cx-restart-fast-iso) (cx-end-fast-iso) (cx-start-fast-iso)

(cx-destroy-surface-all) (cx-destroy-surface)

(cx-delete-zone-surface) (surface-id->zone-id) (zone-id->surface-id)

(cx-create-boundary-zone-surfaces) (create-zone-surface) (add-zone-surface-defs) (client-inquire-fast-iso) (cutting-plane-off) (create-cutting-plane) (cutting-plane-hook)

(cx-activate-plane-tool)

cxplane.provided: [boolean] #t (ti-custom-field-function/load) (ti-custom-field-function/save) (ti-define-custom-field-fn) (ti-delete-custom-field-fn) (default-cf-name)

(read-custom-field-function) (convert-underscore-to-hyphen) (convert-hyphen-to-underscore) (read-cff-word)

spl-delimiters: [list] (...) delimiters: [list] (...) (cf-code) (pp-cfd)

(cx-get-obj-desc-attr) (cx-get-obj-attr) (cx-get-obj-id)

(cx-store-obj-all-attr) (cx-store-obj-desc-attr) (cx-store-obj-attr) (cx-get-obj-by-attr) (cx-get-obj) (cx-delete-obj) (cx-add-obj) (cx-new-obj-id) (cx-cf-name->id) (cx-cf-id-attr)

(cx-inquire-cf-ids)

(cx-inquire-user-def-cf-names) (cx-get-cf-desc-attr) (cx-get-cf-attr) (cx-set-cf-attr) (cx-get-cf-by-attr) (cx-rename-cf) (cx-delete-cf) (cx-get-cf) (cx-add-cf) (cx-new-cf-id)

(cx-initialize-cell-functions-client) (cx-eval-cf) (cx-check-cff) (code-gen) (d/dz) (d/dy) (d/dx)

(gui-manage-cf)

(custom-field-function/load) (custom-field-function/save) (custom-field-function/define) (custom-field-function-compt) (get-cff-compt-map) (err-reduction-fail) (match-all-productions) (match-production) (push-sym)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 26

(pop-sym-till-less-prec) (inc-parse) (token-value) (token-syn-cat) (top-terminal)

(set-preceedence!) (preceedence) (sym-value) (end-parser) (init-parser)

parse-stack: [list] (...) (value-prod)

production-list: [list] (...) (shift-error-check) (err-table-ref) (parse-table-ref)

col-entries: [list] (...) parse-table: [list] (...) (parse) (lex)

(init-number) (init-lexer)

(init-parser/lexer)

prev-token: [boolean] #f prev-number?: [boolean] #f cur-number-str: [string] (gui-user-def-cf) (but-name->display) (bin-op?) (un-op?) (trig-op?)

trig-ops: [list] (...) un-ops: [list] (...) bin-ops: [list] (...)

calc-display-map: [list] (...) (var-name->display)

calc-display: [list] (...) calc-inp-list: [list] (...) cf-str: [string]

*cx-cell-function-length*: [number] 75 *cx-max-cf-name*: [number] 25 (cx-field-rename) (cx-field-eval) (cx-field-define)

cxcf.provided: [boolean] #t cxsurf.provided: [boolean] #t (repair-surface-ids) (surf-inits!) (pp-list)

(v3-interpolate) (v3-unit)

(v3-magnitude) (v3-cross) (v3-dot) (v3->z) (v3->y) (v3->x) (dot)

(row-mat) (mm-aux) (aref)

(mat-mult)

(cx-identity-mat) (cx-translate-mat) (cx-rotate-x) (cx-rotate-y) (cx-rotate-z) (max-list) (min-list) (transpose) (transform)

(cx-get-trans-pts-min-max) (cx-update-surface-attr)

(cx-update-all-surface-attr) (list-union)

(cx-ancestor-surfaces-id)

(cx-ancestor-surfaces-id-list) (cx-purge-surface-def-list) (iso-func)

(cx-create-surface-from-def) (cx-generate-susp-surface-defs) (cx-add-surface-def)

(cx-get-def-coarse-surface) (virt2real) (vt2rl)

(real2virt) (rl2vt)

(cx-delete-virtual-id) (cx-get-virtual-index) (cx-delete-map-entry) (cx-delete-type-entry) (cx-list-surfaces)

(cx-surface-area-vectors) (surface-id->name) (surface-ids->names) (surface-name->id)

(inquire-point-surface-names) (inquire-surface-names) (inquire-surface-ids) (cx-suspend-surfaces)

(cx-suspend-all-surfaces) (cx-update-surface) (cx-create-surface) (cx-rename-surface) (cx-delete-surface) (cx-add-surface)

(cx-new-temp-surface-index) (set-next-surface-index) (new-surface-index)

(cx-active-surface-ids)

(cx-store-surface-all-attr) (cx-store-surface-desc-attr) (cx-store-surface-attr) (cx-get-surface-attr)

(cx-get-surface-desc-attr) (surface-id)

(cx-active-surface) (cx-set-surface) (cx-get-surface)

(cx-set-surface-type-all) (cx-set-surface-type) (cx-set-surface-lists) (set-surface-version) (surface-version)

(cx-save-surface-lists) (surf-set-list-size) (surf-list-bnds-chk)

surfaces-groups: [list] (...) cx-max-surf-id-ref: [number] -1 cx-surface-list: [list] (...) cx-temp-surfaces?: [boolean] #f cx-temp-surface-list: [list] (...) first-virtual-id: [number] 4196

*cx-max-surface-num*: [number] 4096 *cx-fast-iso-info*: [boolean] #f *cx-big-neg*: [number] -1e+20 *cx-big-pos*: [number] 1e+20 surf.provided: [boolean] #t (set-cx-field-render-vars) (get-function-unit)

(fill-face-thread-values) (fill-face-values) (fill-cell-values) (fill-node-values)

(inquire-cell-functions-sectioned) (inquire-cell-functions)

(%client-inquire-cell-vector-functions) (%client-inquire-cell-functions-sectioned) (%client-inquire-cell-functions) (client-support-symmetry?)

(display-grid-partition-boundary) (client-draw-grid-partitions) (display-grid-outline) (display-grid)

(idraw-thread-grid) (grid-internal)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 27

(grid-outline) (thread-grid)

(ti-delete-animation-monitor) (ti-write-animation-monitor) (ti-play-animation-monitor) (ti-read-animation-monitor) (gui-animation-control) (animation-name-list)

(cxg-ani-hardcopy-frames-cb) (create-mpeg-animation)

(cx-set-hardcopy-options-for-mpeg) (get-node-field-list-seq) (get-node-field-list-win) (show-node-field-list)

(cxg-copy-win-field-to-seq-field) (cxg-restore-seq-node-field)

(cxg-update-active-window-node-field) (cxg-save-node-field)

(cxg-ani-last-hardcopy-frame-list) (cxg-ani-create-hardcopy-frames) (cxg-ani-hardcopy-callback) (cxg-ani-hardcopy-filename) (cxg-ani-replay)

(cxg-update+xy-animation) (cxg-ani-xy-plot)

(cxg-update+snap-animation) (cxg-snap-animation) (cxg-ani-check-path)

(cxg-ani-get-seq-basename) (seqlist->winid) (seqlist->frames) (seqlist->storetype) (seqlist->name) (ti-fft-plot-file)

(ti-xy-plot-radial-band-averages) (radial-band-average)

(ti-xy-plot-axial-band-averages) (axial-band-average) (band-average) (scalar-bands) (band-clip) (ti-xy-plot)

(ti-xy-plot-zone/surface) (ti-xy-set-surface-scale) plot/set-menu: [list] (...) (ti-solution-plot) (ti-xy-set-scale) (ti-xy-plot-files) (ti-xy-plot-file)

(xy-plot-zones+surfaces) (cx-xy-plot-buffer-data) (gui-xy-plot-ffts) (gui-xy-plot-files)

(gui-xy-plot-zone/surface) (write-pdf-curve) (plot-pdf-curve2)

(plot-flamelet-curve2) (plot-flamelet-curve) (plot-pdf-curve)

(get-pdf-curve-data2)

(get-flamelet-curve-data) (get-pdf-curve-data)

flamelet-curve-data: [boolean] #f pdf-curve-data: [boolean] #f (cx-xy-plot-to-file) (cx-xy-plot-to-port) (cx-xy-plot-data) (cx-solution-plot) (cx-surface-plot) (cx-zone-plot)

(surface-positions) (gui-xy-plot-curves) (ti-set-xy/scale/fmt) (gui-xy-plot-axes) (cx-xy-plot-files) (xy-plot-file) (xy-read-file) (xy-read-port) my-multi?: [boolean] #f (xy-read-columns) (xy-read-curves) (xy-read-particle)

(xy-build-particle-curves) (xy-read-particle-header) use-old-jou?: [boolean] #f (xy-plot-list) (end-plot)

(start-title-plot)

*cx-xy-multiple-files*: [boolean] #t cxxy.provided: [boolean] #t cxganim.provided: [boolean] #t (write-icecore-hdf5) (gui-fem-map)

(fem-to-fluent-surf-id)

(write-transient-ensight-auto-append) (write-transient-ensight-explicit) (write-transient-ensight-case) (append-transient-export)

(write-transient-ensight-scalar) (write-transient-ensight-vel) (write-transient-ensight-geo) (gui-write-export)

(gui-function-names->lebel) (ti-write-gambit) (ti-write-fast)

(ti-write-es-transient)

(ti-write-es-gold-transient) (ti-write-es-gold) (ti-write-es)

(ti-write-fv-data) (ti-write-fv) (ti-write-avs)

(ti-write-fv-uns-combined) (ti-write-fv-uns-result) (ti-write-fv-uns-grid) (ti-write-fv-uns) (ti-write-tecplot) (write-radtherm) (write-patran) (ti-write-cgns) (write-cgns)

(write-cgns-common) (write-gambit) (write-flpost) (write-fast)

(write-engold-gui) (write-engold-ascii) (write-engold-binary) (write-engold)

(write-es-gold-transient) (disable-ensight-transient) (write-es-gold) (write-es) (write-fv)

(write-fv-data)

(write-fv-uns-combined) (write-fv-uns-result) (write-fv-uns-grid) (write-fv-uns)

(check-for-sliding-interfaces) (strstr)

(ti-write-dx) (write-dx) (write-avs)

(write-tecplot)

(write-icepak-results) (ti-write-icemcfd) (write-icemcfd)

(write-radiation-export) (ti-write-radiation) (enable-radtherm) (ti-write-radtherm) (ti-write-ansys) (write-ansys-rfl) (ti-write-ansys-cdb) (write-ansys-cdb)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 28

(ti-write-ascii) (write-ascii) (ti-write-ideas) (write-ideas)

(ti-write-abaqus) (write-abaqus)

(ti-write-nastran) (write-nastran)

(ti-write-patran-cell-temperature) (ti-write-patran-nodal-results) (ti-write-patran-neutral-file) (write-patran-nodal-results) (write-patran-result-template) (write-patran-neutral-file)

(write-patran-cell-temperature)

*enable-radtherm-export?*: [boolean] #t (ti-write-fast-solution) (ti-write-fast-scalar) (ti-write-fast-velocity) (ti-write-fast-grid) (write-fast-solution) (write-fast-scalar) (write-fast-velocity) (write-fast-grid)

*fast-binary-files?*: [boolean] #f (ti-write-mpgs-scalar) (ti-write-mpgs-velocity) (ti-write-mpgs-geometry) (write-mpgs-gold-scalar) (write-mpgs-scalar)

(write-mpgs-gold-velocity) (write-mpgs-velocity)

(write-mpgs-gold-geometry) (write-mpgs-geometry)

(check-ensight-transient-files) (fem-surface-name->id) (write-vis-export) (write-export)

(check-for-vki-lib?) (read-dimensioned-mesh) (import-stl-srf) (import-hyper-srf) (import-gambit-srf) (import-fidap-srf) (import-nastran-srf) (import-patran-srf) (import-ideas-srf) (import-cgns-srf) (import-aries-srf) (import-ansys-srf) (import-fluent/uns2)

filter-alist: [list] (...) (write-visual-export)

(write-visual-file-write-file) (write-visual-file)

export-types-supported-poly: [list] (...) (import-file)

(read-ensight-time) export-file-types: n/a t: [number] 0.1

(write-transient-ensight) pload: [boolean] #f loc: [boolean] #f filename: n/a

separate-file?: n/a frequency-entry: n/a htc-flux?: [boolean] #t htc-wall?: [boolean] #f htc-wall: [boolean] #f (ensight-frequency) transient-on: n/a transient?: n/a htc: n/a

thermal-loads: n/a structural-loads: n/a transient: n/a location: n/a delimiter: n/a surfaces: n/a

binary?: [boolean] #t node: n/a space: n/a

cell-centered: n/a comma: n/a

ensight-verbosity?: [boolean] #f (iread-bc) (iwrite-bc) (downcase)

(process-thread) (set-dv-variables) (set-rp-variables)

(disable-mapping-zones-name-id) (enable-mapping-zones-name-id) bc-map-thread-ids?: [boolean] #f (check-bc-compat) (set-bc) (list-bc) (read-bc) (write-bc)

(has-wild-card?) (get-thread-list) (gui-autosave-files)

(register-autosave-monitors-if-needed) (register-solar-autosave-monitors-if-needed)

(autosave-solar-data) (autosave-solfreq-proc) (autosave-case-data) (autosave-freq-proc) (ti-open-oned-library) (ti-open-udf-library) (ti-udf-compile) (gui-udf-compile) (open-isat-library) (load-addon-module) (load-addon)

(close-udf-library) (open-udf-library) (load-udf-scm-file) (open-udf-libraries) (load-udf-scm-files) (udf-compile)

(get-directory-for-file) (compare-case/solver) (ti-import-cfx-result) (gui-import-cfx-result) (ti-import-cfx) (gui-import-cfx) (import-cfx)

(gui-import-patran) (ti-import-patran) (import-patran)

(gui-import-nastran) (ti-import-nastran) (import-nastran)

(gui-import-ideas-universal) (ti-import-ideas-universal) (import-ideas-universal) (gui-import-gambit) (ti-import-gambit) (import-gambit) (gui-import-fidap) (ti-import-fidap) (import-fidap) (gui-import-cgns) (ti-import-cgns) (import-cgns)

(gui-import-mechanica-design) (ti-import-ptc-mechanica) (gui-import-stl-binary) (gui-import-stl-ascii) (gui-import-pam-daisy) (ti-import-pam-daisy) (gui-import-pda)

(gui-import-plot3d-result) (ti-import-plot3d-result)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 29

(gui-import-plot3d-grid) (ti-import-plot3d-grid) (gui-import-patran-result) (ti-import-patran-result) (gui-import-nastran-output2) (ti-import-nastran-op2) (gui-import-marc-post) (ti-import-marc-post) (gui-import-lstc-state) (ti-import-lstc-state)

(gui-import-mechanica-study) (ti-import-mechanica-study) (gui-import-lstc-input) (ti-import-lstc-input) (gui-import-ensight) (gui-import-hmascii) (ti-import-ensight)

(ti-import-hypermesh-ascii) (gui-import-vki-generic)

(gui-import-fluent-mesh-ascii) (gui-import-abaqus-filbin) (ti-import-abaqus-fil-bin) (gui-import-abaqus-odb) (ti-import-abaqus-odb) (gui-import-abaqus-input) (ti-import-abaqus-input) (gui-import-ansys-result) (ti-import-ansys-result) (gui-import-ansys) (ti-import-ansys) (import-ansys)

(gui-import-prebfc-structured-mesh) (gui-import-fluent4-case)

(ti-import-prebfc-structured-mesh) (ti-import-fluent4-case) (import-fluent4-case)

(gui-import-metis-zone-case) (gui-import-metis-case)

(ti-import-metis-zone-case) (ti-import-metis-case) (vki-change) (vki-serial?) (vki?)

(import-metis-zone-case) (import-metis-case) (save-pdf-table?)

(save-flamelet-data?) (client-write-data) (client-read-data) (client-append-data) (client-write-case) (compression-suffix) (create-filename) (client-read-case) (imp-vki) (mesh-file?)

(client-read-zone)

(client-read-surface-mesh) (reading-case-file)

(force-metis-method-compatibility) (rpsetvar-to-default) (convert-for-nt)

dpm-convert-implicit-momentum-sources?: [boolean] #f

(particle-history-open?) (stop-particle-history)

start-particle-history-write: n/a (start-particle-history)

(gui-start-particle-history) (ti-start-particle-history) (ti-solar-on-demand) (write-solar-pos) (set-sge-options) (switch-sge) (sge?)

(gui-write-sglobs) (ti-write-sglobs) (write-sglobs) (ti-write-viewfac) (write-viewfac)

(gui-read-sglobs-vf) (ti-read-sglobs-vf) (read-sglobs-vf) (gui-read-sglobs) (ti-read-sglobs) (read-sglobs) (gui-write-rays) (ti-write-rays) (write-rays) (gui-read-rays) (ti-read-rays) (read-rays)

(gui-write-flamelet) (ti-write-flamelet) (write-flamelet)

(ti-import-oppdif-flamelet) (ti-import-std-flamelet)

(gui-import-oppdif-flamelet) (gui-import-std-flamelet) (import-oppdif-flamelet) (import-std-flamelet) (gui-write-pdf) (ti-write-pdf) (write-pdf) (gui-read-pdf) (ti-read-pdf) (read-pdf)

(gui-interp-data)

(ti-zone-selection-interp-data) (ti-write-interp-data) (ti-read-interp-data) (interp-data)

(gui-import-chemkin) import-chemkin: n/a

(gui-import-cgns-mesh-data) (gui-import-cgns-data)

(ti-import-cgns-mesh-data) (ti-import-cgns-data) (cgns-mesh-data-read) (cgns-data-read)

(update-solver-threads) (ti-write-fan-profile) (write-fan-profile) (gui-write-hosts) (ti-write-hosts) (write-hosts) (gui-read-hosts) (ti-read-hosts) (read-hosts)

(read-isat-table) (ti-read-isat-table) (gui-read-isat-table) (write-isat-table) (ti-write-isat-table) (gui-write-isat-table) (gui-write-surface-globs) (ti-write-surface-globs) (write-surface-globs)

(gui-write-boundary-grid) (ti-write-boundary-grid) (write-boundary-grid) (gui-reread-grid) (ti-reread-grid) (reread-grid)

(gui-read-sample) (read-sample)

(default-transport-filename) (thermodb-filename)

(default-thermodb-filename) (gui-write-existing-profile) (ti-write-existing-profile) (write-existing-profile) (gui-read-profile)

(ti-read-transient-table) (ti-read-profile)

(read-transient-table)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 30

(read-profile)

default-filename: n/a (check-data) (check-grid)

cl-file-package: [list] (...) (suffix-expand-filename) (gui-import-data) (ti-import-data) (gui-imp-vki)

(gui-import-case) (ti-import-case) (%import-by-filter) (gui-write-case-data) (ti-write-case-data) (write-case-data)

(ti-read-surface-mesh) (gui-read-surface-mesh) (read-surface-mesh)

(gui-read-zone-grid-data) (ti-read-zone-grid-data) (read-zone-grid-data) (gui-read-case-data) (ti-read-case-data) (read-case-data) (append-data) (gui-write-data) (ti-write-data) (write-data) (gui-read-data) (ti-read-data) (read-data)

(gui-write-case) (ti-write-case) (write-case) (gui-read-zone) (ti-read-zone) (read-zone)

(gui-read-case) (ti-read-case) (read-case)

(client-case-data-pattern) (client-case-pattern) (ti-set-file-format)

(client-show-configuration)

*client-run-time-release*: [string] 3 (ok-to-discard-data?) (ok-to-discard-case?) (canonicalize-filename) (strip-version)

(string-suffix-ci?) (client-check-grid) (client-check-case) (changing-mesh?)

clrelease.provided: [boolean] #t

*client-library-run-time-release*: [string] 3

clfiles.provided: [boolean] #t (gui-select-solution-zones) (set-uds-var) (get-uds-var)

(uds-models-changed)

(check-uds-solution-zones) (reset-uds-solution-zones) (set-uds-defaults)

(set-uds-variables-length) (set-coupled-uds-bc) (uds-vars-compat) (tui-models-uds) (gui-models-uds)

(addon-compat-read-case-fcns) (addon-compat)

(addon-compat-udf/libname)

addon-compat-loops-required?: [boolean] #f (acdbg-) (acdbg+)

addon-compat-dbg: [boolean] #f (latest-udf-name) (udf-from-lib?) (udf-latest-lib-part) (udf-lib-part) (udf-fcn-part) (split-udf-name)

(addon-module-name-compat)

custom-udf-history-lists: [list] (...) addon-module-history-lists: [list] (...) (udf-compat-read-case-fcns) (udf-compat) (lib-dirname) (lib-basename)

(gui-manage-udf-libraries) (gui-open-udf-library) (ti-compile-now)

(ti-mrf-to-sliding-mesh) (mrf-to-sliding-mesh) (new-interface-name)

(inquire-acoustic-thread-names) (bc-summary)

(domainvars-rpvars-compat) (initialize-domain-menus) (ti-set-type-domain-vars) (read-domain)

(gui-domains-manage) (clear-and-hide-panel) (download-domains) (get-all-domain-vars) (create-case-domains)

(create-case-domains-of-type) (default-domain-name) (%get-domain-by-name) (%get-domain-by-id) (get-domain) (domain?)

(inquire-domain-names)

(inquire-primary-phase-domain) (domain-type) (domain-id) (domain-name) (domains-compat) (set-sfc-values)

mphase-zone-vars-compat: [list] (...) (get-phase-threads-with-id) (next-domain-id)

(delete-phase-domain) (add-phase-domain) (domain-nspe)

(get-domain-material) (set-domain-material!) (update-domains) (domains-changed)

(get-domains-manage-panel) (get-all-domains)

(get-interaction-domains) (get-phase-domains) (get-geom-domains) (get-domains-of-type) reorder-domains: n/a (free-domains) (delete-domain) (create-domain)

default-domain-id: [number] 1 (draw-slice)

(poly-draw-clusters) (poly-draw-cluster)

polyhedra-menu: [list] (...)

polyhedra/options-menu: [list] (...) (ti-parallel-migration-by-file) (ti-convert-skewed-cells)

(gui-skewness-based-polyhedra) (delete-void-polygonal-faces) (check-polyhedra-mesh)

(make-skewed-cells-polyhedra) (create-dual)

(handle-nonconvex-and-bad-cells)

(merge-decompose-nonconvex-polyhedra-cells) (merge-nonconvex-polyhedra-cells)

(decompose-nonconvex-polyhedra-cells)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 31

(count-nonconvex-and-bad-cells) (count-nonconvex-cells)

decompose-bad-cells?: [boolean] #t decompose-left-handed-face-cells?: [boolean] #t

(poly-smooth-laplace-nonconvex-cells) (poly-smooth-laplace-squished-cells) (poly-smooth-laplace-all-cells) (create-polygonal-faces) (create-dual-mesh)

(remesh-polyhedra-cells) (agglom-cell-skew) (agglom-edge-span)

(post-create-polyhedra) (pre-create-polyhedra)

fan-threads-vars: [list] (...) fan-threads: [list] (...)

interface-threads: [list] (...) (io-migration)

(set-dual-conversion-feature-angle) (all-polyhedra-possible?) (polyhedra-possible?) (ti-auto-hide-cells)

(ti-unhide-skewed-cells) (ti-hide-skewed-cells) (download-hidden-cells) (free-virtual-cells) (rehide-skewed-cells) (check-settings)

(shell-conduction-enabled?) (draw-shell-junction) (draw-shell) (free-shells)

(create-case-shells) si-menu: [list] (...) (ti-use-virtpoly-algo)

(ti-make-periodic-interface) (ti-draw-zones)

(ti-list-sliding-interfaces) (list-sliding-interface) (ti-delete-all-si)

(delete-all-sliding-interfaces) (ti-delete-si) (ti-create-si) (si-thread?)

(gui-grid-interfaces)

(find-si-adjacent-threads) (find-partner) (partners-list)

(inquire-si-threads)

(sliding-interface-thread?) (interface-in-use?)

(update-sliding-interface-write-case) (check-valid-interface)

(case-has-si-face-periodics?) (delete-sliding-interface) (recreate-sliding-interfaces)

(delete-sliding-interface-case-threads) (interior-to-coupled)

(add-coupled-fluid-zones) (create-sliding-interface) (update-sliding-interfaces) (update-si)

(create-sliding-interface-threads) (create-si-threads)

(build-sliding-interface-grids) (build-si-grids)

(build-si-compatibility) (si-compat)

(gui-user-fan-model) (ti-user-fan-model)

(register-user-fan-monitor) (user-fan-monitor) (update-user-fans) (user-fan-command) (user-fan-input-name) (user-fan-output-name) (list-flow-init-defaults) (thread-name-default) (inquire-grid-threads) (file-grid-quality) (grid-quality) (grid-check)

ti-target-mfr-menu: [list] (...) threads-package: [list] (...)

(remove-deactivated-threads-from-lists) (get-all-cell-threads)

(move-from-nosolve-threads) (move-to-nosolve-threads)

(delete-all-threads-of-phase) (get-nosolve-phase-threads)

(get-nosolve-face-cell-threads) (get-phase-threads) (get-all-threads) (get-face-threads) (get-cell-threads) (reorder-threads) (free-threads)

(delete-single-thread) (delete-thread) (%create-thread) (copy-thread) (create-thread)

(is-rotational-periodic?) (create-thread-for-domain) (gui-update-wall-thread-list) (gui-threads-copy) (ti-copy-bc)

(copy-thread-bc) (set-thread-vars) (get-thread-vars) (gui-threads-manage)

cell-type-menu: [list] (...)

external-type-menu: [list] (...) internal-type-menu: [list] (...) periodic-type-menu: [list] (...) (pick-thread-type)

(initialize-thread-menus) (initialize-thread-lists) (get-all-thread-types) (get-cell-types)

(get-external-types) (get-internal-types) (get-periodic-types) (thread-type-ignore?)

(thread-type-index->name) (thread-type-name->rename) (%thread-type-name->index) (thread-type-name->index)

thread-type-list: [list] (...) (toggle-separate-thread) (ti-replace-zone) (gui-replace-zone) (replace-zone)

(ti-activate-cell-threads) (ti-deactivate-cell-threads) (update-scheme-threads)

(gui-activate-cell-threads) (gui-deactivate-cell-threads) (deactivate-cell-thread)

(ti-delete-all-shell-threads) (ti-create-all-shell-threads) (ti-delete-cell-threads) (gui-delete-cell-threads) (activate-cell-thread) (delete-cell-thread)

(cell-thread-has-degenerate-face-threads) (ti-extrude-face-thread-parametric) (ti-extrude-face-thread-delta) (extrude-thread) (gui-merge-threads) (ti-merge-threads) (merge-like-threads) (merge-threads)

(gui-separate-cell-thread)

(ti-separate-cell-thread-by-region)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 32

(ti-separate-cell-thread-by-mark) (gui-separate-face-thread)

(ti-separate-face-thread-by-region) (ti-separate-face-thread-by-angle) (ti-separate-face-thread-by-face) (ti-separate-face-thread-by-mark) (ti-slit-periodic) (slit-periodic)

(ti-repair-periodic) (ti-create-periodic) (create-periodic) (gui-fuse-threads) (ti-fuse-threads) (fuse-threads)

(ti-orient-face-thread) (orient-face-thread)

(sew-all-two-sided-walls) (sew-two-sided-wall)

(slit-all-two-sided-walls) (slit-two-sided-wall) (ti-slit-face-thread) (slit-face-thread) (thread-prop)

(thread-materials) (read-thread-names)

(read-cell-thread-id-list)

(read-boundary-thread-id-list) (read-thread-id-list) (read-thread-id)

(read-boundary/interior-thread-list) (read-cell-thread-list)

(read-boundary-thread-list) (read-wall-thread-list) (read-boundary-thread) (read-thread-list) (read-thread)

(ti-set-type-thread-reference-values) (ti-set-type-thread-flow-inits) (ti-set-type-thread-vars) (set-thread-type!) (ti-set-thread-type) (ti-per-pg-bc) (ti-per-mfr-bc) (read-flow-dir) fl-dir-z: n/a fl-dir-y: n/a fl-dir-x: n/a

(ti-set-thread-name)

(get-fluid-thread-material) (thread-type-name->object) (inquire-thread-names) (thread-name->id) (thread-id->name) (thread-var) (thread-kind) (thread-type) (thread-name)

(thread-domain-id) (thread-id) (cell-thread?)

(non-periodic-boundary-thread?) (boundary-thread?) (wall-thread?)

(internal-thread?) (get-all-thread-vars)

(list-groupthreads-openchannel) (list-threads) (thread?)

(get-boundary-threads) (get-threads-of-type) (get-phase-thread) (%get-thread-by-name) (%get-thread-by-id) (get-thread)

(cleanup-case-surfaces) (create-case-threads) (mp-vars-compat) (string-has-token?) common-phase-bc-types?: [boolean] #t acoustics-menu: [list] (...)

display-flow-time?: [boolean] #f (ti-ac-write-centroid-info) (ti-compute-and-write) (ti-write-pressure) (correl-func) (ffowcs-func)

(ti-receivers-specification) (ti-source-specification) (ti-read-and-compute) (numbers)

(gui-models-acoustics) (sqr)

(enable-fwh?) (enable-correl?)

export-fluid-zones?: [boolean] #f (sources-button-on?) (receivers-button-on?) correl: [boolean] #f

on-the-fly-toggle: [boolean] #f export-data-toggle: [boolean] #f none: [boolean] #f fwh: [boolean] #f export: [boolean] #f (acoustic-reader-gui) (files-exist?) (get-rec-num) (receivers-gui)

(acoustics-write-sound-gui) (receiver-changed?) (thread-acoustic-gui) (update-index-file) (default-index-file) (append-ac-file)

(write-next-acoustic-timestep) (write-to-asd-file)

(open-acoustic-file-for-write) (ac-write-centroid-info)

(inquire-adjacent-threads-general) required-recs-list: [list] (...) (ac-steady?)

(ac-fwh-steady?) (ac-unsteady?)

(acoustics-trans-freq-proc)

(acoustics-file-write-and-compute) (append-file-name-to-index-file) (get-receiver)

(acoustics-model-changed) (allow-acoustics-model)

allow-acoustics-model?: [boolean] #t (qsort-list-by-symbol) (qsort-string) (qsort-real) (qspartition) (sort!) (sort)

qsort.provided: [boolean] #t (rampant-repl)

(rampant-initialize) (exit-rampant) (call-from-gui?) (shutdown-lam)

(check-lam-mpi-tasks)

list-compute-nodes-process-count: n/a wipe-compute-node?: n/a (isetvar)

(client-ti-set-var)

(install-par-err-handler) (update-env-vars) (ti-set-var)

(client-ti-set-window-var) (ti-set-window-var) (inquire-plot-info) (update-physical-time) (physical-time-steps) (unsteady-iterate-hook) (init-flow)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 33

(check-ensight-files) (init-s2s) (init-dtrm) (ti-patch) (ti-iterate) (iterate)

(dynamic-mesh-suspend-surfaces) (ideal-gas?) (set-config) (check-bcs) (dpm-cache?) (rp-thread?) (rp-host?)

(rp-graphics?) (rp-double?) (rp-3d?)

(sg-moistair?) (sg-wetsteam?) (sg-solar?) (sg-vfr?) (sg-uds?) (sg-udm?) (sg-swirl?) (sg-spark?) (sg-sox?) (sg-soot?) (sg-s2s?) (sg-rsm?)

(sg-rosseland?) (sg-pull?)

(sg-premixed?)

(sg-pdf-transport?) (sg-pdf?) (sg-pb?)

(sg-par-premix?) (sg-p1?)

(sg-mphase?) (sg-micro-mix?) (sg-melt?) (sg-nox?)

(sg-noniterative?) (sg-network?) (sg-ignite?) (sg-dynmesh?) (sg-dtrm?) (sg-dpm?) (sg-crev?)

(sg-bee-gees?) (sg-disco?)

(sg-cylindrical?) (rp-v2f?) (rp-visc?)

(rp-absorbing-media?) (rp-turb?) (rp-trb-scl?) (rp-spe-surf?) (rp-spe-site?) (rp-spe-part?) (rp-spe?) (rp-sge?) (rp-sa?) (rp-react?) (rp-net?) (rp-lsf?) (rp-les?) (rp-lam?) (rp-kw?) (rp-kklw?) (rp-ke?)

(rp-inviscid?) (rp-hvac?) (rf-energy?) (rp-amg?)

(rp-dual-time?) (rp-unsteady?) (rp-dpm-cache?) (rp-des?) (rp-axi?) (rp-atm?)

(rp-acoustics?) (rp-seg?)

(validate-disc-schemes)

(update-cx-client-information) (update-bcs) (bcs-changed) (models-changed)

(inquire-version-command) (inquire-version) (rf-cache-config) (inquire-config)

(client-monitor-freq-proc) (rp-2d?)

(object-parent) (object?)

(environment-parent) (environment?)

system-global-syntax-table: [list] (...) (syntax-table-define)

object.provided: [boolean] #t (update-menubar)

(client-update-menubar)

(gui-reset-symbol-list-items) (gui-menu-insert-subitem!) (gui-menu-insert-item!) (gui-not-yet-implemented) clgui.provided: [boolean] #t (client-set-var) (client-get-var) (client-var-define) (domainsetvar) (domaingetvar) (rpsetvar) (rpgetvar)

(inquire-all-versions) (gui-rampant-run) (choose-version) (cx-gui-rsf)

(inquire-option)

communicator: [boolean] #f (rampant-file-version) (rampant-run) (fluent)

(cx-transform-turbo-surf) (cx-create-turbo-surf) (cx-set-zero-dir) (cx-set-turbo-axis)

(%cx-set-average-direction) (cx-surface-write-values) (%surface-integrate) (%cx-zone-get-min-max) (%iso-zone) (%iso-surface)

(%old-planar-point-surface) (%planar-point-surface) (%point-surface)

(%cx-is-arc-surface)

(cx-exchange-node-values) (%cx-surface-fill-temp) (%cx-surface-get-min-max) (cx-activate-fast-iso) (cx-suspend-fast-iso) (%cx-end-fast-iso) (%cx-start-fast-iso) (probe-surface-info) (track-surface-on-zone) (track-surface)

(%display-surface-elements) (%iso-clip)

(%transform-surface) (%cell-surface) (%zone-surface) (%surface-append!) (%delete-surface) (%free-surfaces)

(%domain-var-value-set!) (%domain-var-value)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 34

(%rp-var-value-set!) (%rp-var-value) (%rpgetvar)

(rp-var-clear-cache)

(%check-if-at-time-interval) (get-pwd)

(ref-pressure-point) (%reset-bnd-flags) (%poly-optimize-mesh) (%poly-draw-slice) (%poly-draw-cluster)

(mesh-has-polygonal-faces?) (mesh-has-polyhedra?) (%check-polyhedra-mesh)

(%poly-merge-decompose-nonconvex-cells) (%poly-merge-nonconvex-cells)

(%poly-split-nonconvex-cell-faces) (%poly-decompose-nonconvex-cells) (%poly-count-nonconvex-cells) (%poly-set-decompose-bad-cells) (%poly-smooth-laplace)

(%poly-set-dual-conversion-feature-angle) (%polyhedra-method)

(%lsq-init-reconstruction) (%set-chimera-boundary) (%delete-overlap) (%clear-overlap) (%update-overlap) (%create-overlap)

(mesh-has-hanging-nodes?) (mesh-is-adapted?) (mesh-has-hexahedra?) (mesh-hexahedral?) (mesh-unstructured?) (%max-cell-skewness) (%reset-hidden-cells) (inquire-sub-threads) (%upload-hidden-cells) (%download-hidden-cells) (%merge-skewed-cells) (%separate-skewed-cells) (%unhide-cells) (%hide-cells)

(%set-exchange-order) (%dump-section-heads) (%draw-particle-data) (%read-particle-file)

(%fast-io-transfer-dumps) (%write-network-history) (%network-temperature) (%set-network-var) (%get-network-nb) (%get-network-var)

(%ignition-parameters-changed) (%set-ensight-variable)

(%set-ensight-transient-export) (%write-ensight-file) (%write-fv-file) (%write-fv-header) (%set-particle-vars) (%set-injections)

(%init-crevice-memory) (%free-crevice-memory) (%compute-pbmom-coeff) (%run-udf-apply)

(%set-acoustic-machine-config-flag) (%read-acoustic-receivers-data) (%write-acoustic-receivers-data) (%free-all-receivers)

(%initialize-sound-array) (%process-and-plot) (%finish-fft-process) (%write-sound-pressure) (%set-adjacent-cell-zone) (%extract-acoustics-signals)

(%compute-acoustics-sound-pressure-steady) (%compute-acoustics-sound-pressure) (%set-acoustic-read-threads) (%initialize-acoustics-file-for-read) (%pick-recs-for-read-and-compute) (%set-acoustics-receivers)

(%read-acoustic-next-timestep) (%write-acoustic-data)

(%single-rotating-reference-frame?) (%acoustics-do-after-initialize) (%set-ac-cylindrical-export) (%set-ac-auto-prune)

(%set-ac-display-flow-time)

(%set-acoustic-fluid-zone-data-export) (%ac-write-centroid-info) (%which-domain)

(%domain-super-domain) (%domain-sub-domain) (%set-domain-variables) (%free-phase-domain) (%create-phase-domain) (test-migrate-shell) (%delete-shell)

(%draw-shell-junction) (%report-shell-status) (%free-shell) (%create-shell)

(%shell-threads-to-patch) (%delete-all-shells) (%disable-all-shells) (%create-all-shells) (case-has-shells?)

(%check-coupled-thread) (hanging-or-sliding-mesh?) (host-domain-filled?) (solver-cpu-time) (unstr-hxc?)

(set-heat-transfer-table) (report-connectivity) (delete-hxg)

(over-ride-zone)

(write-macro-report) (get-hxc-info)

(set-effectiveness-table) (set-hxc-enthalpy) (get-hxc-dimension) (%draw-macro) (init-hxg-model)

(%allocate-hxg-memory) (%free-all-hxgs)

(phase/total-volume)

(initialize-unsteady-velocity) (initialize-unsteady-statistics) (%init-wetsteam) (%init-disco)

(%dpm-alloc-unsteady-coupled-memory) (dpm-convert-implicit-momentum-sources) (%stop-particle-history) (%start-particle-history) (pathline-print-summary) (dpm-print-cache-report) (%dpm-suggest-nthreads) (%dpm-get-nthreads) (%dpm-set-nthreads) (%open-isat-library)

(%dpm-renumber-particles)

(%dpm-delete-wallfilm-particles) (%dpm-delete-freestream-particles) (%dpm-particle-summary-all) (%dpm-particle-summary)

(%dpm-init-unsteady-particles) (dpm-clear-all-particles) (dpm-print-summary) (dpm-get-summary)

(dpm-inquire-summary-names-sectioned) (dpm-inquire-summary-names)

(dpm-inquire-particle-functions-sectioned) (dpm-inquire-particle-functions) (dpm-inquire-particle-types) (dpm-list-injections) (dpm-get-min-max-units)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 35

(dpm-compute-pathlines) (dpm-flush-sources) (%dpm-free-injections) (%dpm-delete-injection) (%dpm-set-injection)

(dpm-parameters-changed) (who-am-i)

(%contact-monitor) (%set-node-env) (%gethostenv)

(%change-isat-params) (%isat-table-size) (%kill-isat-table) (%write-isat-table) (%read-isat-table) (clear-pdf-particles) (init-pdf-particles) (%mole-mass-conversion) (%set-par-premix-props)

(%inquire-par-premix-props) (%calc-par-premix-props) (%calc-pdf-table)

(flamelet-data-valid?) (flamelet-data-modified?) (pdf-table-valid?) (pdf-table-modified?) (%free-pdf-memory)

(%check-species-in-thermo-db) (%set-pdf-mixture-with-flamelet) (inquire-pdf-species) (%pdf-init) (pdf-type) (%init-ufla)

(%import-flamelet) (%write-flamelet) (%calc-flamelet) (%read-pdf) (%write-pdf)

(kinetics-chemkinfile?) (%kinetics-reinitialize) (%kinetics-finish)

(%kinetics-monitor-cell) (%kinetics-set-parameters) (%kinetics-solve-unsteady) (%kinetics-solve-steady) (%load-kinetics-library) (%report-each-line) (%import-chemkin)

(%print-species-in-thermo-db) (%read-specie-thermo-data) (%delete-all-sgroups) (%group-s-globs)

(%write-surface-globs)

(%write-solar-source-data) (%do-update-solar-load) (%init-solar-model) (%solar-on-demand) (%compute-solar-pos) (s2s-glob-ok?) (s2s-set-glob-ok) (s2s-globs-done?) (s2s-set-globs-done) (%update-s2s-memory) (%read-sglobs-vf) (%read-sglobs) (%sglob-info)

(update-storage-before-s2s) (%read-s2s-cells) (%group-s2s-cells)

(%delete-all-s2s-groups)

(%print-zonewise-radiation-gui) (%print-zonewise-radiation) (%print-thread-clusters) (dtrm-rays-ok?) (dtrm-set-rays-ok) (dtrm-globs-done?) (dtrm-set-globs-done) (%read-rays) (%ray-trace)

(update-storage-before-dtrm) (%delete-all-groups) (%group-cells) (display-globs) (%insert-rays)

(%display-curr-display-glob) (%change-curr-display-glob) (execute-udf-eval)

(%enable-dynamic-mesh-node-ids) (%ic3m-init-node-coordinates) (%ic3m-init)

(%ic3m-open-library) (%layer-at-zone)

(%execute-cell-layering-events) (%push-dynamic-mesh-events) (%remesh-local-threads)

(%remesh-local-prism-faces) (%print-remesh-cell-marks) (%draw-remesh-cell-marks) (%mark-remesh-cells) (%remesh-local-cells) (%print-forces-moments) (modify-lift) (%compute-lift)

(%compute-motion-matrix) (inquire-motion)

(%find-cell-at-location) (%prismatic-layer) (%insert-cell-layer) (remesh-cell-region) (subdivide-mesh-layer) (%refine-mesh-by-mark)

(%contour-node-displacement) (%count-skewed-cells-on-zone) (%get-max-skewness-on-zone)

(%get-min-max-length-scale-on-zone) (%check-dynamic-mesh)

(%steady-update-dynamic-mesh) (%update-dynamic-mesh) (%update-dynamic-threads) (%free-dynamic-mesh)

(%delete-dynamic-thread) (%create-dynamic-thread) (%download-dynamic-threads) (%init-dynamic-mesh)

(%create-dynamesh-node-grids) (%rpboundary-check-dev)

(%mixing-planes-out-of-tol)

(%separate-virtpoly-wall-thread) (%mark-thread-itmp) (%init-thread-itmp)

(%duplicate-single-connected-nodes) (%inquire-si-parents) (%inquire-si-mperiodics) (%list-sliding-interfaces) (%free-sliding-interfaces) (%clear-sliding-interfaces) (%delete-extended-threads) (%delete-sliding-interface) (%update-sliding-interfaces) (%update-sliding-interface) (%create-sliding-interface) (%clean-up-sliding-interfaces) (%sliding-mesh?)

(%non-conformal-mesh?) (%non-conformal-count) (set-relaxation-method) (%invalidate-storage)

(set-residual-history-size) (%open-udws-library) (%open-udrg-library) (%open-rgas-library) (%check-udf-name) (%close-udf-library) (%open-udf-library) (%user-function-list) (%chip-exec)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 36

(%chip-link)

(%execute-at-exit) (%execute-at-end) (%udf-on-demand) (%chip-listing)

(%chip-compile-file) (%draw-oned-cell)

(%advance-oned-solution) (%update-oned-bcs) (%create-oned-udfs) (%start-oned-library) (%close-oned-library) (%open-oned-library) (%initialize-storage) (%sample-min-max) (%sample-bins) (%delete-sample) (%sample-list)

(%read-sample-file) (%get-zone-heatflux)

(%get-species-from-udrgm) (%report-zones-torque) (%get-zone-torque) (%initialize-nr-bcs)

(%display-profile-points) (%write-fan-profile) (%profile-list) (%delete-profile)

(%create-oriented-profile) (%any-thread-has-profile?)

(%update-mixing-plane-profile) (%create-mixing-plane-profile) (%update-dynamic-profiles) (%free-profiles) (%write-nodemap) (set-zone-vars)

(import-visual-file) (%write-vis-object) (%print-hdf-error)

(%write-ice-hdf-export) (%write-ansys-export) (%write-cgns-export)

(%write-vortex-method-section) (%write-profile-section) (%read-transient-table)

(%read-vortex-method-section) (%read-profile-file) (%read-profile-section)

(%inquire-interp-field-names) (%interpolate-cell-thread-data) (%write-interp-data) (%filter-data)

(%update-storage-phase-walls) (%properties-need-update) (%inquire-property-methods) (%inquire-properties) (%property-methods) (%list-reactions) (%free-materials) (%delete-material) (%create-material) (%set-material!) (inquire-timers) (print-flow-timer) (print-data-timer) (print-case-timer)

(end-write-data-timer) (start-write-data-timer) (end-write-case-timer) (start-write-case-timer) (end-read-data-timer) (start-read-data-timer) (end-read-case-timer) (start-read-case-timer) (clear-flow-timer) (clear-data-timer) (clear-case-timer) (print-timer-history) (clear-timer-history) (init-timer-history) (clear-domain-timers) (%write-hosts-file) (%read-hosts-file) (%list-hosts) (%delete-host)

(%delete-all-hosts) (%add-host)

(get-parallel-communicator) (check-compute-nodes-unique?)

(%list-compute-nodes-process-count) (%list-compute-nodes) (update-after-migration) (%internet-dot-address) (prf-update-all-rpvars) (%prf-spawn) (d-prf-set-var) (prf-set-var)

(prf-set-partition-mask)

(%set-check-partition-mismatch) (%prf-flush-message) (prf-exit)

(prf-command-finished)

(fill-any-storage-allocated) (%allocate-parallel-io-buffers) (%query-parallel-io-buffers)

(%limit-parallel-io-buffer-size) (%free-parallel-io-buffers)

(%resolve-duplicate-hanging-nodes) (%dpm-sync)

(%dpm-node-locate-particles) (%dpm-host-locate-particles) (%dpm-node-to-host-particles) (%dpm-host-to-node-particles) (%dpm-host-to-node-source) (%node-to-host-solution) (%free-host-domain) (%fill-host-domain)

(%dpm-fill-host-domain) (%create-neighborhood)

(kill-zero-cell-compute-nodes) (kill-compute-node) (emmit-signal)

(%install-new-err-handlers) (%get-kill-cmds) (%is-writable?) (%get-process-ids)

(show-virtual-machine)

(print-time-stamps-to-file) (print-global-timer-offsets) (calculate-global-timer-offset) (mp-clear-send-recv-time-stamps) (mp-clear-timer) (mp-wall-time)

(mp-get-tcp-chunk-size) (mp-set-tcp-chunk-size) (mp-set-comm-timer)

(%mp-set-exchange-size) (%mp-set-socket-size) (mp-debug) (mp-trace)

(mp-allow-suspend) (mp-set-suspend)

(mp-set-generic-gop) (%mp-set-time-out) (prf-print-vars)

(compute-node-count) (rp-host-id)

(rp-host-set-var-cache) (rp-host-function)

(probe-all-marked-cell-info) (probe-marked-cell-info) (probe-thread-info) (upload-thread-vars) (download-thread-vars) (%write-data)

(%write-surface-grid)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 37

(%write-case)

(%read-sectioned-file) (initialize-domain-vars) (domain-var-default) (domain-var-units)

(domain-var-value-define) (domain-var-value-set!) (domain-var-value) (domain-var-define) (domain-var-object) (rp-var-default) (rp-var-units)

(rp-var-value-define) (rp-var-value-set!) (rp-var-value) (rp-var-define) (rp-var-object)

(inquire-build-time) (inquire-release) (%residual-history) (thread-normal)

(%volume-integrals)

(domain-thread-integrals) (inquire-grids)

(debug-cell-and-face) (print-model-timers) (%grid-debug)

(have-read-partitioned-case?) (%grid-quality)

(%grid-check-duplicate-nodes)

(%grid-check-partition-encapsulation) (%grid-check)

(%compute-wall-distance) (%convert-data-to-absolute) (%convert-data-to-relative) (%reset-thread-element-type) (%rotate-grid) (%translate-grid) (%scale-grid)

(reset-residuals)

(%repair-rotational-periodic-angles) (%repair-translational-periodic) (%repair-rotational-periodic) (%merge-periodic) (%split-periodic)

(%inquire-pv-options) (%inquire-equations)

(%inquire-patch-variable-names) (patch)

(%set-uds-variables)

(get-thread-derived-variables) (%set-thread-id)

(set-thread-variables) (%set-thread-type) (thread-empty?) (thread-exists?)

(update-before-data-write) (update-after-data-read) (update-before-data-append) (update-before-data-read)

(%delete-void-polygonal-faces) (%build-grid) (%init-grid) (par-next-val) (set-affinity) (bandwidth) (proc-stats)

(misc-mem-stats) (mem-stats)

(display-thread-sv-data) (display-thread-sv)

(display-memory-on-thread) (display-memory) (print-build-times) (dump-memory)

(display-infinite-storage) (display-constant-storage) (display-untouched-storage) (delete-untouched-storage) (reorder-stores) (display-storage)

(minimize-node-storage) (minimize-storage) (display-tuples)

(garbage-collect-tuples) (fluent-exec-name) (fluent-arch) (%clear-domain)

(inquire-adjacent-threads)

(%reset-inquire-all-adjacent-threads) (%inquire-all-adjacent-threads) (inquire-nosolve-face-threads) (inquire-network-face-threads) (inquire-network-cell-threads) (inquire-geometry-threads) (inquire-face-threads) (inquire-cell-threads) (inquire-mesh-type)

(%inquire-cell-vector-functions) (%get-flamelet-1d-array)

(%inquire-flamelet-2d-functions) (%inquire-flamelet-1d-functions) (%inquire-flamelet-type) (%inquire-pdf-type)

(%grid-pdf-2d-function) (%contour-pdf-2d-function) (%get-pdf-1d-array) (%get-pdf-curve)

(%unsteady-pdf-parameters-changed) (reverse-oppdif-import-order) (%fill-flamelet-2d-function) (%fill-pdf-2d-function)

(%inquire-pdf-2d-functions) (%inquire-pdf-1d-functions) (%set-condensed-specie)

(%inquire-cell-functions-sectioned) (%inquire-cell-functions) (solver-statistics) (solver-residuals)

(%cure-face-handedness) (%repair-face-handedness)

(%repair-face-to-cell-threads) (%advance-particles) (%iterate-time-step) (%reset-vof-solution) (%update-vof-solution) (%update-physical-time) (%iterate) (flow-init)

(fmg-flow-init)

(fill-face-threads) (%get-min-max-info) (%cell-only-field?)

(%fill-face-thread-values) (%fill-cell-values) (%fill-node-values) (%get-func-unit) (thread-extents) (domain-extents) (%reset-node-list) (%set-machine-valid) (%set-grid-valid) (%set-data-valid) (%set-case-valid) (data-modified?) (case-modified?) (grid-modified?) (machine-valid?) (data-valid?) (case-valid?) (grid-valid?) (%save-data-id) (%save-case-id) (update-case-id) (print-bandwidth)

(%update-thread-storage)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 38

(%reorder-threads) (%reorder-domain)

(reorder-cells-by-position) (%remove-orphan-bridge-faces) (%encap-mult-shadow-nodes) (print-partitions) (print-domain)

(%merge-like-threads) (%free-changed-id-list) (update-thread-ids)

(%scan-n-store-grid-sections) (%scan-sectioned-file) (%read-sectioned-zone) (%finish-read-zone)

(%create-phase-threads) (%get-changed-ids) (%init-read-zone)

(%create-face-and-shadow-pair) (%activate-cell-thread) (%check-flag?)

(%deactivate-cell-thread) (%delete-cell-thread) (%delete-face-thread)

(%degenerate-face-thread) (%merge-threads) (%fuse-threads)

(%extrude-face-thread) (%reset-new-thread-map) (%inquire-new-thread-map)

(%separate-cell-thread-by-region) (%separate-cell-thread-by-mark) (%separate-face-thread-by-region) (%separate-face-thread-by-angle) (%separate-face-thread-by-face) (%separate-face-thread-by-mark) (%sew-two-sided-wall)

(%sew-all-two-sided-walls) (%slit-two-sided-wall)

(%slit-all-two-sided-walls) (%slit-face-thread) (%orient-face-thread) (%smooth-partition) (%reorder-partitions)

(%merge-partition-clusters)

(%copy-active-partition-to-stored) (%combine-partition)

(%inquire-must-pretest-partition-functions) (%inquire-pretest-partition-functions) (%inquire-partition-picks)

(%inquire-partition-functions) (%repartition-by-zone)

(set-partition-in-marked-region) (initialize-partition-id) (partition-count)

(set-selected-partition) (partition)

(%auto-partition)

(%auto-encapsulate-si) (encapsulate-si)

(set-case-buffer-size) (get-case-buffer-size) (print-neighborhood) (sync-solution)

(%number-of-stored-cells-migrating) (%repartition-domain) (%migrate-partitions)

(%print-migration-statistics) (%copy-dest-part-to-stored) (%migrate-cells-before-slide) (%migrate-cells-after-slide) (%migrate-cells) (%relabel-entities)

(%balance-before-kill-node)

(%calculate-balanced-partitions) (%migrate-shell-back) (%valid-partition-id?) (generate-fpe) (cell-bins) (%swap-mesh-faces) (%smooth-thread) (%smooth-mesh)

(%update-thread-geom-controls) (%free-sizing-functions) (%draw-bridge-nodes) (%fill-bridge-nodes) (%free-parents)

(%unmake-hanging-interface) (%make-hanging-interface) (%refine-mesh-hang) (%adapt-mesh-hang) (%refine-mesh) (%adapt-mesh)

(%unmark-cells-by-volume-and-level) (%mark-percent-of-ncells) (%mark-inside-cylinder) (%mark-inside-sphere) (%mark-inside-hex) (%mark-cell)

(%mark-inside-iso-range)

(%mark-boundary-cells-per-thread) (%mark-with-yplus-per-thread) (%mark-with-refine-level) (%mark-with-volume-change) (%mark-with-volume)

(%mark-with-boundary-volume) (%reset-boundary-proximity) (%mark-with-gradients)

(%not-bit-in-marked-cells) (%xor-bits-in-marked-cells) (%or-bits-in-marked-cells) (%and-bits-in-marked-cells)

(%copy-pair-bits-in-marked-cells) (%copy-bits-in-marked-cells) (%toggle-bit-in-marked-cells) (%set-bit-in-marked-cells)

(%clear-pair-bits-in-marked-cells) (%clear-bit-in-marked-cells) (%limit-marked-cells) (%count-marked-cells) (%clear-marked-cells)

(%clear-pair-bits-in-all-marked-cells) (%clear-bit-in-all-marked-cells) (%clear-all-marked-cells) (%clear-cell-function-names) (%set-species-model-flags) (%models-changed)

(materials-require-model-change?) (%rp-config)

(update-node-flags) (init-node-flags) (%delete-tmp-files)

(%delete-turbo-topology) (%define-turbo-topology) (xy-plot-turbo-avg) (calc-turbo-avg) (display-turbo-avg) (display-path-cone)

(display-domain-labels) (display-node-flags) (%function-type) (%get-zone-min-max) (display-marked-cells) (mouse-split) (fill-cx-array) (contour-surface)

(vector-function-surface) (velocity-vector-surface) (%thread-grid)

(grid-partition-boundary) (draw-symmetries)

(%inquire-periodic-transform-thread) (%inquire-periodic-transform) (draw-periodics)

(%partition-surface) (%apply-slice) (%read-cgns-data)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 39

(update-cell-function-lists)

client-monitor-solution-done: [boolean] #f *remain-timestep/iter*: [list] (...) *time/iteration*: [number] 0 (check-monitor-existence) (set-monitor-transient)

(monitor-transient-solution) (get-monitor-frequency) (show-solution-monitors) (clear-solution-monitors) (cancel-solution-monitor) (register-solution-monitor) (monitor-solution-done) (monitor-solution-message) (monitor-solution)

(client-set-version-info) (client-exit)

(upload-zone-vars) (download-zone-vars) (upload-cx-vars) (download-cx-vars)

cx-windows/hardcopy-menu: [list] (...) cx-windows/hardcopy/driver-menu: [list] (...)

cx-windows/hardcopy/ps-format-menu: [list] (...)

cx-windows/hardcopy/color-menu: [list] (...)

cx-windows-menu: [list] (...) (update-color-scale)

cx-windows/xy-menu: [list] (...) cx-windows/video-menu: [list] (...) cx-windows/text-menu: [list] (...) cx-windows/scale-menu: [list] (...) cx-windows/main-menu: [list] (...) cx-windows/axes-menu: [list] (...) (ti-set-window-pixel-size) (ti-set-window-aspect) (ti-hardcopy-window) (ti-set-window) (ti-close-window) (ti-open-window) (cx-display-ppm) (cx-display-image)

(cx-gui-hardcopy-options) (cx-gui-hardcopy) (cx-hardcopy-suffix)

(cx-hardcopy-file-filter) (cx-panelfig) (cx-graphicsfig)

(cx-set-small-window) (cx-preview-hardcopy) (cx-set-window-size)

(close-all-open-windows) (cx-set-window) (cx-close-window)

(cx-display-geom-window) (cx-open-window)

(cx-use-new-window?) (reset-png-format)

(client-valid-window-owner?) (client-assign-window-owner)

cxwindows.provided: [boolean] #t (ti-button-functions) (read-function) (ti-display-label)

(install-graphics-error-handler) (cx-reset-graphics) (open-segments) (delete)

*cx-render/cell/max*: [number] 0 *cx-render/cell/min*: [number] 0 *cx-render/node/max*: [number] 0 *cx-render/node/min*: [number] 0 *cx-render/units*: [boolean] #f *cx-render/domain*: [string] *cx-render/name*: [string] (cx-save-layout) (cx-save-case-state) (cx-set-case-defaults) (cx-inquire-colors)

(cx-inquire-marker-symbols-nt) (cx-inquire-marker-symbols) (cx-inquire-line-patterns) (cx-gui-button-functions) (cx-add-probe-function) (cx-update-probe-function)

(cx-current-probe-function-name) cx-button-functions: [list] (...) cx-probe-functions: [list] (...) cx-null-probe-name: [string] off (handle-selection) (popup-button)

(resize-other-windows) (zoom-3d-window)

(cx-add-button-to-toolbar) (cx-refresh-toolbar) (handle-key)

*cx-key-map*: [list] (...)

client-update-title-hook: [boolean] #f (cx-update-button-functions) (right-button-function) (middle-button-function) (left-button-function) (orbit-axes)

(print-marked-cell-info) (cx-show-probe-hooks) (cx-remove-probe-hook) (cx-install-probe-hook)

(cx-set-default-probe-hook) (cx-mouse-probe) (cx-mouse-orbit) (cx-mouse-dolly) (cx-remove-text) (cx-display-label) (cx-mouse-annotate)

(cx-interrupt-mouse-point) (cx-get-mouse-point)

(cx-highlight-selection) (cx-single-send) (cx-sendq)

(cx-set-io-busy-cursor)

(cx-get-kill-notification-method) (cx-set-kill-notification-method!) (cx-is-process-running?) (cx-get-current-process) (cx-set-current-process) (cx-command-port) (cx-trace)

(cx-kill-current-process) (cx-kill) (cx-send)

(cx-client-run) (cx-listen) (cx-run)

*cx-timeout*: [number] 300 *cx-trace*: [boolean] #f (cx-interrupt-client) (cx-interrupt) (menu-repl)

*cx-startup-file*: [boolean] #f *main-menu*: [list] (...) (cx-repl)

(%checkpoint)

(cx-install-checkpoint-hook) (%emergency)

(cx-install-emergency-hook) (cx-exit)

kill-script-filename: [string] (exit)

(cx-dialog-done)

(cx-multiple-file-dialog) (cx-file-dialog-nt) (cx-file-dialog) (chdir)

(cx-select-dialog)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 40

(cx-prompt-dialog) (cx-working-dialog) (cx-yes-no-dialog) (cx-ok-cancel-dialog) (cx-info-dialog) (cx-warning-dialog) (cx-error-dialog)

(monitor-send-exit-sig)

client-support-field-derivatives: [boolean] #f

(client-free-host-domain) (client-host-domain-filled?) (client-host?)

(client-max-partition-id) (client-set-cx-vars)

(client-get-coarse-surfaces) (client-set-coarse-surfaces)

client-support-coarse-surfaces?: [boolean] #f

(client-delete-surface)

(client-create-point-surface)

(client-activate-injection-surfaces) (client-display-dpm-pathlines) (client-compute-dpm-pathlines) (client-vector-function-surface)

(client-relative-vector-in-surface-plane) (client-relative-vector-surface) (client-vector-in-surface-plane) (client-vector-surface) (client-contour-surface) (client-draw-grid-zones) (client-draw-grid-outline) (client-draw-grid)

(client-draw-symmetries) (client-set-symmetry)

(client-selected-symmetry-planes) (client-all-symmetry-planes) (client-inquire-periodic) (domain-name->id)

(client-inquire-default-domain-name) (client-inquire-domain-ids-and-names) (client-has-multiple-domains?)

(client-support-relative-vectors?) (client-draw-grid-partitions?) (client-support-grid-partitions?) (client-support-grid-levels?) (client-add-monitor-command) (client-set-current-dataset)

(client-inquire-current-dataset) (client-inquire-datasets)

(client-support-multiple-data?) (client-copy-node-values-to-temp) (client-node-suff-temp?) (client-fill-face-zones) (client-cell-only-field?)

client-cell-only-fields: [list] (...) (client-fill-face-zone-values) (client-fill-cell-values)

(client-support-cell-values?) (client-fill-surf-node-values) (client-fill-node-values) (client-set-node-values)

(client-inquire-node-values)

(inquire-section-domain-list-for-cell-functions)

(inquire-domain-for-cell-vector-functions) (inquire-domain-for-cell-functions-sectioned)

(inquire-domain-for-cell-functions) (client-inquire-cell-vector-functions) (client-inquire-cell-functions-sectioned) (client-inquire-cell-functions) (client-zone-name->id) (client-zone-id->name)

(client-inquire-zones-of-type) (client-inquire-zone-types) (client-inquire-zone-name) (client-inquire-zone-names) (client-inquire-boundary-zones) (client-inquire-interior-zones) (client-inquire-zones) (client-inquire-bc-name) (client-inquire-axis)

(client-inquire-domain-extents) (client-unsteady?) (client-solver-sm?)

(client-inquire-reference-depth) (client-solver-axi?) (client-check-data) (client-set-time-step)

(client-inquire-flow-time) (client-inquire-time-step) (client-inquire-iteration) (client-inquire-title) (client-inquire-release) (client-inquire-version) (client-inquire-name)

*date/time-format*: [string] %b %d, %Y (cx-initialize) (cx-dot-pathname)

*cx-multithread*: [boolean] #f (cx-data-3d?) (cx-mesh-3d?) (cx-3d?) (cortex?)

(write-journal-file-part) (read-journal-file-part)

(read-journal-file-commands) (fnmatch)

(ti-read-scheme)

(ti-stop-transcript) (ti-start-transcript) (ti-macro-load) (ti-macro-save) (ti-execute-macro) (ti-stop-macro) (ti-start-macro) (ti-read-journal) (ti-stop-journal) (ti-start-journal) (cx-file-type)

*cx-filetypes*: [list] (...) (remove) (suffix)

(getlastsuffix) (removelastsuffix) (basename)

(strip-any-directory) (strip-directory) (directory) (temp-file) (cx-pause)

(cx-set-pause-time) (cx-set-delay-time)

*cx-pause-time*: [number] -1 (gui-read-scheme) (stop-transcript) (transcript-open?) (stop-journal) (journal-open?)

(gui-start-transcript) (cx-stop-transcript) (cx-start-transcript) (cx-transcript-open?) (cx-macro-load) (cx-macro-save) (cx-macro-define) (gui-execute-macro) (gui-start-macro) (cx-list-macros)

*cx-macros*: [list] (...) (cx-executing-macro?) (cx-execute-macro) (cx-stop-macro) (cx-start-macro) (cx-macro-open?)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 41

(cx-gui-batch-options) (restore-batch-settings) (save-batch-settings) (gui-read-journal) (gui-start-journal)

(dump-unexecuted-journal)

current-journal-port: [boolean] #f (client-exit-on-error) (cx-reading-journal?) (cx-read-journal) (cx-stop-journal) (cx-start-journal) (cx-journal-open?)

(cx-save-recent-files) (cx-update-recent-files) (cx-add-recent-file)

(cx-enable-recent-files)

*cx-recent-files-limit*: [number] 4 (cx-write-file)

(cx-read-file-with-suffix) (cx-read-file)

(compress-filename) (uncompress-filename)

*uncompress*: [boolean] #f *compress*: [boolean] #f (append-file)

(append-file-dialog) (write-file-dialog) (write-file)

(read-file-with-suffix) (read-file-silently) (read-file)

(read-ud-case-section-and-close-port)

(read-file-with-suffix-and-leave-port-open) (read-file-and-leave-port-open) (%append-file) (%stamp-fv-file) (%write-file)

(%read-ud-case-section-and-close-port) (%read-file-and-leave-port-open) (%read-file)

(remote-file-pattern-exists?) (find-remote-file-with-suffix)

(find-remote-file-pattern-with-suffix) (remote-file-exists?)

(client-default-basename)

(client-inquire-binary-files) (client-set-binary-files)

(client-support-binary-files?) (quote-if-needed)

(ok-to-overwrite-remote?) (ok-to-overwrite?)

(ti-set-batch-options) (ti-exit-on-error)

(ti-set-answer-prompt)

*cx-answer-prompt?*: [boolean] #f (ti-set-overwrite-prompt)

*cx-overwrite-prompt?*: [boolean] #t (check-create-dir) (remove-remote-file) (syncdir)

(dump-scheme)

*cx-execute-macros-quietly?*: [boolean] #t *cx-exit-on-error*: [boolean] #f journal-file-commands: [list] (...) cxrelease.provided: [boolean] #t

*cortex-run-time-release*: [string] 3 cxfiles.provided: [boolean] #t

display/set/rendering-options: [list] (...) (display/set/rendering-options/hsm-menu) display/set/pathlines-menu: [list] (...) display/set/contours: [list] (...) display/set/vectors: [list] (...) (display/set/color-ramp-menu)

display/set/colors-menu: [list] (...) (ti-set-color-alignment) (ti-set-edge-visibility) (pick-hsm-method) (pick-pathline-style)

(pick-color-ramp-from-list) (cx-gui-annotate) (scene-max-index)

(scene-list-text-objs) (text-name->segment-key) (text-name->scene-index) (parse-string)

*cx-pfa-fonts?*: [boolean] #t *cx-font-sizes*: [list] (...) *cx-font-names*: [list] (...) (cx-gui-display-options)

cx-hsm-methods: [list] (...) (cx-set-graphics-driver) (cx-show-graphics-drivers) (describe-graphics)

light-interp-menu: [list] (...) (ti-toggle-headlight) (ti-set-ambient-color) (ti-set-light)

cx-lights-menu: [list] (...) (cx-gui-lights) (id->symbol) (light->xyz) (light->rgb) (light->on?) (cx-set-light)

*cx-light-symbol-inactive*: [string] @ *cx-light-symbol-active*: [string] (x) *cx-light-segment*: [boolean] #f *cx-max-light*: [number] 9

cxlights.provided: [boolean] #t cxdisplay.provided: [boolean] #t cx-view-menu: [list] (...) cx-camera-menu: [list] (...) (cx-gui-views) (cx-gui-camera)

(cx-gui-define-mirror) (cx-draw-mirrors)

(cx-gui-define-periodic) (cx-gui-write-views) (cx-write-views)

(non-standard-views) (cx-read-views)

(cx-set-camera-relative) (cx-compute-default-views) *max-stack-size*: [number] 20 (cx-pop-view) (cx-push-view) (new-view-name) (cx-save-view) (cx-restore-view) (cx-get-views) (cx-delete-view) (cx-add-view)

(cx-default-view) (extent->zmax) (extent->zmin) (extent->ymax) (extent->ymin) (extent->xmax) (extent->xmin) (zoom-camera) (roll-camera) (pan-camera) (orbit-camera) (dolly-camera)

(camera-up-vector) (camera-target)

(camera-projection) (camera-position) (camera-field)

(cx-show-camera-projection) (cx-show-camera-field)

(cx-show-camera-up-vector) (cx-show-camera-target) (cx-show-camera-position) (cx-add-isometric)

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 42

(reset-isometric)

isometric?: [boolean] #t (camera->projection) (camera->height) (camera->width)

(camera->up-vector) (camera->target) (camera->position) (view->transform) (view->camera) (view->name)

*cx-surface-list-width*: [number] 25 cxview.provided: [boolean] #t (cx-cmap-editor)

(incr-cmap-name-count) (cx-set-color-ramp-range) (new-cmap-name)

(cx-show-cmap-names) (cx-set-color-map) (cx-get-cmap) (cx-add-cmap)

(cx-gui-cmap-editor) (ti-vector)

(ti-display-custom-vector) (ti-add-custom-vector) (default-vector-name) (ti-velocity-vector) (ti-profile) (ti-contour)

(pick-cell-vector-function) (pick-cell-function-domain) (pick-cell-function) (ti-re-scale-generic) (ti-render-generic) (ti-zone-grid)

ti-current-vector-domain: [boolean] #f ti-current-domain: [boolean] #f (get-acoustics-surfaces) (profile-options) (render/grid-cb)

(dpm-graphics-setup)

(gui-set-grid-rendering-options!) *sweep/domain*: [boolean] #f

*sweep/sub-function*: [boolean] #f *sweep/function*: [boolean] #f

*sweep/vector-domain*: [boolean] #f *sweep/vector-name*: [string] velocity (gui-display-sweep-surface) (gui-display-vectors) (gui-display-contours) (gui-display-grid-colors) (gui-display-grid)

(cx-gui-vector-options) (gui-custom-vectors)

(cx-inquire-user-def-vector-names) (customvec->z-comp) (customvec->y-comp) (customvec->x-comp) (customvec<-name) (customvec->name)

(custom-vector-function/define) (cx-rename-vector) (cx-delete-vector) (cx-get-vector) (cx-add-vector) (gui-manage-plot)

(gui-update-unsectioned-cell-function-lists)

(gui-update-domains-for-vector-functions) (gui-update-domain-from-section) (gui-update-domain-lists)

(gui-update-cell-function-lists) (cx-check-toggle-buttons) (cx-cell-only-function?) (cx-cell-only-field?)

(custom-gui-vector-function-label->name) (custom-gui-vector-function-label) (custom-vector-function-label->name) (custom-velocity-vector) (set-display-custom-vv) (display-vector-function) (styled-format) (velocity-vector)

(set-display-vector-function) (set-display-vv) (profile)

(rgcb-profile) (contour)

(rgcb-contour)

(set-profile-attr) (set-contour-attr) (set-cont-prof-attr) (cx-update-range-vars) (restore-segment-state) (cx-add-to-vv-list)

(cx-restore-render-surfaces) (cx-save-render-surfaces) (render-grid)

(cx-draw-grid-zone)

(cx-show-open-segments) (render-surface)

(cx-reset-grid-colors) (cx-zone-color) (show-thunk-list) (show-title-list) (get-rg-title) (get-rg-thunk)

(add-thunk-to-list) (add-title-to-list) (render-generic) (re-render-generic)

custom-vector-list: [list] (...) (start-title-frame) (cx-draw-periodics3)

(get-scenes-for-transformation) (start-standard-title-frame) (cx-init-right-frame-titles) (cx-list-delete-entry) (type-name->id) (display-name)

(cx-gui-preselect-contour-functions) (label->name)

(cx-set-viz-lists) (cx-get-viz-lists) (cx-reset-viz-lists) (cx-write-viz-lists) (cx-read-viz-lists) (cx-gen-viz-name)

(cx-get-viz-all-names) (cx-get-viz-attr) (cx-add-viz-attr) (cx-add-to-viz-list)

cxvlist.provided: [boolean] #t path-menu: [list] (...) (path-lines-xy-plot) (ti-write-path-lines) (write-ensight-file) (write-fv-file) (ti-path-lines)

(render-path-lines) (dpm-path-lines) (path-lines)

(plot-path-lines) (cx-reset-path-vars)

(get-path-min-max-units) (pick-path-cell-function)

(inquire-path-cell-functions) (num-surf) (max-surf-id) (total-facets)

(global-track-path-lines) (gui-import-pathlines)

(gui-display-particle-tracks) (gui-display-path-lines) *twist/max*: n/a *twist/min*: n/a

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 43

*cx-viz/name*: [string]

cxpath.provided: [boolean] #t cxrender.provided: [boolean] #t cxcmap_ed.provided: [boolean] #t cxalias.provided: [boolean] #t (cx-set-plot-window-id)

*max-plot-window-id*: [number] 20 (cx-activate-tab) (cx-create-tab)

(cx-create-frame-tabbed)

(gui-update-cell-function-widget)

(gui-update-cell-sub-function-widget) (gui-update-cell-domain-widget)

(gui-update-cell-vector-function-widget) (gui-fill-cell-values-sectioned) (gui-fill-node-values-sectioned) (gui-fill-cell-values) (gui-fill-node-values)

(gui-fill-surf-node-values) (name->gui-function-labels)

(gui-vector-function-label->name) (gui-function-labels->names) (gui-function-domain-list) (gui-function-label->name) (gui-domain-label)

(gui-vector-function-label) (gui-function-label) (function-name->labels)

(vector-function-label->name) (function-label->name) (string-downcase)

(gui-get-selected-surface-ids) (gui-get-selected-zone-ids) (gui-pick-single-list-item) (gui-unpick-list-items) (gui-pick-list-items)

(gui-update-changed-list)

*gui-name-list-width*: [boolean] #f (cx-add-separator) (cx-add-form)

(cx-show-symbol-list-selections) (cx-rename-symbol-list-items)

(gui-toggle-symbol-list-selections) (gui-delete-symbol-list-selections) (gui-add-symbol-list-selections) (cx-set-symbol-list-selections) (cx-set-symbol-list-items) (cx-delete-symbol-list-items)

(gui-add-selected-symbol-list-items) (cx-add-symbol-list-items)

(cx-add-drop-down-symbol-list) (cx-add-symbol-list)

(cx-create-drop-down-symbol-list) (cx-create-symbol-list)

(cx-create-pattern-selector) (gui-add-group-zone-list) (gui-get-group-list-widget) (gui-get-zone-list-widget) (gui-add-group-zone-widgets) (gui-update-zone-list) (gui-init-zone-list) (gui-add-zone-list)

(client-inquire-group-names) client-groups: [list] (...) (cx-rename-list-items) (cx-panel-designer) (cx-add-real-entry) (cx-create-profile) (cx-create-draw-area) (cx-create-list-tree) (cx-create-dial) (cx-create-scale)

(cx-create-drop-down-list) (cx-create-list)

(cx-create-real-entry) (cx-create-integer-entry) (cx-create-text-entry) (cx-create-toggle-button) (cx-create-button) (cx-create-text)

(cx-create-button-box) (cx-set-table-header) (cx-remove-table-row) (cx-append-table-row) (cx-create-table) (cx-create-frame)

(cx-add-check-buttons) (cx-add-radio-buttons) (cx-show-check-button) (cx-set-check-button) (cx-add-toggle-button) (cx-add-radio-button-box) (cx-add-check-button-box) (cx-hide-panel)

(cx-create-hoops-panel) (cx-create-panel) (cx-hide-item) (cx-get-item-id) (cx-get-menu-id) (cx-update-menubar) (cx-delete-item) (cx-clear-menubar) (cx-add-menu) (cx-add-hitem) (cx-add-item)

*cx-sort-surface-lists*: [boolean] #t *cx-panel-apply-close*: [boolean] #f cxgui.provided: [boolean] #t

render-specific-vars: [list] (...) (cxisetvar) (cx-set-state) (cx-show-state)

color-list: [list] (...) (cxgetvar) (cxsetvar)

(cx-set-var-val-list) (cx-get-var/value-list)

(cx-get-name-matching-varlist) (cx-download-vars) (cx-upload-vars) (cx-show-var-stack) (cx-pop-vars) (cx-push-vars)

(cx-get-active-varlist) (cx-get-env-varlist) (cx-show-envstack)

(cx-show-varenv-unfiltered) (cx-varenv-status) (cx-show-varenv) (cx-close-varenv) (cx-open-varenv)

(cx-var-default-value) (cx-var-value)

(cx-var-value-set!) (cx-var-define) (cx-var-object)

(cx-var-initialize)

cx-variables: [list] (...) (set-unit)

(cx-show-units) (to-si-units) (to-user-units)

(read-list-with-units-prompt) (read-with-units-prompt) (read-list-with-units) (read-with-units) (write-with-units) (cx-lookup-units) (ti-set-unit) (cx-set-unit)

*cx-unit-table*: [list] (...) (cx-inquire-unit-systems) (cx-set-unit-system)

*cx-conversion-table*: [list] (...) units.provided: [boolean] #t cxvar.provided: [boolean] #t

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 44

(cx-create-style-segment) (cx-update-pending?) (cx-changed)

(cx-show-dependents) (cx-delete-dependents) (cx-add-dependent)

errsignal.provided: [boolean] #t debug-signal-handler?: [boolean] #f (show-current-error-handler-stack) (handle-error)

(pop-error-handler) (push-error-handler) (rainbow-ramp) (fea-ramp) (red-ramp) (green-ramp) (blue-ramp) (gray-ramp)

(cyan-yellow-ramp) (blue-purple-ramp) (purple-magenta-ramp) (bgrb-ramp) (rgb-ramp) (bgr-ramp)

(interpolate-color-ramp) cmap.provided: [boolean] #t (summary-table-end) (summary-table-hline) (summary-table-row) (summary-table-begin) (summary-line)

(summary-current-level) (summary-section) (summary-init) (summary-title)

(cx-tui-complex-profile-string) (cx-tui-complex-profile) (cx-gui-complex-profile) (edit-profile)

(cx-register-profile-method) (cx-tui-profile-string) (cx-tui-profile)

(ti-menu-load-string) (ti-menu-load-journal) (ti-menu-load)

(ti-menu-load-port) (ti-menu-error) (alias)

alias-table: [list] (...)

(read-generic-in-range-prompt) (read-real-in-range) (read-integer-in-range) (read-object-generic-list) (read-object-generic)

(read-object-id/name-list) (read-object-id/name) (read-string-from-list) (read-symbol-from-list) (read-symbol-list) (read-symbol) (yes-or-no?) (y-or-n?)

(read-string/symbol-list) (read-string-list) (read-boolean-list) (read-real-list) (read-integer-list) (read-filename)

(read-symbol/string) (read-string/symbol) (read-string) (read-real)

(read-positive-integer) (read-integer)

(ti-read-unquoted-string) (read-generic-list-prompt) (read-generic-prompt) (read-real-pair-list)

(real-pair?)

(read-generic-list-pair) (read-generic-list) (read-generic) (readq-generic)

(insert-menu-item!) (ti-menu-insert-item!) (ti-menu-item->help) (ti-menu-item->thunk) (ti-menu-item->name) (ti-menu-item->test) (set-menu-processing)

*ti-menu-load-delay*: [number] 1 *menu-prompt*: [string]

*menu-print-always*: [boolean] #f (cx-check-jfile-name) (cx-check-journal) (cx-gui-do)

(ti-text-processing?) (menu-get) (menu-do-1) (menu-do) (ti-info)

(ti-menu-print) (ti-read-default?) (ti-input-pending?) (ti-strip-blanks) (ti-flush-input) _: n/a

(string->valid-symbol) (flush-white-space) (flush-char-set)

(read-delimited-string)

char-set:newline: [list] (...) char-set:whitespace: [list] (...) (char-set)

cmd-string-part: [string]

*cmd-history-length*: [number] 10 *cmd-history*: [list] (...) journal-file-count: [number] 0 iface.provided: [boolean] #t cx.provided: [boolean] #t *cx-disclaimer*: [string] WARNING:

This is a prototype version that has not yet been tested and validated.

Fluent Inc. makes no commitment to resolve defects reported against this

prototype version. However, your feedback will help us improve the overall quality of the product.

client.provided: [boolean] #t

Scheme Programmierung in FLUENT, Mirko Javurek, 11-2007 45

因篇幅问题不能全部显示,请点此查看更多更全内容

Top