Você está na página 1de 7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

CFD directo
Los Arquitectos de OpenFOAM
Search
Casa

OpenFOAM

Entrenamiento

Desarrollo

Apoyo

Contctenos

OpenFOAM Gua del usuario: 3.4 La ejecucin de aplicaciones


en paralelo
[ Tabla de contenido ] [ ndice ]
[ anterior ] [ siguiente ]

3.4 Aplicaciones que se ejecutan en paralelo


En esta seccin se describe cmo ejecutar OpenFOAM en paralelo en
procesadores distribuidos. El mtodo de la computacin en paralelo utilizado por
OpenFOAM se conoce como la descomposicin de dominio, en el que la geometra
y campos asociados se rompen en pedazos y se asignan a procesadores separados
para la solucin. El proceso de cmputo paralelo implica: la descomposicin de los
campos de malla y; ejecutar la aplicacin en paralelo; y,-post tramitacin del caso
descompuesto como se describe en las siguientes secciones. El funcionamiento
paralelo utiliza el dominio pblico openmpi implementacin de la interfaz de paso
de mensajes estndar (MPI).

3.4.1 La descomposicin de los datos de campo iniciales


malla y
Las mallas y los campos se descomponen con el decomposeParutilidad. El objetivo
subyacente es para romper el dominio con el mnimo esfuerzo, pero de tal manera
a garantizar una solucin bastante econmica. La geometra y los campos se
dividen de acuerdo a un conjunto de parmetros especificados en un diccionario
llamado decomposeParDictque debe estar ubicado en el sistema de directorio del
caso de inters. Un ejemplo decomposeParDict diccionario se puede copiar desde
el interFoam / damBreak tutorial si el usuario lo requiere; las entradas del
http://cfd.direct/openfoam/userguide/runningapplicationsparallel/

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

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

el interFoam / damBreak tutorial si el usuario lo requiere; las entradas del


diccionario en su interior se reproducen a continuacin:
17
18 numberOfSubdomains4
19
20 mtodosencillo
21
22 simpleCoeffs
23 {
24 n(221)

con OpenFOAM
Formacin
OpenFOAM
Software
Tensor Matemticas
Gua OpenFOAM
Linux
Anlisis CFD Apoyo

25 delta0,001
26 }
27
28 hierarchicalCoeffs
29 {
30 n(111)
31 delta0,001
32 paraxyz
33 }
34

Follow
Follow@cfddirect

Tweets

Seguir

CFD
01 de junio
directa
#OpenFOAM
@ CFDdirect

39

Rediseo y reescritura
fvOptions en
# OpenFOAM dev para
mejorar el cdigo
sustainability, # free
# opensource :
github.com/OpenFOAM/OpenF

40 distribuidosno

Expandir

35 manualCoeffs
36 {
37 ArchivoDeDatos""
38 }

41
42 races()
43

CFD
31 de mayo
directa
#OpenFOAM

44
45 //************************************************************

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

El usuario tiene la opcin de cuatro mtodos de descomposicin, especificados por


el mtodo de palabras clave como se describe a continuacin.
simple

Descomposicin geomtrica simple en el que el dominio se divide en piezas de


direccin, por ejemplo, 2 piezas en la direccin, en 1 etc.
jerrquica

La descomposicin geomtrica jerrquico que es el mismo que sencilla ,


excepto el usuario especifica el orden en el que se realiza la divisin de
direccin, por ejemplo, por primera vez en la direccin x, entonces la
direccin x , etc.
escocs
http://cfd.direct/openfoam/userguide/runningapplicationsparallel/

2/7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

Descomposicin Scotch que no requiere de entrada geomtrica del usuario y


los intentos de minimizar el nmero de lmites de procesador. El usuario puede
especificar una ponderacin para la descomposicin entre los procesadores, a
travs de una opcionales processorWeightspalabra clave que puede ser til en
las mquinas con diferentes rendimiento entre procesadores. Tambin hay
una entrada de palabra clave opcional estrategiaque controla la estrategia de
descomposicin a travs de una cadena compleja suministrada al escocs.
Para obtener ms informacin, consulte el archivo de cdigo fuente: $
ESPUMA _SRC / decompositionMethods / decompositionMethods /
scotchDecomp / scotchDecomp.C
manual

