搜档网
当前位置:搜档网 › fluent scheme语言手册

fluent scheme语言手册

fluent scheme语言手册
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.

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 (https://www.sodocs.net/doc/fe9331522.html,/) 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")

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:

(with-output-to-file "transcript.txt"

(lambda ()

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

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

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)

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

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

(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))

kann dar Pfad entfernt werden, mit

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

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 ...?

zum Beispiel:

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

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);

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", 3.2);

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", hat aber keinen Zugriff auf das Environment.

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) [= e x], (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), ...

weiters

(max x y ...), (min x y ...)

z.B. um aus Liste Maximum suchen:

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

8

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)

oder

(write x)

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))

Erstes Element einer Liste

> (car l)

a

"Rest" einer Liste (Liste ohne erstes Element)

> (cdr l)

(b c)

Anzahl der Listenelemente

> (length l)

3

i-tes Element einer Liste

(list-ref liste i)

Element in Liste suchen:

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

(d e f g)

Funktion auf Liste(n) anwenden:

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

(1 4 9)

> (apply + '(2 4 5))

11

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

8

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

Relationen:

(positive? x)

(negative? x)

(< a b)

(> a b)

(<= a b)

(>= a b)

Boolsche Funktionen:

(not a)

(and a b c ...)

(or a b c ...)

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

(if cond

(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))

)

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 ()

Ab?nderung: 2 Schleifenvariablen:

(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 ()

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)

)

(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:

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

Aufruf im Textinterface:

> time

0.1

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 https://www.sodocs.net/doc/fe9331522.html,

)))

)

(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")

)

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

(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: 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")

)

)

Aufruf der (disp)-Funktion zum Testen:

> (disp)

Aufruf der Funktion zum Erzeugen der Bilder:

> (pp)

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

Die Datei temp.txt sieht dann so aus:

"Surface Integral Report"

mixture

Average of Facet Values

Wall Shear Stress (pascal)

-------------------------------- --------------------

wall 22.97234

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.

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

(format #f " {~a, \"~a\", \"~a\"},\n"

(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", "wall"},

{2, "fluid", "fluid"},

{29, "wall-damm-l-shadow", "wall"},

{15, "wall-damm-l", "wall"},

{17, "inlet", "mass-flow-inlet"},

{25, "default-interior", "interior"}

...

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

#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", "wall"},

{2, "fluid", "fluid"},

{29, "wall-damm-l-shadow", "wall"},

{15, "wall-damm-l", "wall"},

{17, "inlet", "mass-flow-inlet"},

{25, "default-interior", "interior"}

...

};

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

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)

)

)

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; i

rps = RP_Get_String("zone-names");

while(rps[0])

{

sscanf(rps,"%s%n", s,&n); rps += n;

i = atoi(s);

sscanf(rps, "%s%s %n", zone_name[i], zone_type[i],&n); rps += 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

Nummer des aktuellen Zeitschritts (N):

time-step

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

oder Scheme-Funktion

(iterate number-of-iterations)

Instation?r:

solve/dual-time-iterate number-of-timesteps max-iterations-per-timestep

Schrittweite muss z.B. mit

(rpsetvar 'physical-time-step 0.1)

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

?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")

Datei l?schen:

(remove "temp.jou")

Datei umbenennen:

(rename-file "test.cas" "test.cas.bck")

Prüfen, ob Datei exisitiert:

(file-exists? "test.cas")

Aktuelle Computeruhrzeit in Sekunden seit 1.1.1970 abfragen:

(time)

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-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: https://www.sodocs.net/doc/fe9331522.html,/page2.html

Fluent empfielt folgende Scheme-Links im Web:

–https://www.sodocs.net/doc/fe9331522.html,/projects/scheme

–https://www.sodocs.net/doc/fe9331522.html,/

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

–https://www.sodocs.net/doc/fe9331522.html,/

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>?

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>?

string?

string-append

string-ci

string-ci=?

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

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]

*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)

(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)

(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

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)

常用计算机术语翻译

专心翻译 做到极致 常用计算机术语翻译--本地化 软件本地化行业有很多经常使用的行业术语,非行业人士或刚刚进入该行业的新人,常常对这些术语感到困惑。另外,软件本地化行业属于信息行业,随着信息技术的迅速发展,不断产生新的术语,所以,即使有多年本地化行业经验的专业人士,也需要跟踪和学习这些新的术语。 本文列举最常用的本地化术语,其中一些也大量用在普通信息技术行业。对这些常用的术语,进行简明的解释,给出对应的英文。 加速键或快捷键(accelerate key)。常应用在Windows 应用程序中,同时按下一系列组合键,完成一个特定的功能。例如,Ctrl + P ,是打印的快捷键。 带重音的字符(accented character)。例如在拉丁字符的上面或下面,添加重音标示符号。对于汉字没有此问题。 校准(alignment)。通过比较源语言文档和翻译过的文档,创建翻译数据库的过程。使用翻译记忆工具可以半自动化地完成此过程。 双向语言(bi-directional language)。对于希伯莱语言或者阿拉伯语言,文字是从右向左显示,而其中的英文单词或商标符号从左向右显示。对于中文,都是从左向右显示。 编译版本(build)。软件开发过程中编译的用于测试的内部版本。一个大型的软件项目通常需要执行多个内部版本的测试,因此需要按计划编译出多个版本用于测试。 版本环境(build environment)。用于编译软件应用程序的一些列文件的集合。

版本健康检查(build sanity check)。由软件编译者对刚刚编译的版本快速执行基本功能检查的活动,通过检查后,再由测试者进行正规详细测试。 级连样式表(cascading style sheet -CSS)。定义html等标示文件显示样式的外部文档。 字符集(character set)。从书写系统到二进制代码集的字符映射。例如,ANSI字符集使用8位长度对单个字符编码。而Unicode,使用16位长度标示一个字符。 简体中文,日文,韩文,繁体中文(CJKT)。也可以表示为SC/JP/KO/TC或 CHS/JPN/KOR/CHT,是英文Simplified Chinese, Janpanese, Korean, Traditional Chinese的简写。 代码页(code page)。字符集和字符编码方案。对每一种语言字符,都用唯一的数字索引表示。 附属条目(collateral)。软件本地化项目中相对较小的条目。例如,快速参考卡,磁盘标签,产品包装盒,市场宣传资料等。 计算机辅助翻译(Computer Aided Translation-CAT)。计算机辅助翻译。采用计算机技术从一种自然语言到另一种语言自动或支持翻译的技术术语。 串联(Concatenation)。添加文字或字符串组成较长字符传的方式。 控制语言(Controlled language)。自然语言的子集,常用于技术文档的写作,采用更加 专心翻译做到极致

