Sie sind auf Seite 1von 11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

CFD directo
Los Arquitectos de OpenFOAM
Search
Casa

OpenFOAM

Entrenamiento

Desarrollo

Apoyo

Contctenos

OpenFOAM Gua del usuario: 4,2 / formato de archivo de


salida de entrada bsico
[ Tabla de contenido ] [ ndice ]
[ anterior ] [ siguiente ]

4.2 / Formato de archivo de entrada bsico de salida


OpenFOAM necesita leer una serie de estructuras de datos, tales como cadenas,
escalares, vectores, tensores, listas y campos. El formato de entrada / salida (I / O)
de archivos est diseado para ser extremadamente flexible para permitir al
usuario modificar el I / O en aplicaciones OpenFOAM tan fcilmente como sea
posible. La E / S sigue un simple conjunto de reglas que hacen que los archivos muy
fcil de entender, a diferencia de muchos paquetes de software cuyo formato de
archivo no slo puede ser difcil de entender intuitivamente sino que adems no se
publicarn en la web. El formato de archivo OpenFOAM se describe en las
siguientes secciones.

4.2.1 Reglas de sintaxis general


El formato sigue algunos principios generales del cdigo fuente de C ++.
Los archivos tienen forma libre, sin ningn significado especial asignado a
cualquier columna y sin necesidad de indicar la continuacin a travs de
lneas.
Lneas no tienen ningn significado particular, con excepcin de un //
delimitador de comentario que hace OpenFOAM ignorar cualquier texto que
le sigue hasta el final de la lnea.
Un comentario sobre mltiples lneas se hace por encerrar el texto entre /*
y */ delimitadores.
http://cfd.direct/openfoam/userguide/basicfileformat/

Formacin
OpenFOAM
15 de junio Houston,
TX
07 de septiembre en
Londres, Reino
Unido

Mensajes
Recientes
Dnde est el
cdigo fuente?
OpenFOAM Pilot
Training Sessions
junio 2015
Gua del usuario
OpenFOAM
Capacitacin CFD
con OpenFOAM

1/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

con OpenFOAM
Formacin
OpenFOAM
Software

4.2.2 Diccionarios
OpenFOAM utiliza diccionarios como el medio ms comn de la especificacin de
datos. Un diccionario es una entidad que contiene las entradas de datos que se
pueden recuperar por la E / S por medio de palabras clave . Las entradas de
palabras clave siguen el formato general

Tensor Matemticas
Gua OpenFOAM
Linux
Anlisis CFD Apoyo

< palabraclave> < dataEntry1> ...< dataEntryN>

La mayora de las entradas son entradas de datos individuales de la forma:

Follow
Follow@cfddirect

< palabraclave> < DataEntry>

Tweets

La mayora de los archivos de datos OpenFOAM son propios diccionarios que


contienen un conjunto de entradas de palabras clave. Diccionarios proporcionan
los medios para organizar las entradas en categoras lgicas y se pueden
especificar jerrquicamente de forma que cualquier diccionario puede contener en
s una o ms entradas del diccionario. El formato de un diccionario es especificar el
nombre del diccionario seguido de entradas de palabras clave encerradas entre
llaves {} de la siguiente manera
< dictionaryName>
{
...depalabrasclaveentradas...
}

Seguir

CFD
01 de junio
directa
#OpenFOAM
@ CFDdirect
Rediseo y reescritura
fvOptions en
# OpenFOAM dev para
mejorar el cdigo
sustainability, # free
# opensource :
github.com/OpenFOAM/OpenF
Expandir
CFD
31 de mayo
directa
#OpenFOAM

4.2.3 El encabezado del archivo de datos


Todos los archivos de datos que se leen y escriben por OpenFOAM comienzan con
un diccionario llamado FoamFileque contiene un conjunto estndar de entradas de
palabras clave, que se enumeran en la Tabla 4.1 .

Palabra
clave

Descripcin

Entrada

versin

E / S versin del formato