Descomposicin Manual, donde el usuario especifica directamente la


asignacin de cada celda a un procesador particular.
Para cada mtodo , hay un conjunto de coeficientes especificados en un subdiccionario de decompositionDict , llamado < mtodo > coeffs como se muestra en
la lista Diccionario. El conjunto completo de entradas de palabras clave en el
decomposeParDict diccionario se explican en la Tabla 3.4 .

Entradas obligatorios
numberOfSubdomains

Nmero total de subdominios

mtodo

Mtodo de descomposicin

simple/ jerrqui
ca/ scotch/ meti
s/ Manual/

Nmero de subdominios en , ,

delta

Cell factor de sesgo

Tpicamente,

simpleCoeffsentradas
)

hierarchicalCoeffsentradas
n

Nmero de subdominios en , ,

delta

Cell factor de sesgo

Tpicamente,

orden

Orden de descomposicin

xyz / xzy / yxz ...

scotchCoeffs entradas

Lista de los factores de


ponderacin para la asignacin de
(Opcional)
las clulas a los procesadores; < wt
http://cfd.direct/openfoam/userguide/runningapplicationsparallel/
processorWeights

(< wt1> ...<


WTN> )
3/7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

las clulas a los procesadores; < wt


1> es el factor de ponderacin
para el procesador 1, etc ; pesos
estn normalizados por lo que
puede tomar cualquier rango de
valores.
estrategia

Estrategia de descomposicin
(opcional); por defecto es "b"

manualCoeffs entradas
archivodedatos

Nombre del archivo que contiene


los datos de la asignacin de las
clulas para procesadores

"< nombreArchi
vo> "

Entradas de datos distribuidos (opcional) - ver seccin 3.4.3


repartido

Los datos distribuidos a travs de


varios discos?

sino

races

Caminos de raz a los directorios


de casos; < rt1> es la ruta raz
para el nodo 1, etc.

(< rt1> ...<


RTN> )

Tabla 3.4: Palabras clave en decompositionDict diccionario.


El decomposePar utilidad se ejecuta de la manera normal escribiendo
decomposePar

Al finalizar, se habr creado un conjunto de subdirectorios, uno para cada


procesador, en el directorio de caso. Los directorios se nombran procesador
donde
representa un nmero de procesador y contiene un directorio
de tiempo, que contiene las descripciones de los campos descompuestos, y una
constante / Polymesh directorio que contiene la descripcin de malla
descompuesto.

3.4.2 Ejecucin de un caso descompuesto


Un caso OpenFOAM descompuesto se ejecuta en paralelo con el openmpi
implementacin de MPI. openmpi se puede ejecutar en una mquina
multiprocesador local de manera muy simple, pero cuando se ejecuta en mquinas
en una red, un archivo debe ser creado que contiene los nombres de host de las
mquinas. El archivo se puede dar cualquier nombre y situado en cualquier camino.
En la siguiente descripcin se har referencia a un archivo de este tipo por el
nombre genrico, incluyendo la ruta completa, < mquinas > .
http://cfd.direct/openfoam/userguide/runningapplicationsparallel/

4/7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

El < mquinas > archivo contiene los nombres de las mquinas enumeran una
mquina por lnea. Los nombres deben corresponder a un nombre de host resuelto
por completo en el / etc / hosts de archivos de la mquina en la que el openmpi se
ejecuta. La lista debe contener el nombre de la mquina que ejecuta el openmpi .
Cuando un nodo del equipo contiene ms de un procesador, el nombre de nodo
puede ser seguido por la entrada cpu= , donde es el nmero de procesadores

openmpi deben ejecutarse en ese nodo.


Por ejemplo, imaginemos un usuario desea ejecutar openmpi de la mquina aaa en
las siguientes mquinas: aaa , bbb , que cuenta con 2 procesadores; y ccc . Los <