世界各国语言一览表

世界各国语言一览表 Afghanistan 阿富汗Pashto 普什图语,Afghan Persian 波斯语,Dari 达 利语 Albania 阿尔巴尼亚Albanian 阿尔巴尼亚语 Algeria 阿尔及利亚Arabic 阿拉伯语,French 法语 Andorra 安道尔Catalan 加泰罗尼亚语,French 法语,Spanish 西 班牙语 Angola 安哥拉Portuguese 葡萄牙语 Antigua and Barbuda 安地卡(与巴布 达) English 英语 Argentina 阿根廷Spanish 西班牙语 Armenia 亚美尼亚Armenian 亚美尼亚语 Australia 澳大利亚English 英语 Austria 奥地利German 德语 Azerbaijan 阿塞拜疆Azerbaijani 阿塞拜疆语 Bahamas 巴哈马English 英语 Bahrain 巴林Arabic 阿拉伯语 Bangladesh 孟加拉国Bengali 孟加拉国语 Barbados 巴巴多斯English 英语 Belarus 白俄罗斯Belarusian 白俄罗斯语,Russian 俄语 Belgium 比利时French 法语,Dutch 荷兰语,German 德语Belize 伯利兹English 英语,Spanish 西班牙语 Benin 贝宁French 法语 Bhutan 不丹Dzongkha 宗卡语(不丹语) Bolivia 玻利维亚Spanish 西班牙语 Bosnia and Herzegovina 波斯尼亚和黑塞 哥维那 Bosnian 波斯尼亚语,Serbian 塞尔维亚语, Croatian 克罗地亚语 Botswana 博茨瓦纳English 英语,Setswana 博茨瓦纳语Brazil 巴西Portuguese 葡萄牙语 Brunei 文莱Malay 马来语,English 英语Bulgaria 保加利亚Bulgarian 保加利亚语 Burkina Faso 布基纳法索French 法语

浅谈如何做到在语文教学中规范“语言文字”

浅谈如何做到在语文教学中规范“语言文字” 对作为语文教师的我来说,语文教学承担着提高学生听说读写能力的重任,语文教学的重点就是要学生学会使用规范的语言文字,提高学生的语言文字应用能力。语言文字应用能力是人进行社会实践活动的一项基本能力,也是构成人的整体素质的一个重要方面。人们的创新思想、创新能力和创新成果都要靠规范、准确、鲜明的语言文字来表达,所以在语文教学中,教育学生正确使用祖国的语言文字,贯彻落实国家语言文字方针政策和规范标准,推广普通话、推行规范汉字,增强学生的语言文字规范意识,对于继承和弘扬中华民族优秀的传统文化,提高学生的语文素质和语文教学质量都有着重要作用和现实意义。作为语文教师,如何在教学中规范“语言文字”,笔者结合我校的“语言文字规范标准”活动和自己的教学实践谈谈自己的一些做法; 一、统一认识,加强领导 把语言文字规范化工作放在学校的重要位置上,统一思想认识,是做好任何工作的前提。通过对《教育法》、《国家通用语言文字法》等法律法规的学习,我们深深感受到:语言文字规范化工作是学校的一项基础性工作,“说普通话,写规范字,做文明人”不仅是语言文字规范化工作方面的要求,更是开展学校德育及学生行为规范教育的内在需要。为此,我校建立健全了语言文字工作网络,成立了由校长办公室、教导处等部门领导组成的“学校语言文字工作领导小组”。由领导小组负责学校语言文字工作的总体规划;教导主任具体负责各项工作的落实。学校不仅具有语言文字的专门工作计划和总结,而且各学科的工作计划也都含有其内容,尤其是语文教研组的活动记录,更能体现出各年级对语言文字规范化的重视程度。各个年级语文教研组都制定了符合学生实际的语言文字训练目

世界各国官方语言表(按语种排序)

(一)英语:1.英国2.美国3.加拿大4.澳大利亚5.新西兰6.爱尔兰(爱尔兰语)7.巴哈马8.牙买加9.安提瓜-巴布达10.圣露西亚11.圣基茨-尼维斯12.特立尼达-多巴哥13.多米尼克自由邦14.格林纳达15.圣文森特-格林纳丁斯16.巴巴多斯17.伯利兹18.圭亚那19.印度20.巴基斯坦21.孟加拉国22.不丹(不丹语)23.新加坡24.马来西亚25.菲律宾(菲律宾语)26.文莱27.马尔代夫(马尔代夫语)28.所罗门群岛(Pidgin)29.巴布亚新几内亚(Pidgin)30.斐济(斐济语)31.瓦努阿图(比斯瓦拉语)32.瑙鲁(瑙鲁语)33.图瓦卢(图瓦卢语)34.帕劳(帕劳语)35.密克罗尼西亚(加罗林语)36.马绍尔群岛(马绍尔语)37.萨摩亚(萨摩亚语)38.基里巴斯(吉尔伯特语)39.汤加(汤加语)40.马耳他(马耳他语)41.南非42.博茨瓦纳(茨瓦纳语)43.纳米比亚(南非荷兰语)44.津巴布韦(绍纳语、恩德贝莱语)45.赞比亚46.马拉维(契瓦语)47.莱索托(莱索托语)48.斯威士兰(斯威士语)49.毛里求斯50.坦桑尼亚51.肯尼亚52.埃塞俄比亚53.塞拉利昂54.乌干达55.塞舌尔56.喀麦隆57.尼日利亚58.加纳59.利比里亚60.冈比亚 (二)法语:1.法国2.比利时3.卢森堡(卢森堡语)4.摩纳哥5.安道尔(加泰罗语)7.瑞士(罗曼茨语)8.加拿大9.瓦努阿图10.喀麦隆11.刚果(金)12.刚果(布)13.布隆迪(布隆迪语)14.卢旺达(卢旺达语)15.科摩罗16.马达加斯加(马尔加什语)17.加蓬18.尼日尔19.布基纳法索20.马里(班巴拉语)21.贝宁22.多哥23.科特迪瓦24.塞内加尔25.几内亚26.中非27.乍得28.毛里求斯29.吉布提30.海地 (三)阿拉伯语:1.埃及2.以色列3.约旦4.巴勒斯坦5.黎巴嫩6.叙利亚7.伊拉克8.科威特9.沙特10.巴林11.卡塔尔12.阿拉伯联合埃米尔国13.阿曼14.也门15.苏丹16.利比亚17.突尼斯18.阿尔及利亚19.摩洛哥20.毛里塔尼亚21.吉布提22.索马里23.科莫罗 (四)西班牙语:1.西班牙2.赤道几内亚3.墨西哥4.危地马拉5.萨尔瓦多6.洪都拉斯7.尼加拉瓜8.哥斯达黎加9.古巴10.多米尼加11.巴拿马12.哥伦比亚13.委内瑞拉14.厄瓜多尔15.秘鲁(凯楚亚语)16.玻利维亚17.智利18.阿根廷19.乌拉圭20.巴拉圭语(瓜拉尼语) (五)俄语:1.俄国2.白俄罗斯(白俄罗斯语)3.哈萨克4.摩尔多瓦(摩尔多瓦语)5.塔吉克(未明塔吉克语是否趋向波斯语改革)6.土库曼(土库曼语)7.吉尔吉斯(吉尔吉斯语)8.乌兹别克9.阿塞拜疆(阿塞拜疆语)10.亚美尼亚(亚美尼亚语)11. (六)葡萄牙语:1.葡萄牙2.巴西3.几内亚比绍4.佛得角5.圣多美-普林西比6.安哥拉7.莫桑比克8.东帝汶(德顿语) (七)德语:1.德国2.奥地利3.瑞士4.列支敦士登5.卢森堡 (八)意大利语:1.意大利2.圣马力诺3.瑞士 (九)斯瓦希里语:1.坦桑尼亚2.肯尼亚3.乌干达 (十)马来语:1.马来西亚2.新加坡3.文莱 (十一)荷兰语:1.荷兰2.比利时(即佛兰德语)3.苏里南

