Sei sulla pagina 1di 12

12/3/13

HPC Wiki / ... / OpenFOAM Formacin Tutorial

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

OpenFOAM - Aliviadero Tutorial


Tutorial Aliviadero 1: Configuracin del caso inicial - el cambio de modelo de turbulencia system / fvSchemes sistema / fvSolution constantes / RASProperties constantes / transportProperties constantes / turbulenceProperties Las condiciones iniciales Exersise 1 2: Creacin de malla de fondo y las condiciones de contorno blockMeshDict Las condiciones de contorno Las condiciones iniciales g Exersise 2 Creacin de malla con snappyHexMesh: 3 Encontrar un archivo snappyHexMeshDict Creacin de una malla alrededor del aliviadero Exersise 3a Creacin de regiones de refinamiento (opcional) 3b Ejercicio 3c exersise 4: Creacin de una malla 2D con extrudeMesh Ejercicio 4a Ajuste de las condiciones de contorno en el vertedero setFieldsDict 4b Ejercicio 5: Ejecutar el solucionador interFoam controlDict decomposeParDict Iniciar y espere 6: Postprocessing en Paraview Abra la carcasa descompuesta en Paraview Ejercicio 6a Encontrar la elevacin de la superficie libre en cualquier punto 6b Ejercicio 6c Ejercicio 6d Ejercicio 7: el trabajo Futher 8: Descargar

Original text You will also need to change the dimension for omega different from epsilon .
Contribute a better translation

Tutorial Aliviadero
Este tutorial se basa en los casos creados por Nils Reidar Be Olsen en el Departamento de Ingeniera Hidrulica y Medio Ambiente. Gracias! El propsito de este tutorial es aprender a crear y anlisis de los casos un poco ms avanzados en OpenFOAM que los tutoriales suministrados. Esto incluye los siguientes temas: Configuracin del modelo de turbulencia Generacin de malla con snappyHexMesh Generacin de una malla 2D con extrudeMesh Postprocesado avanzada en Paraview, incluyendo la bsqueda y trazado de elevacin de la superficie libre Advertencia Todo lo que aqu se presenta es para propsitos educativos solamente, y los resultados no se validan en forma alguna. Utilice a su propio riesgo! El caso se basar en la damBreak tutorial suministrado con OpenFOAM, pero vamos a reunir ejemplos de archivos de otros tutoriales tambin. En este tutorial vamos a ver unas dimensiones de anchura del vertedero como se muestra en la imagen (no todas las dimensiones estn en metros): El agua entrar en el dominio con una velocidad fija a lo largo de la cara izquierda, fluye sobre la presa y fuera a travs de la frontera derecha . Las esquinas de la presa se redondea con un radio de 1 metro. Como se sabe, tanto la velocidad del agua y de la zona de la entrada y se fijaron, sabemos que el caudal de agua. En este caso vamos a utilizar 3,6 por unidad de ancho como el flujo del volumen de destino. A medida que la solucin alcanza un estado de equilibrio (cuando la descarga sobre la presa llega a ser igual a la cantidad de agua que entra en el depsito), se puede registrar la altura de la superficie libre.

Antes de hacer este tutorial, usted debe hacer el clsico cavidad y damBreak tutoriales que vienen con OpenFOAM. Estos tutoriales se describen en la documentacin OpenFOAM y en nuestra introduccin a OpenFOAM. Para ser capaz de utilizar snappyHexMesh , un STL se necesita archivo con la geometra. Cmo conseguir que este no es un tema aqu, pero hay varias herramientas disponibles. El que se utiliza en este tutorial se genera con Autodesk Inventor , pero otra buena alternativa es FreeCAD , bruja est disponible para todos los sistemas operativos ms comunes (Windows, Mac y Linux). Si no desea generar su cuenta, usted puede descargar el utilizado en este tutorial.

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

1/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Ver archivos STL Si desea ver el archivo de STL para comprobar que es correcta, Paraview puede abrir y mostrarlo. Utilice la opcin "ejes espectculo cubo" para comprobar que sus dimensiones son correctas. Tenga en cuenta la ubicacin del origen!

1: Configuracin del caso inicial - el cambio de modelo de turbulencia


Esto es claramente un problema de dos fases, y eso significa que vamos a tener que utilizar el interFoam solucionador. El caso tambin es claramente turbulento, por lo que tendr que elegir algn modelo de turbulencia para nuestro problema. Para evitar tener que escribir todos los archivos de entrada a partir de cero, nos fijamos en el / m u l t i f a s e/i n t e r F o a m/r a s/$F O A M _ T U T O R I A L S carpeta. Copie el d a m B r e a kcaso a una carpeta de su eleccin. Si lo desea, tambin puede cambiar el nombre a algo ms, por ejemplo, aliviadero . En el resto de este tutorial se darn todas las referencias de archivos y carpetas en relacin a esta carpeta si no se especifica otra cosa. Puede ser que sea prudente tratar de ejecutar el caso sin ninguna modificacin antes de continuar. En los siguientes captulos vamos a ir a travs de todos los archivos que necesita cambiar, y explicar los cambios realizados