2.0

formato

Formato de datos

ASCII / binario

ubicacin

Ruta al archivo, en "..."

(Opcional)

http://cfd.direct/openfoam/userguide/basicfileformat/

2/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

clase

objeto

Clase OpenFOAM construye a


partir del archivo de datos de
que se trate

normalmente diccionario o
un campo, por ejemplo volVec

Nombre Del Archivo

por ejemplo controlDict

torField

Tabla 4.1: palabras clave Header entradas para los archivos de datos.
La tabla ofrece una breve descripcin de cada entrada, que es probablemente
suficiente para la mayora de las entradas con la notable excepcin de laclase .
La clasede entrada es el nombre de la clase C ++ en la biblioteca OpenFOAM que
se construye a partir de los datos en el archivo. Sin conocimiento del cdigo
subyacente que llama al archivo para ser ledo, y el conocimiento de las clases
OpenFOAM, el usuario ser probablemente incapaz de conjeturar la clase de
entrada correctamente. Sin embargo, la mayora de los archivos de datos con
entradas de palabras clave simples se leen en una interna diccionario clase y, por
tanto, la clase de entrada es eldiccionario en esos casos.
El siguiente ejemplo muestra el uso de palabras clave para proporcionar datos para
un caso utilizando los tipos de entrada descritos hasta ahora. El extracto, de un
fvSolution archivo de diccionario, contiene 2 diccionarios, solucionadores y PISO .
El solucionadores diccionario contiene mltiples entradas de datos para solver y
tolerancias para cada una de las ecuaciones de presin y velocidad, representada
por el p y T palabras clave respectivamente; el PISO diccionario contiene controles
algoritmo.
17
18 solucionadores
19 {
20 p
21 {
22 solucionadorPCG
23 preacondicionadorDIC
24 tolerancia1e06
25 RELTOL0
26 }
27
28 U
29 {
30 solucionadorsmoothSolver
31 mssuavessymGaussSeidel
32 tolerancia1e05
33 RELTOL0
34 }

}
http://cfd.direct/openfoam/userguide/basicfileformat/

3/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

35 }
36
37 PISO
38 {
39 nCorrectors2
40 nNonOrthogonalCorrectors0
41 pRefCell0
42 pRefValue0
43 }
44
45
46 //************************************************************

*************//

4.2.4 Listas
Aplicaciones OpenFOAM contienen listas, por ejemplo, una lista de vrtice
coordenadas de una descripcin de malla. Las listas se encuentran comnmente en
E / S y tienen un formato propio en el que las entradas estn contenidas dentro de
llaves redondas () . Tambin hay una opcin de formato que precede a las llaves
redondas:
simple
la palabra clave es seguida inmediatamente por llaves redondas
< Nombrelista>
(
...entradas...
)

numerado
la palabra clave es seguido por el nmero de elementos < n> en la lista
< Nombrelista>
< n>
(
...entradas...
)

identificador simblico
la palabra clave es seguido por un identificador de nombre de la clase de
etiquetas < Type > , donde < Tipo > indica lo contiene la lista, por ejemplo, para
una lista de escalares elementos es
< Nombrelista>
Lista< escalar>
http://cfd.direct/openfoam/userguide/basicfileformat/

4/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

< n> //opcionales


(
...entradas...
)

Tenga en cuenta que < escalar> en lalista< escalar> no es un nombre


genrico, pero el texto real que debe ser ingresado.
El formato simple es una forma conveniente de escribir una lista. Los otros
formatos permiten el cdigo para leer los datos ms rpido ya que el tamao de la
lista se puede asignar a la memoria antes de la lectura de los datos. Por tanto, el
formato simple se prefiere para las listas cortas, donde el tiempo de lectura es
mnima, y
los otros formatos se prefieren para las listas largas.

4.2.5 Escalares, vectores y tensores


Un escalar es un solo nmero representado como tal en un archivo de datos. Un

vectores un VectorSpace de rango 1 y dimensin 3, y puesto que el nmero de