语言文字规范标准

语言文字规范标准 十项最重要的语言文字规范标准 新中国建立以来,由政府发布的语言文字规范标准有一百多项,其中面向全国的、最为重要的有以下十项: 1、中华人民共和国文化部和中国文字改革委员会1955年公布的《第一批异体字整理表》,规定了具有异体关系的字组中哪个是规范字,哪个是应该淘汰的异体字。 2、第一届全国人民代表大会第五次会议与1958年批准的《汉语拼音方案》。国际标准化组织于1982年投票通过,规定《汉语拼音方案》是拼写汉语的国际标准,编号是:ISO 7098。 3、国家语言文字工作委员会、国家教育委员会、广播电视部1985年发布的《普通话异读词审音表》,规定了普通话异读词的标准读音。例如,“白”统读bái,过磅的“磅”读bàng。 4、国家语言文字工作委员会1986年重新发表的《简化字总表》,收简化字2235个。它规定了简化字的标准字形,以及简化字与繁体字的对应关系。 5、国家语言文字工作委员会和国家教育委员会1988年发布的《现代汉语常用字表》,规定了现代汉语的3500个常用字,以及每个字的标准字形,包括字的结构、笔画数和笔顺。 6、国家语言文字工作委员会和中华人民共和国新闻出版署1988年发布的《现代汉语通用字表》,规定了现代汉语的7000个通用字(包含3500个常用字),以及每个字的标准字形,包括字的结构、笔画数和笔顺。 7、国家技术监督局1995年批准、发布的《标点符号用法》(GBT 15834-1995),规定了16种标点符号的名称、形式和用法。

8、国家技术监督局1996年批准、发布的《汉语拼音正词法基本规则》(GBT 16159-1996),规定了用《汉语拼音方案》拼写现代汉语的规则。 9、国家语言文字工作委员会和中华人民共和国新闻出版署1987年发布的《现代汉语通用字笔顺规范》,规定了7000个通用字的笔顺标准。 10、中华人民共和国教育部、国家语言文字工作委员会2001年发布的,《第一批异体词整理表》(GF 1001-2001),给出了338组异形词的推荐使用词形。例如,在“本分”“本份”这组异形词中,“本分”是推荐使用字形;在“标 志”“标识” 这组异形词中,“标志” 是推荐使用字形;在“驾驭”“驾御” 这组异形词中,“驾驭” 是推荐使用字形。

工具软件 翻译软件概述

工具软件翻译软件概述 翻译软件的产生是随计算机技术的进步而产生的一种应用软件。早期的翻译软件功能较弱,只能根据固定的词汇或词组进行翻译,仅相当于电子版本的词典。人工智能技术的发展为翻译软件提供了极大的技术支持。现代的翻译软件已经能够识别各种自然语言的简单语法,并根据一定的语义环境进行智能翻译。 1.翻译软件分类 根据翻译软件的功能,可以将翻译软件分为词典软件、屏幕翻译软件以及辅助翻译软件等三大类。 ●词典软件 词典软件是类似实体书词典的软件。其功能是将各种语言的词汇翻译存储到数据库中,供用户调用。当用户输入某个词汇后,即可将该词汇翻译为另一种语言,如图4-1所示。 图4-1 词典软件的原理 由于计算机存储数据和查找数据非常便捷,因此,词典软件的出现,免去了用户在实体书词典中翻找的不便,提高了用户查找词汇的效率。国内常用的词典软件包括金山词霸、东方大典等。 ●屏幕翻译软件 词典软件要翻译的主要是各种词汇和短语等,而屏幕翻译软件则需要对各种语句、段落甚至文章进行翻译。相对词典软件而言,屏幕翻译软件更加智能化,功能也更加强大。屏幕翻译软件的工作原理如图4-2所示。 图4-2 屏幕翻译软件的工作原理 屏幕翻译软件往往可以根据要翻译的内容词汇,自主选择相应的词典,然后根据词典的语义进行智能翻译。虽然屏幕翻译软件可以翻译一些简单的句子和段落,但仍然无法取代人工翻译。仅能在少数领域作为人工翻译的补充而存在。目前国内常用的屏幕翻译软件主要包括金山快译、灵格斯词霸等。 ●辅助翻译软件 辅助翻译软件是辅助人工翻译的软件。其作用是以数据库的方式储存原文和译文,在翻译时以电脑分析与搜寻翻译记忆库,找出相同或类似的句子,共译者参考。使用辅助翻译软

最新学生自觉规范使用语言文字

学生语言文字规范意识和能力培养方案 一、语言文字规范的现实背景 1、小学生作业本中的错别字越来越多。学生进入中高年级后, 随着识字量的增加,错别字量也随之猛增。错别字的存在,不仅影响句子意思的表达,而且对学生提高整体语文素养带来极大的障碍。 2、社会不规范用字屡见不鲜。汉语言是我们的母语,学生从小到大每天都在说着、听着、看着。但是,在我们的日常生活中,商家招牌、广告宣传、电视媒体却常常是错字百出、繁简不分。小学生好奇心强,接受能力强,但是辨别能力不强,这些随处可见的用字不规范的现象给他们对语言文字的学习造成了很大的影响。 3.网络语言也渐渐成为小学生的潮流语言。很多调查显示:中小学生使用的规范词汇量大幅度减少,多使用网络用语,且很不规范。如,“头要爆炸了”,“很”、“非常”等表程度的副词已悄悄地被“超”所取代。如再不加以及时正确的引导,学生极可能养成不规范运用语言文字的习惯,最终导致表达交流的混乱。面对复杂的语言环境,强化学校在学生学习使用规范语言文字的作用,让学生从小认规范字、读规范音、知规范义成为语文教学中的重要问题。我们必须针对这些问题,采用多种形式强化语言文字的规范教育。 二、语言文字规范化的意义 1.是遵法守法的体现。1998年,国务院批转教育部《面向21世纪教育振兴行动计划》中指出:“全面推进学校语言文字工作,各级各类学校特别是中小学、师范院校要继续把说好普通话、写好规范