system / fvSchemes
Ahora vamos a cambiar del modelo de turbulencia utilizado en el tutorial a un modelo. Eso significa que vamos a tener que hacer algunos pequeos ajustes en los esquemas de diferenciacin. Reemplazar todas las apariciones de p s i l o npor o m e g ay asegurarse de que el d i v S c h e m e sseccin se ve as: system / fvSchemes

d i v S c h e m e s { d i v( r h o*p h i ,U )G a u s sl i n e a l ; d i v( p h i ,a l f a )V a n l e e rG a u s s ; d i v( p h i r b ,a l f a )d eG a u s si n t e r f a c e C o m p r e s s i o n ; d i v( p h i ,k )G a u s sc o n t r ae lv i e n t o ; d i v( p h i ,o m e g a )G a u s sc o n t r ae lv i e n t o ; d i v( p h i ,R )G a u s sc o n t r ae lv i e n t o ; d i vl i n e a l( r )d eG a u s s ; d i v( p h i ,n u T i l d a )G a u s sc o n t r ae lv i e n t o ; d i v( ( n u E f f*d e v( T( g r a d( U ) ) ) ) )G a u s sl i n e a l ; }

sistema / fvSolution
En el archivo de s i s t e m a/f v S o l u t i o n, hacer como en el ltimo archivo, y sustituir las ocurrencias de de p s i l o ncon o m e g a.

constantes / RASProperties
Los archivos c o n s t a n t e s/R A S P r o p e r t i e scontienen la informacin acerca de cul es el modelo de turbulencia de usar. Cambiar desde k E p s i l o na k O m e g a S S T: constantes / RASProperties

R A S M o d e lk O m e g a S S T ; t u r b u l e n c i ae n ; p r i n t C o e f f ss u c e s i v a m e n t e ;

constantes / transportProperties
La c o n s t a n t e/t r a n s p o r t P r o p e r t i e sarchivo no necesita ningn cambio. De todas formas, es aconsejable comprobar que las propiedades de las dos fases son correctas para el aire y el agua, respectivamente. Tambin es inteligente para asegurarse de que el agua es p h a s e 1, y el aire es p h a s e 2. El solucionador no le importa, pero ya veremos ms adelante que tiene agua como p h a s e 1dar algunas ventajas cuando se trata de la post-procesamiento. transportModel Dado que tanto el agua y el aire son fluidos newtonial, todos los coeficientes de los pasajes concernientes a otros tipos de fluidos, como C r o s s P o w e r L a w C o e f f sy B i r d C a r r e a u C o e f f sse pueden eliminar si se quiere

constantes / turbulenceProperties
No hay cambios deben hacerse a la c o n s t a n t e/t u r b u l e n c e P r o p e r t i e sarchivo, pero de nuevo, lo abren y comprueban que s i m u l a t i o n T y p ees R A S M o d e l.

Las condiciones iniciales


Puesto que hemos cambiado el modelo de turbulencia, y una nueva variable omega se ha introducido, debemos crear lmites y condicin inicial para esto. Basta con cambiar el nombre de 0 / e p s i l o na 0 / o m e g a, abra el archivo y reemplazar todas las apariciones de p s i l o ncon o m e g a, incluyendo el cambio de e p s i l o n W a l l F u n c t i o na o m e g a W a l l F u n c t i o n. La condicin inicial no es importante en esta etapa, y puede por ejemplo ser dejado en el valor actual o el valor 0 (se ajustar ms tarde de todos modos). Usted tambin tendr que cambiar la dimensin de o m e g a, ya que es diferente de p s i l o n. La dimensin correcta es [ 0010000 ].

Exersise 1
Ahora hemos cambiado el modelo de turbulencia a partir de un modelo. Siga el procedimiento en el original damBreak tutorial, y tratar de ejecutar este caso. Si recibe algn mensaje de error, es muy recomendable que usted los corrija antes de continuar.

2: Creacin de malla de fondo y las condiciones de contorno