elementos siempre se fija a 3, se utiliza el formato de lista simple. Por lo tanto, un
vector
se escribe:
(1.01.11.2)

En OpenFOAM, un tensor es un VectorSpace de rango 2 y 3 dimensiones, por lo


que las entradas de datos siempre se fijan a 9 nmeros reales. Por lo tanto el
tensor de identidad se puede escribir:
(
100
010
001
)

Este ejemplo demuestra la forma en que OpenFOAM ignora el retorno de lnea es


para que la entrada se puede escribir en varias lneas. Se trata no de manera
diferente a una lista de los nmeros en una sola lnea:
(100010001)

4.2.6 Unidades dimensionales


En la mecnica de medios continuos, las propiedades estn representados en
http://cfd.direct/openfoam/userguide/basicfileformat/

5/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

En la mecnica de medios continuos, las propiedades estn representados en


algunas unidades elegidos, por ejemplo masa en kilogramos ( ), el volumen en

metros cbicos (
), la presin en pascales (
). Operaciones algebraicas
se deben realizar en estas propiedades utilizando unidades consistentes de
medicin; en particular, la suma, resta y la igualdad son slo fsicamente
significativa para las propiedades de las mismas unidades dimensionales. Como
medida de seguridad contra la implementacin de una operacin sin sentido,
OpenFOAM concede dimensiones a los datos y las propiedades fsicas de campo y
realiza la comprobacin dimensin en cualquier operacin tensor.
El formato de E / S para un dimensionSet es 7 escalares delimitados por corchetes,
por ejemplo,
[0210000]

No.

Propiedad

Unidad SI

Unidad USCS

Masa

kilogramo (kg)

libra-masa (lbm)

Longitud

metros (m)

pie (ft)

Tiempo

- - - - Segundo (s) - - - -

Temperatura

Kelvin (K)

Cantidad

- - - - Mol (mol) - - - -

Corriente

- - - - Amperios (A) - - - -

Intensidad luminosa

- - - - Candela (cd) - - - -

Rankine ( R)

Tabla 4.2: unidades de base para SI y USCS


donde cada uno de los valores corresponde a la potencia de cada una de las
unidades de basede medida que figuran en la Tabla 4.2 . La tabla muestra las
unidades de base para el systme Internacional (SI) y el Sistema consuetudinario
Estados Unidos (USCS) pero OpenFOAM se puede utilizar con cualquier sistema
de unidades. Todo lo que se requiere es que el dato de entrada es correcto para el

conjunto seleccionado de unidades . Es particularmente importante reconocer que


OpenFOAM requiere algunas constantes fsicas acotados, por ejemplo, el gas
universal constante , para ciertos clculos, por ejemplo, el modelado
termofsicas. Estas constantes de dimensiones se especifican en un
DimensionedConstant sub-diccionario de principal controlDict archivo de la
instalacin OpenFOAM ( $ WM _Informacin del proyecto _DIR / etc / controlDict
). Por defecto estas constantes se establecen en unidades del SI. Aquellos que
deseen utilizar los USCS o cualquier otro sistema de unidades debe modificar estas
constantes a su conjunto elegido de unidades en consecuencia.

4.2.7 Tipos acotados


http://cfd.direct/openfoam/userguide/basicfileformat/

6/11

4.2.7 Tipos acotados

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

Propiedades fsicas suelen especificarse con sus dimensiones asociadas. Estas


entradas tienen el formato que el siguiente ejemplo de un dimensionedScalar
demuestra:
nunu[0210000]1

La primera nu es la palabra clave; la segunda nu es el nombre palabra almacenada


en la clase de palabra , por lo general elegida para ser la misma que la palabra clave;
la siguiente entrada es la dimensionSet y la entrada final es el escalar de valor.

4.2.8 Campos
Gran parte de los datos de E / S en OpenFOAM son campos tensoriales, por
ejemplo, la velocidad, los datos de presin, que se leen desde y escriben en los
directorios de tiempo. OpenFOAM escribe los datos de campo utilizando las
entradas de palabras clave como se describe en la Tabla 4.3 .