字、提高语言文字能力作为素质教育的重要内容”;1999年12月,教育部、国家语委联合发出《关于进一步加强学校普及普通话和用字规范化工作的通知》,指出:“说好普通话、用好规范字、提高语言文字应用能力,是素质教育的重要内容。”2000年10月发布的《中华人民共和国国家通用语言文字法》用法律形式明确规定:“国家推广普通话,推行规范汉字。”这一切都确定了普通话和规范汉字在学校教学中的法律地位,说明在全面推进素质教育的今天,学校语言文字工作是遵法守法的体现。 2.是贯彻《语文课程标准》精神的要求。人类进入信息时代以后,对通过写字实现的书面交际提出了更高的要求。《全日制语文课程标准》对写字提出了第一学段“养成正确的写字姿势和良好的写字习惯。”“初步感受汉字的形体美”,第二学段要求“用毛笔临摹正楷字帖”通过书法训练达到“在书写中体会汉字的优美”(第三学段)“体会书法的审美价值”(第四学段)等要求。要正确、端正地书写,就要严格遵守国家主管部门发布的有关字形、笔顺等一系列语文法规的规定,写规范汉字。只有大家都按照统一的规范标准写字,社会的书面交际才能顺利、高效、快速。 3.是积淀学校文化底蕴的需要。语言文字是文化的载体,是学校文化底蕴的重要部分。语言文字更是国家历史和文化的积淀,是展示国家形象的窗口,正确、规范地使用母语是每个炎黄子孙应尽的责任。同时,规范使用我国的语言文字,丰富其内涵也是我们进入新的

常用工具软件试题库

《常用工具软件》考试题库 一.判断题(每小题1分,共10分) 1. Realone Player不支持多节目连续播放。(X) 2.网际快车可以上传和下载文件。(√) 3. Internet上所有电子邮件用户的E-mail地址都采用同样的格式:用户名@主机名。(√) 4.Adobe Acrobat Reader可以解压缩文件。(X) 5.ACDSee是目前最流行的数字图像处理软件,它能广泛应用于图片的获取、管理、浏览、优化,甚至和他人的分享。(√) 6.天网防火墙的拦截功能是指数据包无法进入或出去。(X) 7.Symantec Ghost可以实现数据修复。(X) 8. 用户可以向金山词霸词库中添加没有收录的中、英文单词。(√) 9.系统长时间使用之后,会留下一堆堆垃圾文件,使系统变得相当臃肿,运行速度大为下降,但是系统不会频繁出错甚至死机。(√) 10.在使用FlashFXP软件下载网络中的FTP资源时,只需掌握FTP服务器的URL地址即可。(√) 11.在安装瑞星防火墙时,旧版本的瑞星防火墙无需卸载。(X) 12.压缩文件管理工具WinRAR只能压缩文件,不能对文件进行解压。(X) 13.在使用Virtual CD时,映像文件是不能被Windows资源管理器直接读取的,必须从Virtual CD中提取。(√) 14.在用Nero - Burning Rom软件制作CD时,可将数据文件从本地资源管理器中拖入了刻录机虚拟资源管理器中。(X) 15. 超级解霸3000能截取当前视频窗口中的图像存为图形文件。(√) 16.用MSN聊天时,可以隐身登录。(√) 17.ACDSee是目前最流行的数字图像处理软件,它能广泛应用于图片的获取、管理、浏览、优化,甚至和他人的分享。(√) 18、病毒不属于计算机软件(×) 19、优化大师就是让系统运行后没有垃圾文件(×) 20、注册表直接影响系统运行的稳定性(√) 21、清理注册表就是删除注册表中无用软件的注册信息(×) 22、360杀毒不能对单个文件进行病毒查杀(×) 23、根据工具软件使用的领域不同,但是一般都包含有标题栏、菜单栏、工具栏、状态栏、工作区。(√) 24、在进行实验操作时,为了不破坏现有的操作系统以及相关设置,我们可以使用虚拟机软件。(√) 25、在使用虚拟机的时候,按键盘右边的ALT可以在虚拟机和宿主机之间切换。(√) 26、CuteFTP是一个基于文件传输协议客户端软件。(√) 27、虚拟光驱是一种模拟CD-ROM工作的工具软件,它能在操作系统中模拟出新的光盘驱动器,是对物理光驱的一种仿真。(√) 28、利用ghost可以备份windows操作系统。(√) 29、常见的压缩格式ZIP格式、RAR格式、CBA格式、ACE格式。(√) 30、利用CuteFTP软件可以上传网站文件。(√) 31、Deamon Tools是一个优秀的虚拟光驱工具。(√)

世界各国语言一览表

世界各国语言一览表1 Afgha ni sta n 阿富汗 Pashto 普什图语,Afghan Persian 波斯语,Dari 达利语Alba nia 阿尔巴尼亚Albanian阿尔巴尼亚语 Algeria 阿尔及利亚Arabic阿拉伯语,French法语 An dorra 安道尔Catalan加泰罗尼亚语,French法语,Spanish西 班牙语 An gola 安哥拉P ortuguese葡萄牙语 An tigua and Barbuda 安地卡(与巴布 达) English 英语 Arge ntina 阿根廷Spanish西班牙语 Arme nia 亚美尼亚Armenian 亚美尼亚语 Australia 澳大利亚English 英语 Austria 奥地利German德语 Azerbaija n 阿塞拜疆Azerbaijani阿塞拜疆语 Bahamas 巴哈马English 英语 Bahra in 巴林Arabic阿拉伯语 Ban gladesh 孟加拉国Bengali孟加拉国语 Barbados 巴巴多斯English 英语 Belarus 白俄罗斯Belarusian白俄罗斯语,Russian俄语 Belgium 比利时French法语,Dutch荷兰语,German德语 Belize 伯利兹English英语,Spanish西班牙语 Benin 贝宁French法语 Bhuta n 不丹Dzongkha宗卡语(不丹语) Bolivia 玻利维亚Spanish西班牙语 Bosnia and Herzegovi na 波斯尼亚和黑塞 哥维那 Bosnian 波斯尼亚语,Serbian塞尔维亚语,Croatian克罗 地亚语 Botswa na 博茨瓦纳English英语,Setswana博茨瓦纳语Brazil 巴西P ortuguese葡萄牙语 Brunei 文莱Malay马来语,English央语Bulgaria 保加利亚Bulgarian保加利亚语 Burkina Faso 布基纳法索French法语

