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.