Sesión 4. Paralelización y postprocesado. Flujo ... · hex (2 3 7 6 14 15 19 18) (40 10 1)...

Post on 22-Jul-2020

6 views 0 download

Transcript of Sesión 4. Paralelización y postprocesado. Flujo ... · hex (2 3 7 6 14 15 19 18) (40 10 1)...

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Sesión 4. Paralelización y postprocesado.Flujo incompresible con superficie libre.

E. Martín1, M. Meis1,2 y F. Varas1,3

1Univ. de Vigo, 2Vicus Desarrollos Tecnológicos y 3Univ. Politécnica de Madrid

Simulación en dinámica de fluidos con OpenFOAMVigo, 26 al 27 de Enero de 2012

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Descripción del problema.Rotura de una presa

CaracterísticasProblema evolutivoSuperficie libre (VOF model)Inicialización de variables2 fluidos incompresiblesProblema 2D laminarHipótesis: Se desprecia el ángulo en punto de contactofases/pared

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Descripción del problema.Rotura de una presa

Ecuaciones

∇ · u = 0 (1)

∂(ρu)

∂t+∇ · (ρuu)− (∆µu) = −∇p + ρg (2)

∂α

∂t+∇ · (αu) = 0 (3)

(∂α

∂t+∇ · (αu) +∇ · (α(1− α)ur ) = 0)

Cálculo de la densidad en la interfaz

ρ = αρl + (1− α)ρg (4)

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Descripción del problema.Rotura de una presa

Geometría y dimensiones

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Descripción del problema.Rotura de una presa

Definición de la mallaRuta del archivo (relativa a la carpeta principal delproblema): constant/polyMesh$ ls /opt/openfoam171/tutorials/multiphase/interFoam/laminar/damBreak/constant/polyMesh

Generación de la mallaEjecución del comando en la carpeta raíz

$ blockMesh

MALLA 3D↔ Problema 2D

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Descripción del problema.Rotura de una presa

Malla

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Condiciones de contorno e iniciales

ArchivosCarpeta 0?

$ gedit /opt/openfoam171/applications/solvers/multiphase/interFoam/createFields.H

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Condiciones de contorno e iniciales (cont)

ArchivosUalpha1p_rgh

OJO CON LAS UNIDADES (U-105)

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Definición propiedades físicas

ArchivosCarpeta constant?

$ gedit /opt/openfoam171/applications/solvers/multiphase/interFoam/createFields.H

$ gedit /opt/openfoam171/applications/solvers/multiphase/interFoam/interFoam.C

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Condiciones de contorno e iniciales (cont)

ArchivostransportProperties

http://www.openfoam.com/features/transport.php

turbulenceProperties (← Prob. laminar?)http://www.openfoam.org/docs/user/turbulence.php

g

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Esquema numérico y parámetros de resolución

Carpeta SystemArchivos obligatorios

controlDictfvSchemefvSolution

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Modificación condiciones iniciales

Herramienta setFieldsEspecificación mediante setFieldsDictSelecciona un conjunto de celdas a través de undiccionarioModifica los archivos iniciales+Info: /opt/openfoam171/applications/utilities/preProcessing/setFields/

Ubicación setFieldsDictCarpeta System

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Comandos: Ejecución y visualización

Ejecución

$ setFields$ interFoam > log

Visualización$ foamToVTK$ paraview

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Paralelización en OF-1.7.1

CaracterísticasParalelización mediante descomposición de dominiosDescomposición del dominio mediante la utilidaddecomposeParUso del diccionario decomposeParDictImplementación de la paralelización mediante openMPICreación de tantas carpetas como número de particionescon el nombre processorProcesos de cálculo paralelo

descomposición de la malla y los camposejecuciones en paralelopostprocesado de cálculos paralelos

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Diccionario decomposeParDict

CaracterísticasDiccionario de la utilidad decomposeParUbicación: carpeta systemEspecificación de los algoritmos y parámetros de ladescompsición de dominios+info: http://www.openfoam.org/archive/1.7.1/docs/user/running-applications-parallel.php

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Diccionario decomposeParDict (cont)

Palabras ClavenumberOfSubdomains Indica el número de dominios en los

que se descompone el casomethod Indica el método de descomposición a utilizar

distributed Entrada lógica para la indicación de la distribuciónde datos