mquinas > contendran:


aaa
bbbcpu=2
ccc

Una aplicacin que se ejecuta en paralelo usando mpirun .


mpirunhostfile< mquinas> np< nProcs>
< foamExec> < otherArgs> paralelo>logy

donde: < nProcs> es el nmero de procesadores; < foamExec> es el ejecutable,


por ejemplo icoFoam ; y, la salida se redirige a un archivo llamado registro . Por
ejemplo, si icoFoam se ejecuta en 4 nodos, se especifica en un archivo llamado

mquinas , en la cavidad del tutorial en el $ ESPUMA _RUN tutoriales / /


incompresible / icoFoam directorio, entonces el siguiente comando debe ser
ejecutado:
mpirunhostfilemquinasnp4icoFoamparalelo>logy

3.4.3 La distribucin de los datos entre varios discos


Los archivos de datos pueden necesitar ser distribuida si, por ejemplo, si slo
discos locales se utilizan con el fin de mejorar el rendimiento. En este caso, el
usuario puede encontrar que la ruta de acceso al directorio raz caso puede diferir
entre las mquinas. Los caminos deben entonces ser especificados en el
decomposeParDict diccionario utilizando distribuidosy racespalabras clave. La
distribuido entrada debe decir
distribuidos

y la raz de entrada es una lista de rutas de raz, < root0> , < root1> , ..., para

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

5/7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

y la raz de entrada es una lista de rutas de raz, < root0> , < root1> , ..., para
cada nodo
races
< funcinnroots>
(
"< root0> "
"< root1> "
...
)

donde < funcinnroots> es el nmero de races.


Cada uno de los procesadores de directorios se deben colocar en el directorio de
caso en cada una de las rutas de acceso de root especificados en el

decomposeParDict diccionario. El sistema de directorio y los archivos dentro de la


constante directorio tambin deben estar presentes en cada directorio caso. Nota:
los archivos de la constante se necesitan directorio, pero el Polymesh directorio no
es.

3.4.4 Post-tratamiento paralelo casos procesados


Cuando los casos post-procesamiento que se han ejecutado en paralelo el usuario
tiene dos opciones:
reconstruccin de los datos de malla y de campo para recrear el dominio y
campos completa, que puede ser post-procesado de forma normal;
post-procesamiento de cada segmento del dominio descompuesto
individualmente.

3.4.4.1 La reconstruccin de los datos malla y


Despus de un caso se ha ejecutado en paralelo, se puede reconstruir para el postprocesamiento. El caso se reconstruye mediante la fusin de los grupos de
directorios de tiempo de cada procesador de directorio en un nico conjunto de
directorios de tiempo. El reconstructPar utilidad realiza una reconstruccin tales
ejecutando el comando:
reconstructPar

Cuando los datos se distribuyen en varios discos, hay que primero copia en el
directorio de caso local para la reconstruccin.

3.4.4.2 Post-tratamiento de los casos descompuesto


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

6/7

4/6/2015

OpenFOAMGuadelusuario:3.4Laejecucindeaplicacionesenparalelo

El usuario puede post-procesar casos descompuestos utilizando el PARAFOAM


post-procesador, que se describe en la seccin 6.1 . Toda la simulacin puede ser
post procesados
por reconstruir el caso o, alternativamente, se puede procesar
posteriormente un segmento del dominio descompuesto individualmente por
simplemente tratar el directorio individuo procesador como un caso en su propio
derecho.
[ anterior ] [ siguiente ]
2011-2015 Fundacin OpenFOAM

Chris Greenshields

01 de marzo 2015

Gua del usuario

OpenFOAM Gua del usuario: 3.3 La ejecucin de aplicaciones

OpenFOAM Gua del usuario: 3,5 solucionadores estndar

Copyright 2015 CFD Directo | OpenFOAM es una marca


comercial registrada de OpenCFD Ltd
Sobre Nosotros

Contctenos

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

Google+

Gorjeo

LinkedIn

Website Trminos de Uso

Intimidad

7/7

Você também pode gostar