Palabra clave

Descripcin

Ejemplo

dimensiones

Dimensiones del
campo

[1120000]

internalField

Valor de campo
interno

uniforme(100)

boundaryField

Campo de Lmites

ver archivo listado en la seccin


4.2.8

Tabla 4.3: Principales palabras clave usadas en los diccionarios de campo.


Los datos comienza con una entrada para sus dimensiones . Despus de eso, es la i
nternalField , descrito en una de las siguientes maneras.
Campo Uniforme
un solo valor se asigna a todos los elementos dentro del campo, tomando
forma:
internalFielduniforme< entrada>

Campo no uniforme
cada elemento de campo se le asigna un valor nico de una lista, de la siguiente
manera en la que se recomienda la forma identificador muestra de lista:
internalFieldnouniforme< Lista>

http://cfd.direct/openfoam/userguide/basicfileformat/

7/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

El boundaryField es un diccionario que contiene un conjunto de entradas cuyos


nombres corresponden a cada uno de los nombres de los parches de lmites que
figuran en el lmite de archivos en el Polymesh directorio. Cada entrada parche es
en s un diccionario que contiene una lista de entradas de palabras clave. La
entrada obligatoria, tipo , describe la condicin de campo parche especificado
para el campo. Las entradas restantes corresponden al tipo de condicin de campo
patch seleccionado y puede incluir normalmente los datos de campo que
especifican las condiciones iniciales en las caras de parche. Una seleccin de las
condiciones del campo de parches disponibles en OpenFOAM se enumeran en la
Tabla 5.2 y la Tabla 5.3 con una descripcin y los datos que se debe especificar
con l. Campo Ejemplo entradas del diccionario para la velocidad U se muestran a
continuacin:
17 dimensiones[0110000]
18
19 internalFielduniforme(000)
20
21 boundaryField
22 {
23 movingWall
24 {
25 TipofixedValue
26 valoruniforme(100)
27 }
28
29 fixedWalls
30 {
31 TipofixedValue
32 valoruniforme(000)
33 }
34
35 delDerechoYDelReves
36 {
37 Tipodevaco
38 }
39 }
40
41 //************************************************************

*************//

4.2.9 Directivas y sustituciones de macro