什么是语言文字规范标准

竭诚为您提供优质文档/双击可除什么是语言文字规范标准 篇一:语言文字规范化常识 语言文字知识复习材料(政策法规知识) 1.《中华人民共和国国家通用语言文字法》于2000年10月31日,第九届全国人民代表大会常务委员会第十八次会议通过。自20xx年1月1日起施行。 2.国务院决定自1998年起每年9月份第三周为全国推广普通话宣传周。 3.《国家通用语言文字法》第三条规定:国家推广普通话,推行规范汉字。 4.国家通用语言文字指的是普通话和规范汉字。 5.机关公文应当使用规范汉字。 6.《国家通用语言文字法》规定:国家机关以普通话和规范汉字为公务用语用字。 7.国家通用语言文字的使用应当有利于维护国家主权和民族尊严,有利于国家统一和民族团结,有利于社会主义物质文明建设和精神文明建设。 8.当前国家推广普通话的方针是:“大力推行、积极普

及、逐步提高”。 9.语言文字规范化工作要以学校为基础,以党政机关为龙头,以新闻媒体为榜样,以公共服务行业为窗口。 10.普通话的具体含义是:以北京语音为标准音,以北方话为基础方言,以典范的现代白话文著作为语法规范的现代汉民族共同语。 11.通过推广普通话,要逐步使普通话成为哪四种用语:校园用语、公务用语、宣传用语、社会服务用语。 12.推广普通话是促使公民普遍具备普通话应用能力,在正式场合和公共交际场合说普通话。 13.在下列情形下可以使用方言:(1)国家机关的工作人员执行公务时确需使用的;(2)经国务院广播电视部门或省级广播电视部门批准的播音用语;(3)戏曲、影视等艺术形式中需要使用的;(4)出版、教学、研究中确需使用的。 14.规范汉字是指现在通行的规范汉字。即经过整理简化并由国家以字表形式正式公布的正体字、简化字和未经整理简化的传承字。具体标准可参照国家公布的 《简化字总表》《第一批异体字整理表》《新旧字形对照表》《部分计量单位名称统一用字表》。 15.不规范汉字指的是:(1)已简化的繁体字。(2)已淘汰的异体字。(3)已淘汰的旧字形。(4)已废止的《第二次汉字简化方案(草案)》中的简化字。

常用CAT计算机辅助翻译软件

常用CAT计算机辅助翻译软件 1、SDL TRADOS SDL Trados为他们克服了在不同国家地区的文化、语言障碍,从而为他们的全球化铺平了发展道路。因为SDL Trados用户通常能够将完成工作的速度提高50%左右(具体数值依不同文档,项目会有变化),更准确地评估时间和成本,显著减少翻译错误,编写更为一致的翻译(对技术、法律和医学翻译来说,这一点尤其重要)。这正因为其功能强大,在操作性方面就有所不足,在国内来说普及度不高。 2、iCAT iCAT辅助翻译工具免费软件,内嵌到Word工具中,支持最新的Word2013,支持64、32的系统,支持中文、繁体中文、英、日、韩、德、法、俄、西班牙等。它提供独立的术语和翻译记忆库(TM),可以同时挂多个术语库,同时通过火云术语配合使用,实现术语分享和收藏功能,达到云端保存的效果。自带机器翻译,术语批准等功能,同时译员通过使用该工具能及时了解自己最新的翻译字数。对于译后稿,提供3种保存格式,解决了译员对译后稿件的排版麻烦。该公司有兼全职译员3W多名,同时在各高校MTI教学和外语类实验室广泛使用,故在国内知名度很高。 3、passolo Passolo 是一款功能强大的软件本地化工具,它支持以Visual C++ 、Borland C++ 及Delphi 语言编写的软件(.exe、.dll、.ocx)的本地化。以往针对这两种不同语言编写的软件,我们大多是需要分别使用Visual Localize 和Language Localizator 来进行软件的中文化。而现在,Passolo 把二者的功能结合在了一起,并且性能稳定、易于使用,用户即不需要进行专门的训练,也不需要丰富的编程经验,在本地化的过程中可能发生的许多错误也都能由Passolo 识别或自动纠正。所以,passolo是软件本地化不二的选择。 4、Transmate Transmate 提供了独立的翻译操作界面,不依赖、也无需与其他应用程序交互(如MS WORD),在单一的程序界面中集成了翻译记忆库(TM)、术语库和翻译单元列表,界面简洁,操作方便。不像使用老版Trados 那样,需要启动多个不同的应用程序来分别操作记忆库、术语库和相关的文件。因其Transmate其实验室产品在高校广泛应用,故儿成为国内大多数译员比较熟悉的工具,在翻译公司的应用率也相对较高。 5、WordFast Wordfast 是结合Microsoft Word 使用的翻译记忆引擎。它可以在PC 或Mac 操作系统下运行。(请参阅技术规格或支持的操作系统)Wordfast 数据具有易用性和开放性,同时又与Trados 和大多数计算机辅助翻译(CAT) 工具兼容。它不仅可被用来翻译Word, Excel, Powerpoint, Access 文件,还可被用来翻译各种标记文件。此外,Wordfast 还可以与诸如PowerTranslator?,Systran?,Reverso? 等机器翻译(MT) 软件连接使用。另外,它还具有强大的词汇识别功能。所以,个人译员使用的比例相对较高. 6、Logoport Lionbridge 的免费产品,嵌入Word工具中,至于它的RTF文件是怎么做出来的,不得而知。它使用在线的TM服务器,可以很多译员同时翻译一个文件,TM时时共享,这和免费使用可以说是Logoport最大的优势,但是因为使用在线的TM,可能是他们服务器在国外的原因,每打开一个翻译单元格,都要花费一两秒钟的时间,译员怨声不断。初次看到分析出来的Log文件,可能会受到误导,认为那些100%匹配不用翻译,其实Logoport是用本文件将要翻译出来的TM结果分析未曾翻译的文件,乍一看好似很多匹配,实际上都是需要翻译的"新词",不过,匹配部分算钱的办法还算合理,比Trados匹配部分要高很多。所以,CAT爱好者可以玩一玩.

语言文字规范化工作宣传标语