https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial 2/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Antes de que podamos hacer que la malla final con snappyHexMesh , necesitaremos un simple y burdo de malla de fondo. Esto se utiliza como una base para el engrane en snappyHexMesh . El fondo de malla ms o menos define el cuadro de lmite y los lmites de nuestro problema. Tambin vamos a establecer las condiciones de contorno en esta fase, pero no incluiremos el aliviadero con todo (esto es snappyHexMesh tarea 's).

blockMeshDict
La malla de fondo se compondr de dos cajas, una superior y otra inferior. Elegimos el cuadro inferior para estar tan alto como pensamos que el nivel del agua detrs del vertedero ser. Esto se debe a que vamos a utilizar la cara del extremo izquierdo de la caja inferior como una entrada para el agua. Si se elige correctamente la altura, la solucin se volver mejor y ms estable. De lo contrario se pueden producir oscilaciones o las ondas estacionarias en la superficie libre. En el siguiente texto se ha imaginado que el nivel del agua detrs del vertedero ser de aproximadamente un metro por encima de la parte superior, y vamos a crear el cuadro inferior 6 metros de altura. La altura de la caja superior se convierte en 2 metros.

Dado que la geometra en este caso es en 2D, y nos quieren "cortar" para el vertedero, y no incluyen los fines, es inteligente como para dejar que la dimensin de la envergadura del aliviadero (como se define en el archivo STL) sobrepase la medida de la envergadura de la malla, es decir, el mximo y el mnimo de la coordenada del vertedero deben exceder el mximo y el mnimo de la coordenada de la malla en ambos lados (vase la figura). Si ha utilizado la adjunta archivo STL, puede utilizar el siguiente b l o c k M e s h D i c tdirectamente, de lo contrario usted debe revisar su archivo STL y hacer los ajustes necesarios. Recuerde revisar el sistema de referencia Recuerde revisar la ubicacin del origen y direcciones del eje en su archivo-STL. En este caso se supone que el origen se encuentra en la esquina inferior izquierda del aliviadero, y que el eje z est apuntando hacia arriba. Si usted ha hecho su propio archivo de STL, esto podra ser diferente, y usted debe hacer los cambios necesarios El / P o l y m e s h/b l o c k M e s h D i c tc o n s t a n t earchivo debe contener algo como esto si usted est utilizando el archivo STL suministrado: constante / Polymesh / blockMeshDict

c o n v e r t T o M e t e r s1; v r t i c e s ( ( -2 0 -0 . 0 5 0 ) (1 5 -0 . 0 5 0 ) (1 5 -0 . 0 5 6 ) (1 5 -0 . 0 5 8 ) ( -2 0 -0 . 0 5 8 ) ( -2 0 -0 . 0 5 6 ) ( -2 0 -0 . 1 5 0 ) (1 5 -0 . 1 5 0 ) (1 5 -0 . 1 5 6 ) (1 5 -0 . 1 5 8 ) ( -2 0 -0 . 1 5 8 ) ( -2 0 -0 . 1 5 6 ) ) ; b l o q u e s ( h e x(0 1 2 5 6 7 8 1 1)(3 5 0 6 0 1)s i m p l e G r a d i n g(1 1 1) h e x a g o n a l(5 2 3 4 1 1 8 9 1 0)(3 5 0 2 0 1)s i m p l e G r a d i n g(1 1 1) ) ; b o r d e s ( ) ; l m i t e (

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

3/12

12/3/13
i n l e t A i r { t i p od ep a r c h e ; c a r a s ( (4 5 1 1 1 0) ) ; } i n l e t W a t e r { t i p od ep a r c h e ; c a r a s ( (5 0 6 1 1) ) ; } s a l i d a { t i p od ep a r c h e ; c a r a s ( (1 2 8 7) (2 3 9 8) ) ; } a m b i e n t e { t i p od ep a r c h e ; c a r a s ( (3 4 1 0 9) ) ; } b o t t o m W a l l { e s c r i b ap a r e d ; c a r a s ( (0 1 7 6) ) ; } f r e n t e { e s c r i b av a c o ; c a r a s ( (1 0 5 2) (2 5 4 3) ) ; } e s p a l d a { e s c r i b av a c o ; c a r a s ( (6 7 8 1 1) (1 1 8 9 1 0) ) ; } ) ; m e r g e P a t c h P a i r s ( ) ;

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Si no est seguro sobre el significado de cualquier cosa en este archivo, consulte con l OpenFOAM documentacin .

Las condiciones de contorno


Las condiciones de frontera se establecen en el 0-carpeta. Dado que, por ejemplo, 0 / a l p h a 1son sustituidos por el setFields utilidad, a menudo es conveniente crear una carpeta 0 . o r gcon el lmite original y sin modificar y los archivos de las condiciones iniciales. Por lo

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

4/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

tanto copiar todo 0-carpeta a una nueva carpeta llamada 0 . o r g. Las variables que necesitan condiciones de contorno en la simulacin son: alfa1 k omega p_rgh U Asegrese de que todos estos archivos estn presentes. Si ms archivos estn presentes (por ejemplo n u T i l d a, t u e r c ao a l p h a 1 . o r g) que se puede eliminar. Para ayudarnos a juzgar las condiciones de contorno para las variables turbulentas k y omega , puede utilizar la calculadora de turbulencia CFD-lnea . Con un flujo de volumen de destino del 3,6 por unidad de ancho sobre una altura de 6 metros, que le dar una entrada (corriente libre) velocidad de 0,6 m / s. Usted puede utilizar sus propios juicios de los niveles de intensidad de turbulencia y las escalas de longitud (si este vertedero se encuentra en un ro o en un gran lago afectar a las decisiones que toma). En este ejemplo hemos utilizado 2% de intensidad de turbulencia con una escala de longitud caracterstica de 0,1 metros. Las condiciones de contorno que se van a ejecutar a continuacin, se convierte en: alfa1 inletAir inletWater salida ambiente bottomWall fixedValue de 0 fixedValue de 1 zeroGradient inletOutlet zeroGradient k fixedValue de 2.16E-4 fixedValue de 2.16E-4 zeroGradient inletOutlet de 2.16E-4 k qRWallFunction omega fixedValue de 0.1470 fixedValue de 0.1470 zeroGradient inletOutlet de 0.1470 omegaWallFunction p_rgh fixedValue de 0 fixedValue de 0 buoyantPressure de 0 totalPressure buoyantPressure de 0 vaco U fixedValue de (0 0 0) fixedValue de (0.6 0 0) zeroGradient pressureInletOutletVelocity de 0 fixedValue de (0 0 0)

frente, de atrs, defaultFaces

vaco

vaco

vaco

vaco

Las condiciones de contorno pueden por supuesto ser discutidos. Sintase libre de modificar las condiciones de contorno, si quieres. Si usted se pregunta por qu se han elegido estas condiciones de contorno, es simplemente porque son las mismas condiciones de contorno que ya est implementando en el caso copiamos en el principio, y slo algunos nombres de parches y los valores necesitan ser cambiadas. Grupos de parches Puede parches agrupar si dos o ms requieren las mismas condiciones de contorno. Si desea utilizar las mismas condiciones, tanto delante , hacia atrs y defaultFaces , puede sustituir el nombre del parche con " ( f r o n t|e s p a l d a| d e f a u l t F a c e s ) ".

Las condiciones iniciales


Las condiciones iniciales se pueden dar como velocidad constante de 0,6 (0) 0 m / s, con las mismas propiedades turbulentas como las propiedades Freestream de agua. La presin y la fraccin de fase a l f a 1puede tanto ser puesto a cero en el momento.

g
Este tutorial est en el plano XZ con el eje Z apuntando hacia arriba, y hay que comprobar que la gravedad se aplica correctamente, es decir, la aceleracin en la direccin Z negativa. Abra la c o n s t a n t e / gde archivos, y cambiar la direccin de la gravedad a: constante / g

v a l o r(0 0 -9 . 8 1) ;

Exersise 2
Ahora hemos hecho una nueva malla, los lmites y las condiciones iniciales. Antes de tratar de ejecutar este caso podra ser conveniente para limpiar los resultados de las ejecuciones anteriores. Esto se hace con los f o a m C l e a r P o l y M e s hy f o a m C l e a n T u t o r i a l s comandos. Adems de esto, tendremos que mover nuestros archivos iniciales y de contorno de condicin de la 0 . o r g-carpeta para el 0 -carpeta: Ventana de Terminal

f o a m C l e a r P o l y M e s h f o a m C l e a n T u t o r i a l s c p 0 . o r g/*0/ b l o c k M e s h i n t e r F o a m
y ver si funciona. Corrija los errores que usted ha hecho, e inspeccionar los resultados en Paraview. Como la malla se componen de relativamente pocas clulas de gran tamao, no debera ser necesario para descomponer el caso y ejecutarlo en paralelo todava.

Creacin de malla con: 3 snappyHexMesh


Ahora es el momento de hacer la (tal vez) la tarea ms difcil: para crear una malla con snappyHexMesh . Brefore empezamos en esto, se le recomienda encarecidamente leer la documentacin OpenFOAM en snappyHexMesh , ya que la herramienta no es muy intuitivo al principio. memoria snappyHexMesh y Usted debe ser consciente de que snappyHexMesh es una herramienta 3D puro, y se crear una malla 3D. Se perfeccionar su base de malla varias veces, y cada nivel de refinamiento dividir cada materia celular para el refinamiento en 8 clulas nuevas (cada clula original se convierte en una clula 2x2x2). Esto consume mucha memoria, y usted podra potencialmente bloquear el

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

5/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

equipo. Por lo tanto, antes de ejecutar snappyHexMesh , cierre todos los programas no esenciales, cerca de la mayora de las pestaas en el navegador (todos excepto este tutorial) y guarde todos los trabajos importantes.

Encontrar un archivo snappyHexMeshDict


Como nadie quiere escribir los archivos de entrada para snappyHexMesh a partir de cero, vamos a copiarlo de uno de los ejemplos suministrados con OpenFOAM. Busque en la F O A M _ T U T O R I A L S//p i m p l e D y M F o a m/w i n g M o t i o n/ w i n g M o t i o n _ s n a p p y H e x M e s h/s y s t e m/i n c o m p r e s i b l e $carpeta y copiar el s n a p p y H e x M e s h D i c tarchivo en su s i s t e m a d egua. Tambin copiar a su s i s t e m ad edirectorio (vamos a necesitarlo ms adelante). Esto se puede hacer con los siguientes comandos en el terminal: Ventana de Terminal

c p $ F O A M _ T U T O R I A L S / i n c o m p r e s s i b l e / p i m p l e D y M F o a m / w i n g M o t i o n / w i n g M o t i o n _ s n a p p y H e x M e s h / s y s t e m / s n a p p y H e x M e s h D i c t s y s t e m / c p $ F O A M _ T U T O R I A L S / i n c o m p r e s s i b l e / p i m p l e D y M F o a m / w i n g M o t i o n / w i n g M o t i o n _ s n a p p y H e x M e s h / s y s t e m / e x t r u d e M e s h D i c t s y s t e m /

Creacin de una malla alrededor del aliviadero


Lo primero que queremos hacer es "cortar" un agujero en nuestra base de malla, el montaje de esta al aliviadero y luego hacer algunas capas refinados de todo el aliviadero de tal manera que los efectos de las paredes se resuelven correctamente. Aqu vamos a ir a travs del s i s t e m a/s n a p p y H e x M e s h D i c tarchivo para que los cambios neccesary. Antes de empezar, debe colocar el archivo STL en una carpeta c o n s t a n t e/t r i S u r f a c e. Vamos a suponer que el archivo se llama d a m . s t l. Lo primero que hay que hacer en el s i s t e m a/s n a p p y H e x M e s h D i c tarchivo es especificar el archivo STL para su uso. Esto se hace en la geometra de la seccin. Retire el ya definido w i n g _ 5 d e g r e e s . o b jseccin e inserte una nueva para nuestro vertedero: sistema / snappyHexMeshDict

d a m . s t l { e s c r i b at r i S u r f a c e M e s h ; n o m b r a rp r e s a ; }
El refinementBox seccin de abajo puede ser comentado, como vamos a modificar esta tarde. Los comentarios son la sintaxis de C estndar, es decir, se puede agregar una doble barra invertida al principio de cada lnea para ser comentada, o utilice el / * a l g o*/ bloque de comentario estilo. El siguiente parmetro que desea cambiar es el m i n R e f i n e m e n t c e l l sopcin. Para este caso (bastante pequeo y simple), que puede ser fijado a 0, es decir, no vamos a tolerar la presencia de clulas malas en la superficie refinamiento. n C e l l s B e t w e e n L e v e l stambin se pueden reducir a por ejemplo 3 (esta es la configuracin utilizada en este tutorial). Dejarlo como est va a crear una capa de refinamiento ms gruesa alrededor del vertedero y una malla con ms clulas en general. En los refinementSurfaces seccin del nombre de la superficie debe ser cambiado de w i n g _ 5 d e g r e e s . o b jpara r e p r e s a r. Los niveles de refinamiento pueden, por ejemplo, se reducirn de "5 de 5" a "4 5" aqu. Todo dentro de las siguientes refinementRegions tambin debe ser comentada (volveremos a esto ms adelante). l o c a t i o n I n M e s hes una coordenada que debe estar dentro de su regin de malla. Se limita a sealar que parte de la malla que se debe mantener despus snappyHexMesh ha ledo el archivo STL y hecho el chasquido borde. (-2 -0,1 2,5) va a estar bien en este ejemplo. La ltima ting que queremos cambiar en el s n a p p y H e x M e s h D i c tarchivo es que queremos crear algunas capas en las paredes, tanto en el bottomWall y la superficie del vertedero. Este proceso adems de la capa es controlada por los ajustes en el addLayersControl seccin. Primero cambie el " a l a . "por ( b o t t o m W a l l|d a m ) .. Esto significa que tanto la superficie bottomWall y la superficie de la presa tendrn capas aadidas. Usted puede reducir el nmero de capas de 2 si te gusta. Los otros ajustes se pueden ajustar a ser: sistema / snappyHexMeshDict

e x p a n s i o n R a t i o1 , 0; f i n a l L a y e r T h i c k n e s s0 , 3; m i n T h i c k n e s s0 , 1;
Ninguno de estos valores son esenciales, y es posible que desee jugar con ellos ans ver las diferencias despus.

Exersise 3a
Ahora crea la malla: Ventana de Terminal

b l o c k M e s h s n a p p y H e x M e s h s o b r e s c r i b i r
Inspeccione el resultado en Paraview. Observe que la malla est completamente en 3D alrededor de la presa. La malla resultante debe ser algo como esto: Trata de jugar con diferentes niveles de refinamiento y averiguar cmo funciona!

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

6/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Creacin de regiones de refinamiento (opcional)


Si desea resolver mejor la superficie libre es posible que desee crear una malla ms fina alrededor de donde nos habamos imaginado que nuestra superficie libre debe ser (1 metro por encima del vertedero). Abra el s i s t e m a/s n a p p y H e x M e s h D i c tarchivo de nuevo y quite la refinementBox seccin en el principio que hemos comentado con anterioridad. Se puede cambiar el nombre a algo que te gusta, por ejemplo la superficie . Introduzca las coordenadas tal que encapsula la regin que desea refinado. Las coordenadas de la caja pueden exceder las dimensiones de malla, si quieres. El resultado debera ser algo as como: sistema / snappyHexMeshDict

s u p e r f i c i e { e s c r i b as e a r c h a b l e B o x ; m i n( -1 5 -1 4 . 5 ) ; m x( 4 0 7 ) ; }
Las coordenadas deben ser dos esquinas opuestas de la caja, y todos las coordenadas en la esquina mnimo debe ser menor que el valores de coordenadas en la esquina mximo (es decir, las coordenadas de un vector a partir de min a max todo debe ser positivo). Ahora tenemos que bajar hasta el refinementRegions seccin del archivo. Elimine el comentario refinementBox seccin que se ha comentado con anterioridad. Si ha cambiado el nombre de refinementBox anteriormente, usted debe hacer eso aqu tambin. Para este caso es probable que sea suficiente con un nivel de refinenemt, as que cambie asegurarse de que la seccin se ve as: sistema / snappyHexMeshDict

r e f i n e m e n t R e g i o n s { s u p e r f i c i e { e lm o d oe ne li n t e r i o r ; n i v e l e s( ( 1 E 1 51) ) ; } }
El primer nmero de niveles se ignora para el modo en el interior .

3b Ejercicio
https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial 7/12

12/3/13
Vuelva a crear la malla con la nueva configuracin: Ventana de Terminal

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

f o a m C l e a r P o l y M e s h b l o c k M e s h s n a p p y H e x M e s h s o b r e s c r i b i r
Observe que hay ahora es una regin refinada alrededor de donde la superficie libre va a ser. Esto le dar una mayor resolucin y una interfase ntida.

3c exersise
Agregar dos nuevas regiones de refinamiento. Uno debe estar en el lado de aguas abajo, y uno debe ser a lo largo de la pared de fondo despus de que el vertedero. Ambas regiones de refinamiento estn destinados a captar mejor el flujo atrs. Regiones de refinamiento La regin a lo largo de la pared del fondo se puede crear la misma manera que hemos creado la regin alrededor de la superficie libre (con un s e a r c h a b l e B o x). La regin a lo largo del lado de aguas abajo del aliviadero es por otra parte ms fcil creado mediante el uso de t i p os e a r c h a b l e P l a n e. Puedes leer ms sobre esto en snappyWiki . Si utiliza el s e a r c h a b l e P l a n e tipo, recuerde que debe establecer la distancia en el n i v e lde parmetros a algn otro valor que 1E15 metros (por ejemplo 1 metro), o toda la malla se refina.

4: Creacin de una malla 2D con extrudeMesh


Como se ha mencionado anteriormente, la malla de snappyHexMesh es una malla 3D. Dependiendo de las decisiones tomadas en la definicin de las superficies de refinamiento y regiones, el nmero de clulas puede variar mucho, pero es probable que tenga una malla con alguna parte entre 200 000 y 400 000 clulas. Esto es innecesario y un desperdicio de recursos de clculo y tiempo en este caso simple. Lo que queremos hacer ahora es tomar la delantera parche de nuestra malla y extruirla 1 clula en la direccin y positiva. Esto crear una nueva malla que es 2D puro. Esto se hace por la herramienta llamada extrudeMesh . Abra el anteriormente copiado s i s t e m a /e x t r u d e M e s h D i c tarchivo y establezca la s o u r c e C a s ea " . ".

Ejercicio 4a
Compruebe el nmero de clulas en la malla (con la c h e c k M e s hcomando) antes y despus de ejecutar el e x t r u d e M e s hcomando. Busque tambin en algunas de las estadsticas que check Mesh le da acerca de la calidad de la malla. Si la malla desaprueba uno o ms cheques, usted debe tratar de averiguar la causa del error y solucionarlo.

Ajuste de las condiciones de contorno en el vertedero


Como ya hemos introducido un nuevo parche en nuestro dominio, tenemos que establecer las condiciones de contorno en esto tambin. Ir a travs de todos los archivos de la 0.org carpeta, y hacer un nuevo lmite con las mismas condiciones de contorno exactas como bottomWall . El nombre de su nuevo lmite podra variar, dependiendo de su archivo STL. Si ha creado el archivo con FreeCAD , es probable que sea nombrado d a m _ M e s h, y si utiliz Autodesk Inventor, es probable que sea llamado d a m _ a s c i i. El uso de comodines OpenFOAM permite el uso de la agrupacin y comodines en los nombres de parches. Si desea aplicar las mismas condiciones de contorno en ambos bottomWall y el vertedero, puede agruparlos juntos y utilizar un comodn al final. Use " ( b o t t o m W a l l| d a m ) .* "como el nombre del programa en este caso.

setFieldsDict
Para reducir el tiempo de solucin, vamos a inicializar el caso del agua detrs del vertedero hasta el borde (z = 5 metros). En el s i s t e m a /s e t F i e l d s D i c tarchivo, cambie el cuadro de coordenadas para que encapsula la parte detrs de la presa: sistema / setFieldsDict

b o x T o C e l l { c a j a( -2 0 -1 0)(3 1 5) ; f i e l d V a l u e s ( v o l S c a l a r F i e l d V a l u ea l f a 11 ) ; }

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

8/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

4b Ejercicio
Tenemos todos nuestros archivos de condicin de frontera en una carpeta 0 . o r g, pero hay que ponerlos en la carpeta de 0. Por lo tanto, eliminar todos los archivos que ya estn presentes en el 0carpeta ( snappyHexMesh crea algunos archivos no que se convierte en no vlido despus de la extrusin de la malla. Esos archivos deben ser eliminados.) y copiar el contenido de 0 . o r gen 0. A continuacin, puede utilizar el setFields utilidad para inicializar la fraccin de volumen: Ventana de Terminal

R M 0/* c p 0 . o r g/*0/ s e t F i e l d s
Visualice el resultado en Paraview, y verificar que todo es correcto:

5: Ejecutar el solucionador interFoam


Antes de ejecutar el programa de solucin, algunos cambios ms deben hacerse a los archivos que controlan la simulacin:

controlDict
El s i s t e m a/c o n t r o l D i c tarchivo es el archivo de control principal de la simulacin. Abra el archivo, busque las palabras clave y ajustar si es necesario para que las lneas son: sistema / controlDict

e n d T i m e 3 0; //P a r as i m u l a rh a s t aq u el a sc o n d i c i o n e sd ee s t a d oe s t a c i o n a r i o a d j u s t T i m e S t e ps ; //C o ne s t ep a r m e t r o ,s O p e n F O A Ma j u s t a r e lp a s od et i e m p od ea c u e r d o aM a x c oym a x A l p h a C o M a x c o 0 . 5; //D a re lv a l o rd e lm x i m on m e r od eC o u r a n t m a x A l p h a C o 0 . 5; //I g u a lq u ee la n t e r i o r


Lea el resto de este archivo y asegurarse de que usted entiende lo que significan todos los parmetros. Tenga en cuenta que ahora hemos permitido escala automtica paso de tiempo basado en el nmero de Courant . OpenFOAM tendr en cada tiempo de iteracin escala del paso de tiempo para satisfacer .

decomposeParDict
El s i s t e m a/d e c o m p o s e P a r D i c tarchivo controla la descomposicin en varios procesos. Puesto que tenemos una direccin principal, que slo se descompondr a lo largo del eje x. Asegrese de que descomponer el dominio en el mismo nmero de piezas que tiene ncleos de procesamiento disponibles en su ordenador. Usted puede elegir el mtodo de descomposicin s e n c i l l ao j e r r q u i c ocomo quiera, que se comportan de la misma en este caso. En este ejemplo vamos a usar cuatro procesadores y el mtodo simple. El s i s t e m a/d e c o m p o s e P a r D i c tarchivo a continuacin, debe contener: sistema / decomposeParDict

n u m b e r O f S u b d o m a i n s4; m t o d os i m p l e ; s i m p l e C o e f f s { N(4 1 1 ) ; D e l t a 0 . 0 0 1; }

Iniciar y espere
Ahora est listo para iniciar el anlisis. El primero que hacemos es para descomponer el caso, y luego iniciar el solucionador de forma paralela: Ventana de Terminal

d e c o m p o s e P a r m p i r u n n p4i n t e r F o a mp a r a l e l o
El anlisis probablemente tomar varias horas, por lo que puede, por ejemplo, empezar por la tarde, y debera estar listo a la maana

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

9/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

siguiente. Si ha descompuesto en ms o menos dominios de 4, esto se debe cambiar en el m p i r u ncomando. Podra ser sabio para iniciar el solucionador, dejarlo funcionar hasta que el tiempo de simulacin es de entre 1 y 2 segundos y luego se detiene con Ctrl + C . Abra la caja de Paraview como se describe a continuacin y comprobar que las obras cosa. Entonces usted puede comenzar de nuevo la simulacin con m p i r u n n p4i n t e r F o a mp a r a l e l o.

6: Postprocessing en Paraview
Cuando finalice el anlisis, es el momento de encontrar la respuesta a la pregunta original: dado un caudal de 3.6 del agua detrs del vertedero ? Esto se puede encontrar con las herramientas de post-procesamiento en Paraview. Cuando se trata de administrar Paraview, usted tiene dos opciones: 1. Recomponer el caso de reconstructPar como se ensea en el original damBreak tutorial y abra Paraview con PARAFOAM . 2. Crear un archivo vaco llamado s p i l l w a y . f o a m(o alguna otra cosa que termina en . e s p u m a), abra el archivo (vaco) en Paraview (sin reconstruccin es necesario). La ltima opcin es sin duda el ms rpido, y se utiliza aqu. , cul es el nivel

Abra la carcasa descompuesta en Paraview


Para crear un archivo vaco, podemos usar el t a c t ode comandos. Luego abrimos el archivo en Paraview: Ventana de Terminal

t o c a r s p i l l w a y . f o a m p a r a v i e ws p i l l w a y . f o a m
Ahora debe recordar para seleccionar "tipo de caso" de ser "caso descompuesto" en la barra de la izquierda antes de pulsar "Aplicar":

Ejercicio 6a
Mira los resultados de la reproduccin de la animacin. El resultado parece ser razonable? Qu tan bien era nuestra idea inicial sobre el nivel del agua detrs de la presa?

Encontrar la elevacin de la superficie libre en cualquier punto


Para encontrar la elevacin de la superficie libre en un punto al principio puede parecer un poco difcil, ya que Paraview no tiene tal "herramienta de elevacin de la superficie". Otra dificultad es que la propia OpenFOAM no resuelve para la elevacin de la superficie, que resuelve para la fraccin de volumen . Eso significa que al menos tendremos una clula, probablemente ms, donde la fraccin de volumen es en algn lugar de la regin . Hay (al menos) dos formas comunes para encontrar la elevacin de la superficie de la fraccin de volumen: 1. Ejemplo de la fraccin de volumen a lo largo de una lnea vertical paralelo al eje z de cruzar la superficie libre, y utilizar la interpolacin para encontrar dnde . 2. Integrar la fraccin de volumen de la parte inferior de su dominio a la atmsfera a lo largo de una lnea paralela al eje z:

El ltimo mtodo se utiliza aqu, ya que es fcil implementables en Paraview utilizando herramientas estndar. Lo primero que tenemos que hacer es tomar muestras de la fraccin de volumen a lo largo de una lnea. Esto se hace mediante el uso de la parcela borde utilidad, que se encuentra bajo Filtros -> Anlisis de datos . Crear una lnea desde la parte inferior de su dominio a la parte superior. En la pestaa "Pantalla", anule la seleccin de todas las dems variables que alfa1 . Recuerde que con el paso a la ltima timestep de su simulacin.

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

10/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Ahora queremos integrar la fraccin de volumen a lo largo de esta lnea. Esto se hace por el integrar las variables herramienta, tambin se encuentra en Filtros -> Anlisis de Datos . Pulse el botn "Apply", y ves las variables integradas. Entonces deseamos trazar esta variable integrada en el tiempo, para que podamos ver cmo la elevacin de la superficie libre cambia durante la simulacin. Esto se hace con la Seleccin Parcela lo largo del tiempo de la herramienta, y ahora se puede adivinar a ti mismo dnde encontrarlo. Seleccione la fila de la tabla con las variables integradas, y seleccione "Copiar seleccin activa". A continuacin, pulse "Aplicar" y esperar. Esto puede llevar algn tiempo, ya que muestra la fraccin de volumen e integrarla en cada paso de tiempo almacenado. Ir y tomar una taza de caf mientras esperas. Despus de que el proceso ha terminado, puede anular la seleccin de las variables que no sean necesarios en la trama. El espacio de trabajo Paraview resultante ahora se ve algo como esto: El desarrollo elevacin de la superficie resultante en el tiempo es: En este ejemplo, la simulacin se procedi a 45 segundos, y como podemos ver, la elevacin de la superficie es ms o menos convergente.

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

11/12

12/3/13

OpenFOAM - Aliviadero Tutorial - HPC Wiki - Confluence

Bug en Paraview En el momento de escribir no es un error en Paraview cuando se utiliza "Parcela de seleccin a travs del tiempo" con el lector OpenFOAM paralelo (es decir, cuando Paraview lee el caso descompuesto directamente como se describe aqu). El resultado es miles de mensajes de error y sin argumento de elevacin de la superficie con el tiempo. Una posible solucin consiste en reconstruir el caso paralelo con el comando r e c o n s t r u c t P a ry abierto Paraview con P A R A F O A M.

6b Ejercicio
Crea tu propia imagen y ilustrativos de los resultados, con los del aliviadero, lneas de corriente y un isosuperficie al alfa1 = 0,5 (lo que quiere decir eso?) (Timestep final).

6c Ejercicio
Reinicie la simulacin y correr otros 15 segundos (si detuvo a 30 segundos). Vuelva a ejecutar el post-procesamiento y compruebe la diferencia de elevacin de la superficie final. Ha convergido la solucin?

6d Ejercicio
Use la utilidad "calculadora" en Paraview, y calcular el caudal de agua del dominio en cualquier momento. El procedimiento es ms o menos el mismo que cuando se traz la elevacin de la superficie libre. Tiene 30 segundos de tiempo de simulacin suficiente para alcanzar el estado de equilibrio?

7: el trabajo Futher
Hay un montn de ejercicios interesantes que se pueden hacer sobre la base de este tutorial. stos son algunos de ellos: 1. Ajuste la altura de la zona de entrada (y la velocidad de flujo de entrada) para que coincida con la elevacin de la superficie libre de grabado previamente. Esto cambia los resultados? 2. Al hacer simulaciones de CFD (y otras simulaciones tambin) es comn para hacer la malla tan fina como los recursos de computacin permiten dentro de los lmites de su tiempo de solucin deseada. Ahora intenta hacer que la malla de fondo tan gruesa como sea posible, hacer mejoras donde sea necesario, y ver qu tan bajo se puede obtener el tiempo de solucin! 3. Es la "longitud de entrada" (la longitud desde la entrada a la presa) el tiempo suficiente? Ser un tiempo cambiar la entrada de elevacin de la superficie? 4. Lea sobre swak4Foam y seguir el ejemplo bsico determinado para medir la elevacin de superficie en tiempo de ejecucin y hacer una entrada nueva y mejor.

8: Descargar
Puede descargar todos los expedientes necesarios en spillway.tar.gz . Scripts para ejecutar y limpiar la caja tambin se adjunta.

https://www.hpc.ntnu.no/display/hpc/OpenFOAM+-+Spillway+Tutorial

12/12

Potrebbero piacerti anche