Hay sintaxis del archivo adicional que ofrece una gran flexibilidad para la creacin
de archivos de casos OpenFOAM, a saber directivas y sustituciones de macro.
Directivas son comandos que pueden estar contenidos dentro de los archivos de
casos que comienzan con la almohadilla ( # smbolo). Sustituciones Macro
http://cfd.direct/openfoam/userguide/basicfileformat/

8/11

4/6/2015

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

casos que comienzan con la almohadilla ( # smbolo). Sustituciones Macro


comienzan con el dlar ( $ smbolo).
En la actualidad existen comandos de 4 Directiva disponible en OpenFOAM:
#include"< nombreArchivo> "

(O #includeIfPresent"< nombreArchivo> " lee el archivo de nombre <


nombreArchivo > ;
#inputMode

tiene dos opciones: fusin , que fusiona las entradas de palabras clave en los
diccionarios sucesivas, de manera que una entrada de palabra clave
especificada en un solo lugar ser anulado por una especificacin posterior de
la misma entrada de la palabra clave; sobrescribir , que sobrescribe el
contenido de un diccionario entero; en general, use fusin ;
#remove< keywordEntry>

elimina cualquier entrada de palabra clave incluida; puede tomar una palabra
o expresin regular;
#codeStream

seguido del cdigo literal C ++, compila, cargas y ejecuta el cdigo en la


marcha para generar la entrada.

4.2.10 Las directivas #include y #inputMode


Por ejemplo, digamos que un usuario desea establecer un valor inicial de la presin
de una vez para ser utilizado como el campo interno y el valor inicial en un lmite.
Podramos crear un archivo, por ejemplo, el nombre initialConditions , que
contiene las siguientes entradas:
presin1e+05
#inputModefusin

Para utilizar esta presin, tanto para los campos de lmites internos y iniciales, el
usuario simplemente incluir las siguientes sustituciones de macro en el archivo de
campo de presin p :
#includeinitialConditions
internalFielduniform$pressure
boundaryField
{
patch1

http://cfd.direct/openfoam/userguide/basicfileformat/

9/11

4/6/2015

patch1

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

{
typefixedValue
value$internalField
}
}

Este es un ejemplo bastante trivial que simplemente demuestra cmo funciona


esta funcionalidad. Sin embargo, la funcionalidad se puede utilizar de muchas
maneras, ms potentes particularmente como un medio de generalizar datos de
casos para adaptarse a las necesidades del usuario. Por ejemplo, si un usuario tiene
un conjunto de casos que requieren la misma configuracin de modelo de
turbulencia RAS, un solo archivo puede ser creado con los ajustes que
simplemente se incluyen en el RASProperties archivo de cada caso. Sustituciones
de macro pueden extenderse mucho ms all de un solo valor, de modo que, por
ejemplo, conjuntos de condiciones de contorno se pueden predefinir y pidieron
por una sola macro. La medida en que tal funcionalidad se puede utilizar es casi
interminable.

4.2.11 La directiva #codeStream


El #codeStream Directiva toma cdigo C ++ que se compila y ejecuta para ofrecer la
entrada de diccionario. Las instrucciones de cdigo y compilacin se especifican a
travs de las siguientes palabras clave.
Cdigo : especifica el cdigo, llamado con argumentos ostream&os y const
diccionarioydict que el usuario puede utilizar en el cdigo, por ejemplo,

para buscar entradas de palabras clave dentro del diccionario caso actual
(archivo).
codeInclude (opcional): especifica adicional de C ++ #include
declaraciones para incluir archivos OpenFOAM.
CodeOpciones (opcional): especifica ningn banderas de compilacin
adicionales que se aadirn a EXE_INC en Marca / opciones .
codeLibs (opcional): especifica ningn banderas de compilacin adicionales
que se aadirn a LIB_LIBS en Marca / opciones .
Cdigo, como cualquier cadena, se puede escribir a travs de mltiples lneas
encerrndolo dentro de los delimitadores de hash-soporte, es decir #{ ...#} .
Cualquier cosa entre estos dos delimitadores se convierte en una cadena con
todas las nuevas lneas, citas, etc. conservados.
Un ejemplo de #codeStream es la siguiente. El cdigo en el controlDict archivo
levanta las entradas del diccionario y hace un simple clculo para el intervalo de
escritura:
horaInicio0
endTime100
http://cfd.direct/openfoam/userguide/basicfileformat/

10/11

4/6/2015

endTime100

OpenFOAMGuadelusuario:4,2/formatodearchivodesalidadeentradabsico

...
writeInterval#codeStream
{
cdigo
#{
escalarinicio=readScalar(dict.lookup("horaInicio"))
escalarfinal=readScalar(dict.lookup("endTime"))
etiquetanDumps=5
os<<((fininicio)/nDumps)
#}
}

[ anterior ] [ siguiente ]
2011-2015 Fundacin OpenFOAM

Chris Greenshields

01 de marzo 2015

Gua del usuario

OpenFOAM Gua del usuario: 4.1 Estructura de archivos de casos


OpenFOAM

OpenFOAM Gua del usuario: control de entrada / salida 4.3 Tiempo y


datos

Copyright 2015 CFD Directo | OpenFOAM es una marca


comercial registrada de OpenCFD Ltd
Sobre Nosotros

http://cfd.direct/openfoam/userguide/basicfileformat/

Contctenos

Google+

Gorjeo

LinkedIn

Website Trminos de Uso

Intimidad

11/11

Das könnte Ihnen auch gefallen