语言文字规范化工作宣传标 语 -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

龙海中学语言文字规范化工作宣传标语 1.让知识与文明的语言携手。 2.普通话,承载文明,光彩中华。 3.普通话—情感的纽带,沟通的桥梁。 4.提高语言素养,展现文明形象。 5.树立语言规范意识,提高民族文化素质。 6.一字一句普通话,千言万语绘中华。 7.一口普通话,伴我行中华。 8.大家来说普通话,亲情关爱遍中华。 9.普通话,让彼此靠得更近。 10.一人一句普通话,中华美德靠大家。 11.国家推广全国通用的普通话。 12.国家推广普通话,推行规范汉字。 13.正确使用祖国的语言文字,大力推广普通话。 14.推广普通话工作方针是“大力推行、积极普及、逐步提高”。 15.树立语言规范意识,提高民族文化素质。 16.大力推广普通话,增强中华民族凝聚力。 17.推广普及普通话,为现代化建设营造良好的语言环境。

18.普通话是校园语言。 19.普通话是教师的职业语言。 20.学生要做推广普通话的积极分子。 21.说普通话,从我做起。 22.说好普通话,方便你我他。 23.说好普通话,用好规范字。 24.普通话是通往信息网络时代的“绿卡”。 25.语言文字规范化,培养创新型人才。 26.语言文字规范化要与时俱进。 27.热爱祖国语言文字,着力构建和谐校园。 28.普通话与素质同在,与形象同伴,与文明同行。 29.树立语言规范意识,构建和谐校园环境。 30.积极普及民族共同语,增强中华民族凝聚力。 31.说普通话,迎四方宾客;用规范字,显华夏文明。 32.人人学讲普通话,个个争当文明人。 33.沟通——从普通话开始。 34.认真贯彻《中华人民共和国国家通用语言文字法》, 推广普通话,推行规范汉字。 35.普通话——现代人必备的素养和交流工具。 36.说好普通话,沟通你我他;使用规范字,方便千万家。 37.大力推进语言文字规范化,共塑校园文明新形象。

世界七大洲各国的分布及概况 世界各国划分一览表大全

亚洲(48个国家) 东亚:中国、蒙古、朝鲜、韩国、日本(5) 东南亚:菲律宾、越南、老挝、柬埔寨、缅甸、泰国、马来西亚、文莱、新加坡、印度尼西亚、东帝汶(11) 南亚:尼泊尔、不丹、孟加拉国、印度、巴基斯坦、斯里兰卡、马尔代夫(7) 中亚:哈萨克斯坦、吉尔吉斯斯坦、塔吉克斯坦、乌兹别克斯坦、土库曼斯坦(5) 西亚:阿富汗、伊拉克、伊朗、叙利亚、约旦、黎巴嫩、以色列、巴勒斯坦、沙特阿拉伯、巴林、卡塔尔、

科威特、阿拉伯联合酋长国(阿联酋)、阿曼、也门、格鲁吉亚、亚美尼亚、阿塞拜疆、土耳其、塞浦路斯(20) 注:锡金现已并入印度成为其一个邦,所以这里不出现 欧洲(43个国家/1个地区) 北欧:芬兰、瑞典、挪威、冰岛、丹麦法罗群岛(丹)(6) 东欧:爱沙尼亚、拉脱维亚、立陶宛、白俄罗斯、俄罗斯、乌克兰、摩尔多瓦(7) 中欧:波兰、捷克、斯洛伐克、匈牙利、德国、奥地利、瑞士、列支敦士登(8) 西欧:英国、爱尔兰、荷兰、比利时、卢森堡、法国、摩纳哥(7) 南欧:罗马尼亚、保加利亚、塞尔维亚、马其顿、阿尔巴尼亚、希腊、斯洛文尼亚、克罗地亚、波斯尼亚和墨塞哥维那、意大利、梵蒂冈、圣马力诺、马耳他、西班牙、葡萄牙、安道尔(16) 北美洲(23个国家/13个地区) 北美:加拿大、美国、墨西哥、格陵兰(丹)(4) 中美洲:危地马拉、伯利兹、萨尔瓦多、洪都拉斯、尼加拉瓜、哥斯达黎加、巴拿马(7)加勒比海地区:巴哈马、古巴、牙买加、海地、多米尼加共和国、安提瓜和巴布达、圣基茨和尼维斯、多米尼克、圣卢西亚、圣文森特和格林纳丁斯、格林纳达、巴巴多斯、特立尼达和多巴哥、波多黎各(美)、英属维尔京群岛、美属维尔京群岛、安圭拉(英)、蒙特塞拉特(英)、瓜德罗普(法)、马提尼克(法)、 荷属安的列斯、阿鲁巴(荷)、特克斯和凯科斯群岛(英)、开曼群岛(英)、百慕大(英)(25) 南美洲(12个国家/1个地区) 北部:哥伦比亚、委内瑞拉、圭亚那、法属圭亚那、苏里南(5) 中西部:厄瓜多尔、秘鲁、玻利维亚(3) 东部:巴西(1) 南部:智利、阿根廷、乌拉圭、巴拉圭(4) 非洲(53个国家/6个地区) 北非:埃及、利比亚、苏丹、突尼斯、阿尔及利亚、摩洛哥、亚速尔群岛(葡)、马德拉群岛(葡)(8)

语言文字规范标准内容

国家语言文字工作委员会语言文字规范(标准) 管理办法 国家部委规章。是教育部和国家语委为了加强语言文字规范(标准)的管理,确保规范(标准)的科学性和权威性,根据相关法律法规的规定而制定,2001年8月27日发布并实施。《办法》共九章三十六条,涵盖规范(标准)的研制计划、研制、送审稿的审定、审批、发布、复审、实施、建档及档案管理等各个方面,是开展语言文字规范(标准)工作的规范性文件。 为了进一步加强语言文字规范标准建设,逐步建立起科学、有序的语言文字管理机制,以适应新世纪语言文字工作发展的需要,现将《国家语言文字工作委员会语言文字规范(标准)管理办法》《国家语言文字工作委员会语言文字规范(标准)审定委员会章程》印发给你们,请遵照执行。 办法全文 第一章总则 第一条为了加强语言文字规范(标准)的管理,确保规范(标准)的科学性和权威性,根据《中华人民共和国标准化法》和《中华人民共和国国家通用语言文字法》的有关规定,制定本办法。 第二条教育部(国家语言文字工作委员会〔简称“国家语委”〕)是语言文字规范(标准)主管部门,负责语言文字规范(标准)管理工作。 第二章规范(标准)的研制计划 第三条编制语言文字规范(标准)的研制计划,应以国家