root ndica la ruta de la carpeta del caso en cada nodo

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Diccionario decomposeParDict (cont)

Métodos de descomposiciónsimple Descomposición geométrica simple en función del

orden de los ejes coordenados (X, Y, Z)hierarchical Igual que el métodos simple pero sel usuario

especifica el orden de los ejes (ej: Z, X, Y)metis Descomposición mediante el algoritmo Metis

scotch Descomposición mediante el algoritmo scotchmanual Descomposición manual, donde el ususario

especifica la localización de cada celda

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Diccionario decomposeParDict (cont)

Ejemplo

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Utilidades para la paralelización

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Modo de operación

Pasos1 $ decomposePar -case [casename]2 $ mpirun -hostfile <machinefile> -np <nProcs>

<foamExec> <case> <otherArgu> -parallelmachinefile: archivo quye contiene los nombres de lasmáquinasnProcs: número de procesadores...

3 $ reconstructPar -case [casename]

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Preparación de los archivos

Copia de archivos

$ cd ..$ mkdir damBreakFine$ cp -r damBreak/0 damBreakFine$ cp -r damBreak/system damBreakFine$ cp -r damBreak/constant damBreakFine

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Preparación de los archivos

Modificación de bloques de blockMeshDictblocks(hex (0 1 5 4 12 13 17 16) (46 10 1) simpleGrading (1 1 1)hex (2 3 7 6 14 15 19 18) (40 10 1) simpleGrading (1 1 1)hex (4 5 9 8 16 17 21 20) (46 76 1) simpleGrading (1 2 1)hex (5 6 10 9 17 18 22 21) (4 76 1) simpleGrading (1 2 1)hex (6 7 11 10 18 19 23 22) (40 76 1) simpleGrading (1 2 1));

Archivos del directorio 0$ cp -r 0/alpha1.org 0/alpha1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Archivo decomposeParDict

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Herramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

Ejecución y visualización

Ejecución

$ blockMesh$ setFields$ decomposePar$ mpirun -np 2 interFoam -parallel> log

Visualización$ reconstructPar$ foamToVTK$ paraview

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Outline

1 Problema con superficie libre

2 ParalelizaciónHerramientas OpenFOAM1.7.1Ejemplo. Rotura presa paralelo

3 Aplicaciones en OpenFOAM 1.7.1

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Aplicaciones

Utilidades1

PreprocesadoMalladoManipulación de mallasParalelizaciónPostprocesadoEstimaciones de errorModelos termofísicosVarias

$ cd /opt/openfoam171/applications/utilities

1 http://www.openfoam.org/archive/1.7.1/docs/user/

standard-utilities.php

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Utilidades de preprocesado

UtilidadessetFields selecciona un conjunto de celdas y modifica sus

valoresmapFields Proyecta los campos de una malla a otra, leyendo

e interpolando todos los campos existentes.Casosparalelos y no parelelos son manejados sinecesidad de reconstruir

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Utilidades de postprocesado

PostProceso sobre fronteraspatchAverage Calcula el promedio de un campo ponderado

con el áreapatchIntegrate Calcula la integral de un campo ponderado con

el área

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Utilidades de postprocesado (cont)

PostProceso de muestreo (sampling)probeLocations Muestras puntuales discretas

sample Muestras sobre nube de puntos, líneas ysuperficies.

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Utilidades de postprocesado en tiempo de ejecución

Function ObjectsBibliotecas de herramientas de postprocesado en tiempode ejecuciónPueden ser usadas en cualquier solver sin necesidad decompilaciónSe añaden en el diccionario controlDictInfo:

Código fuente: $ cd/opt/openfoam171/src/postProcessing/functionObjectswww.openfoam.com/features/runtime-postprocessing.phphttp://openfoamwiki.net/index.php/Contrib_simpleFunctionObjects

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Utilidades de postprocesado en tiempo de ejecución(cont)

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.

Problema con superficie libreParalelización

Aplicaciones en OpenFOAM 1.7.1

Más utilidades

InfopatchSummary Muestra la información de las condiciones de

contorno y de la variable para cada frontera y encada tiempo

checkMesh Comprueba y muestra información de la malla

VariaswriteCellCenters Guarda las tres componetes de las celdas

como un campo escalarptot Calcula la presión total a cada paso de tiempo

E. Martín, M. Meis y F. Varas Sesión 4. Paralelización y postprocesado.