openfoam guía del usuario_ 3.4
TRANSCRIPT
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
1/7
CFD directoLos Arquitectos de OpenFOAM
Search
OpenFOAM Guía del usuario: 3.4 La ejecución de aplicaciones
en paralelo
[ Tabla de contenido ] [ Índice ]
[ anterior ] [ siguiente ]
3.4 Aplicaciones que se ejecutan en paralelo
En esta sección se describe cómo ejecutar OpenFOAM en paralelo en
procesadores distribuidos. El método de la computación en paralelo utilizado por
OpenFOAM se conoce como la descomposición de dominio, en el que la geometrí ay campos asociados se rompen en pedazos y se asignan a procesadores separados
para la solución. El proceso de cómputo paralelo implica: la descomposición de los
campos de malla y; ejecutar la aplicación en paralelo; y,-post tramitación del caso
descompuesto como se describe en las siguientes secciones. El funcionamiento
paralelo utiliza el dominio público openmpi implementación de la interfaz de paso
de mensajes estándar (MPI).
3.4.1 La descomposición de los datos de campo iniciales
malla yLas mallas y los campos se descomponen con el decomposePar utilidad. El objetivo
subyacente es para romper el dominio con el mínimo esfuerzo, pero de tal manera
a garantizar una solución bastante económica. La geometría y los campos se
dividen de acuerdo a un conjunto de parámetros especificados en un diccionario
llamado decomposeParDict que debe estar ubicado en el sistema de directorio del
caso de interés. Un ejemplo decomposeParDict diccionario se puede copiar desde
el interFoam / damBreak tutorial si el usuario lo re uiere; las entradas del
Formación
OpenFOAM
15 de junio Houston,
TX
07 de septiembre en
Londres, ReinoUnido
Mensajes
Recientes
¿Dónde está el
código fuente?
OpenFOAM Pilot
Training Sessions
junio 2015
Guía del usuario
OpenFOAM
Capacitación CFD
Casa OpenFOAM Entrenamiento Desarrollo Apoyo Contáctenos
http://cfd.direct/openfoam-training/londonhttp://cfd.direct/openfoam/user-guide/running-applicationshttp://cfd.direct/openfoam/user-guide/standard-solvershttp://cfd.direct/openfoam/user-guidehttp://cfd.direct/openfoam/user-guidehttp://cfd.direct/openfoam/user-guidehttp://cfd.direct/openfoam/user-guide/indicesli1/http://cfd.direct/http://cfd.direct/openfoam/http://cfd.direct/openfoam-training/http://cfd.direct/openfoam-development/http://cfd.direct/openfoam-support/http://cfd.direct/contact/http://cfd.direct/http://cfd.direct/http://cfd.direct/https://twitter.com/CFDdirecthttp://cfd.direct/openfoam-development/https://www.linkedin.com/company/9369175http://cfd.direct/openfoam-training/houstonhttp://cfd.direct/contact/http://cfd.direct/openfoam/user-guide/indicesli1/http://cfd.direct/openfoam-training/londonhttp://cfd.direct/http://cfd.direct/http://cfd.direct/openfoam/user-guide/https://plus.google.com/+CfdDirectOpenFOAMhttp://cfd.direct/http://cfd.direct/openfoam-support/http://cfd.direct/openfoam-training/cfd-training/https://github.com/OpenFOAMhttp://cfd.direct/openfoam/user-guide/standard-solvershttp://cfd.direct/openfoam/http://cfd.direct/openfoam-training/http://cfd.direct/openfoam/user-guide/running-applicationshttp://cfd.direct/openfoam-training/pilot-sessions-2015/http://cfd.direct/open-source/where-is-the-source-code/http://cfd.direct/openfoam/user-guide
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
2/7
diccionario en su interior se reproducen a continuación:
17
18 numberOfSubdomains 4; 19
20 método sencillo; 21
22 simpleCoeffs 23 { 24 n ( 2 2 1 ); 25 delta 0,001; 26 } 27
28 hierarchicalCoeffs 29 { 30 n ( 1 1 1 ); 31 delta 0,001;
32 para xyz; 33 } 34
35 manualCoeffs 36 { 37 ArchivoDeDatos ""; 38 } 39
40 distribuidos no; 41
42 raíces ( ); 43
44
45 // *********************************************** *************
************* //
El usuario tiene la opción de cuatro métodos de descomposición, especificados por
el método de palabras clave como se describe a continuación.
simple
Descomposición geométrica simple en el que el dominio se divide en piezas dedirección, por ejemplo, 2 piezas en la dirección, en 1 etc.
jerárquica
La descomposición geométrica jerárquico que es el mismo que sencilla ,excepto el usuario especifica el orden en el que se realiza la división de
dirección, por ejemplo, por primera vez en la dirección x, entonces ladirección x , etc.
escocés
Formación
OpenFOAM
Software
Tensor Matemáticas
Guía OpenFOAM
Linux
Análisis CFD Apoyo
Follow Follow @cfddirect
Re‐diseño y re‐escritura
fvOptions en
# OpenFOAM ‐dev para
mejorar el código
sustainability, # free
# opensource :
github.com/OpenFOAM/Op
CFD
directa#OpenFOAM
@ CFDdirect
Expandir
CFD
directa#O enFOAM
01 de junio
31 de mayo
Tweets Segui
http://t.co/sxcmpqRYEShttps://twitter.com/CFDdirect/status/605062547872616450http://t.co/Uvg2oG5W1Fhttp://cfd.direct/openfoam-training/openfoam-software-training/https://twitter.com/CFDdirect/status/605457541896781824https://twitter.com/intent/retweet?tweet_id=605457541896781824https://twitter.com/intent/tweet?in_reply_to=604426754275590144https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fcfd.direct%2Fopenfoam%2Fuser-guide%2Frunning-applications-parallel%2F®ion=follow_link&screen_name=cfddirect&tw_p=followbuttonhttps://t.co/NzANIvse6Vhttps://t.co/yhNQw6ydwQhttps://twitter.com/wyldckathttps://twitter.com/CFDdirecthttps://twitter.com/intent/favorite?tweet_id=605457541896781824https://twitter.com/hashtag/OpenFOAM?src=hashhttp://cfd.direct/openfoam-support/cfd-analysis/https://twitter.com/intent/favorite?tweet_id=605062547872616450https://twitter.com/CFDdirect/status/605457541896781824https://twitter.com/CFDdirecthttps://twitter.com/CFDdirecthttp://cfd.direct/openfoam/tensor-mathematics/http://cfd.direct/openfoam/linux-guide/https://twitter.com/CFDdirecthttp://cfd.direct/openfoam-training/cfd-training/https://twitter.com/CFDdirecthttps://twitter.com/hashtag/opensource?src=hashhttps://twitter.com/CFDdirect/status/604426754275590144https://twitter.com/CFDdirect/status/605062547872616450https://twitter.com/CFDdirect/status/604310002975793152https://twitter.com/intent/tweet?in_reply_to=605062547872616450https://twitter.com/intent/retweet?tweet_id=605062547872616450https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/hashtag/free?src=hashhttps://twitter.com/intent/favorite?tweet_id=604426754275590144https://twitter.com/intent/retweet?tweet_id=604426754275590144https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/intent/tweet?in_reply_to=605457541896781824https://twitter.com/CFDdirect/status/604426754275590144https://twitter.com/CFDdirect
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
3/7
Descomposición Scotch que no requiere de entrada geométrica del usuario ylos intentos de minimizar el número de límites de procesador. El usuario puedeespecificar una ponderación para la descomposición entre los procesadores, através de una opcionales processorWeightspalabra clave que puede ser útil enlas máquinas con diferentes rendimiento entre procesadores. También hayuna entrada de palabra clave opcional estrategiaque controla la estrategia dedescomposición a través de una cadena compleja suministrada al escocés.Para obtener más información, consulte el archivo de código fuente: $
ESPUMA _SRC / decompositionMethods / decompositionMethods / scotchDecomp / scotchDecomp.C
manual
Descomposición Manual, donde el usuario especifica directamente laasignación de cada celda a un procesador particular.
Para cada método , hay un conjunto de coeficientes especificados en un sub-
diccionario de decompositionDict , llamado < método > coeffs como se muestra en
la lista Diccionario. El conjunto completo de entradas de palabras clave en eldecomposeParDict diccionario se explican en la Tabla 3.4 .
ntradas obligatorios
numberOfSubdomains Número total de subdominios
método Método de descomposición simple / jerárquica / scotch / metis / Manual /
simpleCoeffs entradas
n Número de subdominios en , , ( )
delta Cell factor de sesgo Típicamente,
hierarchicalCoeffs entradas
n Número de subdominios en , , ( )
delta Cell factor de sesgo Típicamente,
orden Orden de descomposición xyz / xzy / yxz ...
scotchCoeffs entradas
processorWeights
(Opcional)Lista de los factores deponderación para la asignación de
( < wt1 > ... <WTN > )
http://-/?-https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/intent/tweet?in_reply_to=603831154064625664https://twitter.com/CFDdirecthttps://twitter.com/intent/retweet?tweet_id=604310002975793152https://t.co/yhNQw6ydwQhttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/CFDdirect/status/603937212426809344https://twitter.com/CFDdirect/status/604310002975793152https://twitter.com/CFDFoundationhttps://twitter.com/CFDFoundationhttps://twitter.com/CFDFoundation/status/601741012504072192https://t.co/0i4r0afVbvhttps://twitter.com/CFDFoundation/status/603831041716002816https://twitter.com/intent/favorite?tweet_id=603937212426809344https://twitter.com/CFDdirecthttps://twitter.com/CFDdirecthttps://twitter.com/intent/tweet?in_reply_to=601741326711926785https://twitter.com/intent/retweet?tweet_id=603937212426809344https://twitter.com/CFDFoundation/status/603831041716002816https://twitter.com/intent/tweet?in_reply_to=603937212426809344http://t.co/7qE3VuBHDghttps://twitter.com/intent/favorite?tweet_id=601741326711926785https://t.co/k4rzFegLWChttps://twitter.com/CFDFoundationhttps://twitter.com/CFDdirect/status/603937212426809344http://t.co/zWMaOcCbA8https://twitter.com/CFDdirecthttps://twitter.com/intent/retweet?tweet_id=603831154064625664https://twitter.com/hashtag/ubuntu?src=hashhttps://twitter.com/intent/favorite?tweet_id=603831154064625664https://twitter.com/CFDFoundation/status/601741012504072192https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/intent/retweet?tweet_id=601741326711926785https://twitter.com/CFDdirect/status/601399693113950208https://twitter.com/intent/favorite?tweet_id=604310002975793152https://twitter.com/intent/tweet?in_reply_to=604310002975793152https://twitter.com/CFDdirecthttps://twitter.com/hashtag/OpenFOAM?src=hash
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
4/7
as c u as a os procesa ores; < wt1 > es el factor de ponderaciónpara el procesador 1, etc ; pesosestán normalizados por lo quepuede tomar cualquier rango devalores.
estrategia Estrategia de descomposición
(opcional); por defecto es "b"
manualCoeffs entradas
archivo de datos Nombre del archivo que contienelos datos de la asignación de lascélulas para procesadores
" < nombreArchivo > "
ntradas de datos distribuidos (opcional) - ver sección 3.4.3
repartido ¿Los datos distribuidos a través de
varios discos?
si no
raíces Caminos de raíz a los directoriosde casos; < rt1 > es la ruta raízpara 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 número de procesador y contiene un directorio
de tiempo, que contiene las descripciones de los campos descompuestos, y una
constante / Polymesh directorio que contiene la descripción de malla
descompuesto.
3.4.2 Ejecución de un caso descompuesto
Un caso OpenFOAM descompuesto se ejecuta en paralelo con el openmpi
implementación de MPI. openmpi se puede ejecutar en una máquina
multiprocesador local de manera muy simple, pero cuando se ejecuta en máquinas
en una red, un archivo debe ser creado que contiene los nombres de host de las
máquinas. El archivo se puede dar cualquier nombre y situado en cualquier camino.
En la siguiente descripción se hará referencia a un archivo de este tipo por el
nombre genérico, incluyendo la ruta completa, < máquinas > .
https://twitter.com/CFDdirect/status/599966021013889025http://t.co/YdgiQaKT6Uhttps://t.co/vb3nuPC6h2https://twitter.com/CFDdirect/status/601399693113950208https://twitter.com/intent/tweet?in_reply_to=600925070052216832https://twitter.com/CFDdirect/status/600925070052216832https://twitter.com/intent/favorite?tweet_id=600925070052216832https://twitter.com/intent/retweet?tweet_id=600925070052216832https://twitter.com/CFDdirect/status/600685669153906688https://twitter.com/CFDdirecthttps://twitter.com/intent/retweet?tweet_id=600685669153906688https://twitter.com/intent/retweet?tweet_id=601399693113950208https://t.co/EeVRnq4p1Shttps://twitter.com/intent/favorite?tweet_id=600209704678268928https://twitter.com/CFDdirect/status/600209704678268928https://twitter.com/intent/tweet?in_reply_to=601399693113950208https://t.co/1hGp7bDMPLhttps://twitter.com/CFDdirecthttps://twitter.com/CFDdirecthttps://twitter.com/hashtag/snappyHexMesh?src=hashhttps://twitter.com/intent/retweet?tweet_id=600209704678268928https://twitter.com/CFDdirect/status/600925070052216832http://twitter.com/CFDdirect/status/601399693113950208/photo/1https://t.co/TL3IZNTdOShttps://twitter.com/intent/favorite?tweet_id=600685669153906688https://twitter.com/intent/favorite?tweet_id=601399693113950208https://twitter.com/CFDdirecthttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://t.co/k4rzFegLWChttp://-/?-https://twitter.com/intent/tweet?in_reply_to=600685669153906688https://t.co/ronpEcYQsnhttps://twitter.com/CFDdirect/status/600685669153906688https://twitter.com/intent/tweet?in_reply_to=600209704678268928https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/CFDdirect/status/600209704678268928
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
5/7
El < máquinas > archivo contiene los nombres de las máquinas enumeran una
máquina por línea. Los nombres deben corresponder a un nombre de host resuelto
por completo en el / etc / hosts de archivos de la máquina en la que el openmpi se
ejecuta. La lista debe contener el nombre de la máquina que ejecuta el openmpi .
Cuando un nodo del equipo contiene más de un procesador, el nombre de nodo
puede ser seguido por la entrada cpu = , donde es el número de procesadores
openmpi deben ejecutarse en ese nodo.
Por ejemplo, imaginemos un usuario desea ejecutar openmpi de la máquina aaa en
las siguientes máquinas: aaa , bbb , que cuenta con 2 procesadores; y ccc . Los <
máquinas > contendrían:
aaa
bbb cpu = 2
ccc
Una aplicación que se ejecuta en paralelo usando mpirun .
mpirun -hostfile < máquinas > -np < nProcs >< foamExec > < otherArgs > -paralelo > log y
donde: < nProcs > es el número 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
máquinas , en la cavidad del tutorial en el $ ESPUMA _RUN tutoriales / /
incompresible / icoFoam directorio, entonces el siguiente comando debe serejecutado:
mpirun -hostfile máquinas -np 4 icoFoam -paralelo > log y
3.4.3 La distribución de los datos entre varios discos
Los archivos de datos pueden necesitar ser distribuida si, por ejemplo, si sólo
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 raíz caso puede diferir
entre las máquinas. Los caminos deben entonces ser especificados en el
decomposeParDict diccionario utilizando distribuidosy raícespalabras clave. La
distribuido entrada debe decir
distribuido sí;
https://twitter.com/intent/retweet?tweet_id=598974468111802368https://twitter.com/CFDdirect/status/599330030527848448https://twitter.com/CFDdirecthttps://twitter.com/intent/tweet?in_reply_to=598974468111802368https://twitter.com/intent/favorite?tweet_id=599330030527848448https://twitter.com/intent/retweet?tweet_id=598257426677248001https://twitter.com/CFDdirect/status/597449175073161216https://twitter.com/intent/retweet?tweet_id=599330030527848448https://twitter.com/CFDdirect/status/598257426677248001https://twitter.com/hashtag/OpenFOAM?src=hashhttps://t.co/3HhvBYD7ZJhttps://twitter.com/intent/favorite?tweet_id=598974468111802368https://twitter.com/CFDdirect/status/598257426677248001https://twitter.com/CFDdirecthttps://t.co/PUemmQxrg6https://twitter.com/intent/favorite?tweet_id=597449175073161216https://twitter.com/intent/tweet?in_reply_to=598257426677248001https://t.co/SZbkNnjYEVhttps://twitter.com/CFDdirect/status/598974468111802368https://twitter.com/intent/favorite?tweet_id=599966021013889025https://twitter.com/intent/retweet?tweet_id=599966021013889025https://twitter.com/intent/tweet?in_reply_to=599966021013889025https://twitter.com/CFDdirect/status/598974468111802368https://twitter.com/CFDdirect/status/599966021013889025https://twitter.com/intent/tweet?in_reply_to=597449175073161216https://twitter.com/hashtag/OpenFOAM?src=hashhttps://t.co/wUzKmXkO08https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/intent/retweet?tweet_id=597449175073161216https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/CFDdirecthttps://twitter.com/intent/tweet?in_reply_to=599330030527848448https://t.co/YjPmx4lSU9https://twitter.com/CFDdirect/status/597121740486090752https://twitter.com/intent/favorite?tweet_id=598257426677248001https://twitter.com/CFDdirecthttps://twitter.com/CFDdirect/status/597449175073161216https://t.co/ronpEcYQsnhttps://twitter.com/CFDdirect/status/599330030527848448https://twitter.com/CFDdirecthttps://t.co/PUemmQxrg6
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
6/7
y a ra z e en ra a es una s a e ru as e ra z, root0 , root1 , ..., para
cada nodo
raíces
< función nroots >(
" < root0 > "" < root1 > "...
);
donde < función nroots > es el número de raíces.
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 también 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:
reconstrucción de los datos de malla y de campo para recrear el dominio ycampos completa, que puede ser post-procesado de forma normal;post-procesamiento de cada segmento del dominio descompuestoindividualmente.
3.4.4.1 La reconstrucción de los datos malla y
Después de un caso se ha ejecutado en paralelo, se puede reconstruir para el post-
procesamiento. El caso se reconstruye mediante la fusión 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 reconstrucción 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 reconstrucción.
3.4.4.2 Post-tratamiento de los casos descompuesto
https://twitter.com/hashtag/Houston?src=hashhttps://twitter.com/intent/favorite?tweet_id=597121740486090752https://twitter.com/CFDdirecthttps://twitter.com/intent/tweet?in_reply_to=596562806452912128https://twitter.com/CFDdirecthttps://twitter.com/intent/retweet?tweet_id=596562806452912128https://twitter.com/CFDdirect/status/596562806452912128https://t.co/PUemmQxrg6https://twitter.com/CFDdirect/status/596003986580361219https://twitter.com/intent/retweet?tweet_id=595943656554700801https://twitter.com/CFDdirect/status/595943656554700801https://twitter.com/CFDdirect/status/596562806452912128https://twitter.com/intent/retweet?tweet_id=596003986580361219https://t.co/PgiJhrL8IThttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/CFDdirect/status/596003986580361219https://twitter.com/intent/tweet?in_reply_to=596003986580361219https://twitter.com/intent/retweet?tweet_id=597121740486090752https://twitter.com/CFDdirect/status/597121740486090752http://t.co/9HNV9Omw5shttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://t.co/iJiVWBZAh1https://twitter.com/CFDdirecthttps://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/intent/favorite?tweet_id=595943656554700801https://twitter.com/hashtag/Berlin?src=hashhttps://twitter.com/intent/tweet?in_reply_to=597121740486090752https://twitter.com/hashtag/OpenFOAM?src=hashhttps://twitter.com/CFDdirecthttps://twitter.com/CFDdirect/status/595943656554700801https://twitter.com/intent/favorite?tweet_id=596562806452912128https://twitter.com/intent/favorite?tweet_id=596003986580361219https://twitter.com/intent/tweet?in_reply_to=595943656554700801
-
8/17/2019 OpenFOAM Guía Del Usuario_ 3.4
7/7
Chris Greenshields 01 de marzo 2015 Guía del usuario
← OpenFOAM Guía del usuario: 3.3 La ejecución de aplicaciones
OpenFOAM Guía del usuario: 3,5 solucionadores estándar→
El usuario puede post-procesar casos descompuestos utilizando el PARAFOAM
post-procesador, que se describe en la sección 6.1 . Toda la simulación 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 Fundación OpenFOAM
Copyright © 2015 CFD Directo | OpenFOAM es una marcacomercial registrada de OpenCFD Ltd
Sobre Nosotros Contáctenos Google+ Gorjeo LinkedIn Website Términos de Uso Intimidad
http://cfd.direct/openfoam/user-guide/running-applications/http://cfd.direct/http://cfd.direct/privacy-policy/http://cfd.direct/openfoam/user-guide/standard-solvershttp://cfd.direct/author/chris/http://cfd.direct/wp-content/uploads/2015/03/cc-by-nc-nd.pnghttp://cfd.direct/openfoam/user-guide/standard-solvers/http://cfd.direct/website-terms-of-use/http://cfd.direct/contact/http://cfd.direct/openfoam/user-guide/running-applicationshttp://cfd.direct/category/openfoam/user-guide/https://www.linkedin.com/company/9369175https://twitter.com/CFDdirect/http://cfd.direct/openfoam-expertise/http://cfd.direct/openfoam/user-guide/running-applications-parallel/http://cfd.direct/openfoam/user-guide/paraview#x30-1790006.1http://google.com/+CfdDirectOpenFOAM