语言文字工作方针政策为指导,以社会发展需要和语言文字规范标准体系等为依据。 第四条国家语委科研规划领导小组负责制定语言文字规范(标准)中长期规划。根据规划,每年8月在征求国家语委语言文字规范(标准)审定委员会(简称“审委会”)和有关专家学者意见的基础上,提出下年度规范(标准)研制计划,报国家语委科研规划领导小组批准;其中的国家标准须于每年9月底前将研制计划项目草案和项目任务书报国家标准主管部门。 第五条规范(标准)计划项目执行过程中,如有必要可进行调整。调整的原则是: 确属急需制定的项目,可以增补; 确属特殊情况,可以对计划项目的内容进行调整; 确属不宜制定的项目,可以按规定的报批程序撤销。 第六条规范(标准)研制计划项目的调整,须报国家语委科研规划领导小组审批。属于国家标准的,还须报国家标准主管部门批准。未获批准者,应照原计划进行研制。 第三章规范(标准)的研制 第七条国家语委科研规划领导小组办公室(简称“科研办”)按照《国家语言文字工作委员会科研项目管理办法》负责组织项目的前期科研工作,督促规范(标准)研制组按计划完成任务。 第八条研制组应对所研制规范(标准)的质量负责。本着科学、严谨的态度,在深入研究的基础上,参照GB1《标准化工作导则》的规定完成规范(标准)征求意见稿、研制报告(国家标准称为“编制说明”)及有关附件,并通过研讨会、信函等方式向专家和社会相关部门、行业广泛征求意见。研制组的征求意见计划应事先报科研办同意。

世界各国钢材牌号对照表

一、我国钢号表示方法概述 钢的牌号简称钢号,是对每一种具体钢产品所取的名称,是人们了解钢的一种共同语言。我国的钢号表示方法,根据国家标准《钢铁产品牌号表示方法》(GB221-79)中规定,采用汉语拼音字母、化学元素符号和阿拉伯数字相结合的方法表示。即: ①钢号中化学元素采用国际化学符号表示,例如Si,Mn,Cr……等。混合稀土元素用“RE”(或“Xt”)表示。 ②产品名称、用途、冶炼和浇注方法等,一般采用汉语拼音的缩写字母表示,见表。 ③钢中主要化学元素含量(%)采用阿拉伯数字表示。表:GB标准钢号中所采用的缩写字母及其涵义

二、我国钢号表示方法的分类说明 1.碳素结构钢 ①由Q+数字+质量等级符号+脱氧方法符号组成。它的钢号冠以“Q”,代表钢材的屈服点,后面的数字表示屈服点数值,单位是MPa例如Q235表示屈服点(σs)为235 MPa的碳素结构钢。 ②必要时钢号后面可标出表示质量等级和脱氧方法的符号。质量等级符号分别为A、B、C、D。脱氧方法符号:F表示沸腾钢;b表示半镇静钢:Z表示镇静钢;TZ表示特殊镇静钢,镇静钢可不标符号,即Z和TZ都可不标。例如Q235-AF表示A级沸腾钢。 ③专门用途的碳素钢,例如桥梁钢、船用钢等,基本上采用碳素结构钢的表示方法,但在钢号最后附加表示用途的字母。 2.优质碳素结构钢 ①钢号开头的两位数字表示钢的碳含量,以平均碳含量的万分之几表示,例如平均碳含量为0.45%的钢,钢号为“45”,它不是

顺序号,所以不能读成45号钢。 ②锰含量较高的优质碳素结构钢,应将锰元素标出,例如50Mn。 ③沸腾钢、半镇静钢及专门用途的优质碳素结构钢应在钢号最后特别标出,例如平均碳含量为0.1%的半镇静钢,其钢号为10b。3.碳素工具钢 ①钢号冠以“T”,以免与其他钢类相混。 ②钢号中的数字表示碳含量,以平均碳含量的千分之几表示。例如“T8”表示平均碳含量为0.8%。 ③锰含量较高者,在钢号最后标出“Mn”,例如“T8Mn”。 ④高级优质碳素工具钢的磷、硫含量,比一般优质碳素工具钢低,在钢号最后加注字母“A”,以示区别,例如“T8MnA”。4.易切削钢 ①钢号冠以“Y”,以区别于优质碳素结构钢。 ②字母“Y”后的数字表示碳含量,以平均碳含量的万分之几表示,例如平均碳含量为0.3%的易切削钢,其钢号为“Y30”。 ③锰含量较高者,亦在钢号后标出“Mn”,例如“Y40Mn”。 5.合金结构钢 ①钢号开头的两位数字表示钢的碳含量,以平均碳含量的万分之几表示,如40Cr。 ②钢中主要合金元素,除个别微合金元素外,一般以百分之几表示。当平均合金含量<1.5%时,钢号中一般只标出元素符号,而不标明含量,但在特殊情况下易致混淆者,在元素符号后亦可标以数字“1”,例如钢号“12CrMoV”和“12Cr1MoV”,前者铬含量为0.4-0.6%,后者为0.9-1.2%,其余成分全部相同。当合金元素平均含量≥1.5%、≥2.5%、≥3.5%……时,在元素符号后面应标明含量,可相应表示为2、3、4……等。例如18Cr2Ni4WA。 ③钢中的钒V、钛Ti、铝AL、硼B、稀土RE等合金元素,均属微合金元素,虽然含量很低,仍应在钢号中标出。例如20MnVB 钢中。钒为0.07-0.12%,硼为0.001-0.005%。

语言文字规范标准参考

语言文字规范标准参考 参考规范: (一)方针政策 大政方针:国家推广普通话,推行规范字。 推普方针:大力推行,积极普及,逐步提高。 国家政策:推广普通话,科学保护各民族语言。不是要消灭方言。 推行规范汉字,限制使用繁体字和异体字。 招牌:挂在商店门前写明商店名称或经销的货物的牌子,作为商店的标志。 (二)规范标准 1.党政机关公文格式规范标准——国家标准《党政机关公文格式》2012年7月1日正式实施。 2.用语的规范标准——《吉林省国家通用语言文字条例》规定的等级要求 《普通话水平测试等级标准》《普通话异读词审音表》普通话水平测试等级划分:三级六等。一级包括:甲等、乙等;二级包括:甲等、乙等;三级包括:甲等、乙等。 相关人员普通话达标等级要求:《吉林省国家通用语言文字条例》规定: “(一)播音员、节目主持人、影视话剧演员应当达到一级乙等水平,其中省级广播电台和电视台的播音员、节目主持人应当达到一级甲等水平;(二)教师应当达到二级乙等水平(民族自治地方的用本民族语言授课的教师应当达到三级

甲等水平),其中汉语文教师、少数民族汉语教学教师和对外汉语教学教师等特定教学人员应当达到二级甲等水平;普通话语音课教师和口语课教师应当达到一级乙等水平;(三)国家机关工作人员应当达到二级乙等水平,其中民族自治地方本民族国家机关工作人员应当达到三级甲等水平;(四)公共服务行业的播音、解说、讲解、话务、导游等特定岗位人员应当达到二级甲等水平;(五)中等、高等院校在校学生应当达到三级甲等水平,其中播音主持和影视话剧表演专业毕业生应当达到一级乙等水平;师范类中文专业毕业生应当达到二级甲等水平;师范类其他专业毕业生应当达到二级乙等水平。” 3.文字、数字、标点、拼写的规范标准 (1)汉字标准——《通用规范汉字表》(2013年6月)收字总数:8105个 基本通用字集:6500个(一级字表+二级字表) 补充通用字集:1605个(三级字表) (2)数字标准——《出版物上数字用法》,2011年7月颁布,2011年11月1日实施。 国家标准GB/T 15835-2011 阿拉伯数字书写形式:0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10 汉字数字书写形式:〇、一、二、三、四、五、六、七、八、九、十 大写汉字数字书写形式:零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、千、万

常用工具软件 翻译软件概述

常用工具软件翻译软件概述 翻译是使用不同语言的人们互相沟通的纽带和桥梁,是运用一种语言把另一种语言所表达的思想内容准确而又完整地再现的语言活动。 我们每天在不停地说话,每一种语言都是一个符号系统。每个语言符号是概念和音响形象的结合。那么在人与人交往过程中,我们都喜欢使用双方都能够听懂并且理解的语言,他就像人与人之间沟通的桥梁,如图16-1所示。 图16-1 语言交流 当两个使用不同国语的语言的人进行交往时,就必须通过翻译人员让将双方的语言翻译成互相都能够听懂的语言,所以翻译起着越来越重要的作用。 在当今信息社会里,人们渐渐地将翻译工作交于计算机来完成,由此便产生了翻译软件。并且计算机翻译软件完全替代手工翻译,但由于翻译软件是通过语句的单词进行译意,所以无法让人们满意。软件翻译质量与人工翻译相比,还存在着差距,市场上也还没有一个完全达到人们理想水平的、非常完善翻译软件存在。 因为人工翻译时,会掌握两种不同的翻译方法:把原文的意思完整且正确地表达出来,基本上保留原文的语言形式,同时译出的文字又明白易懂,符合语言规范,这种翻译方法称作“直译”。然而,英语和汉语毕竟是两种不同的语言,有时直译往往行不通。在这种情况下,译者就要考虑怎样摆脱原文的句子结构,用不同的汉语形式来表达原文的意思。因此,译者必须先吃透原文,在正确理解原意的基础上,重新遣词造句,把原文的意思用通顺的汉语表达出来,这种翻译方法称作“意译”。意译时,译者须把握分寸,务必把原文的意思完整而又正确地译出来,不得随意增删内容或篡改原意,否则就会犯胡译乱译的毛病。 但是翻译软件在一定意义上能够通过查阅词库、自动记忆翻译结果等功能,帮助我们提高工作效率。由于翻译软件具备了大容量的专业词库、交互翻译功能、记忆功能等,所以在具体应用中人们感到较为省时、省力。

世界七大洲各国的分布及概况世界各国划分一览表大全

世界七大洲各国的分布及概况世界各国划分一览表 大全 The pony was revised in January 2021

亚洲(48个国家) 东亚:中国、蒙古、朝鲜、韩国、日本(5) 东南亚:菲律宾、越南、老挝、柬埔寨、缅甸、泰国、马来西亚、文莱、新加坡、印度尼西亚、东帝汶(11) 南亚:尼泊尔、不丹、孟加拉国、印度、巴基斯坦、斯里兰卡、马尔代夫(7) 中亚:哈萨克斯坦、吉尔吉斯斯坦、塔吉克斯坦、乌兹别克斯坦、土库曼斯坦(5) 西亚:阿富汗、伊拉克、伊朗、叙利亚、约旦、黎巴嫩、以色列、巴勒斯坦、沙特阿拉伯、巴林、卡塔尔、 科威特、阿拉伯联合酋长国(阿联酋)、阿曼、也门、格鲁吉亚、亚美尼亚、阿塞拜疆、土耳其、塞浦路斯(20) 注:锡金现已并入印度成为其一个邦,所以这里不出现 欧洲(43个国家/1个地区) 北欧:芬兰、瑞典、挪威、冰岛、丹麦法罗群岛(丹)(6) 东欧:爱沙尼亚、拉脱维亚、立陶宛、白俄罗斯、俄罗斯、乌克兰、摩尔多瓦(7) 中欧:波兰、捷克、斯洛伐克、匈牙利、德国、奥地利、瑞士、列支敦士登(8) 西欧:英国、爱尔兰、荷兰、比利时、卢森堡、法国、摩纳哥(7) 南欧:罗马尼亚、保加利亚、塞尔维亚、马其顿、阿尔巴尼亚、希腊、斯洛文尼亚、克罗地亚、波斯尼亚和墨塞哥维那、意大利、梵蒂冈、圣马力诺、马耳他、西班牙、葡萄牙、安道尔(16)

北美洲(23个国家/13个地区) 北美:加拿大、美国、墨西哥、格陵兰(丹)(4) 中美洲:危地马拉、伯利兹、萨尔瓦多、洪都拉斯、尼加拉瓜、哥斯达黎加、巴拿马(7) 加勒比海地区:巴哈马、古巴、牙买加、海地、多米尼加共和国、安提瓜和巴布达、圣基茨和尼维斯、多米尼克、圣卢西亚、圣文森特和格林纳丁斯、格林纳达、巴巴多斯、特立尼达和多巴哥、波多黎各(美)、英属维尔京群岛、美属维尔京群岛、安圭拉(英)、蒙特塞拉特(英)、瓜德罗普(法)、马提尼克(法)、 荷属安的列斯、阿鲁巴(荷)、特克斯和凯科斯群岛(英)、开曼群岛(英)、百慕大(英)(25) 南美洲(12个国家/1个地区) 北部:哥伦比亚、委内瑞拉、圭亚那、法属圭亚那、苏里南(5) 中西部:厄瓜多尔、秘鲁、玻利维亚(3) 东部:巴西(1) 南部:智利、阿根廷、乌拉圭、巴拉圭(4) 非洲(53个国家/6个地区) 北非:埃及、利比亚、苏丹、突尼斯、阿尔及利亚、摩洛哥、亚速尔群岛(葡)、马德拉群岛(葡)(8)

相关主题