OpenFOAM tutorial: Wind around buildings (domain, mesh, solver, solution)
Hi! In this post I will explain to you a nice tutorial aviable on every openFOAM version (link), called windAroundBuildings. I will separete this post in many section dedicate to each step of a CFD case set up, so feel free of jup in to any part of you interest. The most important parts are how to incorporate the buildings and the mesh refinement around them.
OpenFOAM tutorial - windAroundBuildings |
Brief explanation of the case
This tutorial simulate the atmospheric wind flow arround a group of buildings, wich could be part of a city. The objetive is to see the presure (loads) on each face of the buildings and the wind circulation for an especific wind direction and intensity.
Domain
Domain - OpenFOAM tutorial - windAroundBuildings |
Border conditions
There is a inlet face, with a constant velocity of 10m/s and an turbulence intensity of 10%, and an outlet one in the other side. The ground and buildings are wall conditions. The front and back are symmetry type.
Mesh
It is separate in two stages, in uniform background and a refinement zones near the buildings.
The background mesh is created by blockMesh application, in system/blockMeshDict directory. The cells take a dimmension of 14m in the three directions, with 25 cells in the x axis, 20 cells in the y axis and 10 cells in the z axis. There is a total of 5000 cells.
runApplication surfaceFeatureExtract
2) Realiza el mallado de fondo
runApplication blockMesh
3) Aumenta la resolución de la malla en los alrededores de los edificios
runApplication snappyHexMesh -overwrite
4) Corre el solver de solución estacionaria SimpleFOAM
runApplication $(getApplication)
The refined mesh is created by snappyHexMesh aplication, in system/snappyHexMeshDict directory. buildings are introduced in the buildings.obj file. Then, it is especificated a refinement box of 250m x 180m x 90m with the buildings inside it. this box has a refinement level of 2, so the cells take a dimension of 3.50m. Near the buldings surface, it is especificate a refinement level of 3, so theres a minimun cell size of 1.75m. The total cell number rise to 185216.
still writing...
Características
Solución: system/controlDict
- simpleFoam: solución estacionaria de un flujo resuelto de manera promediada en el tiempo con RANS.
- cantidad de pasos de tiempo: 400
- paso de tiempo: 1 seg
- escritura de la solución cada: 50 pasos
Mallado de fondo: system/blockMeshDict
- dimensión del dominio: 350m x 280m x 140m
- celdas de fondo: 25 x 20 x 10; celdas de 14m; 5000 celdas
- caras tipo patch: inlet, outlet
- caras tupo symmetry: frontAndBack
- cara tipo wall: ground
Mallado denso: system/snappyHexMeshDict
- edificios: buildings.obj
- caja refinada: 250m x 180m x 90m
- refinamiento de superficie: level 3, celdas de 1.75m
- refinamiento de la caja. level 2, celdas de 3.50m
- total de celdas: 185216
Esquemas de interpolación: system/fvSchems
- la interpolación espacial de la velocidad se realiza mediante linearUpwind, reduciendo la difusión numérica.
Modelo de turbulencia: constant/turbulenceProperties
- formulación RANS, promediada en el tiempo
- modelo de turbulencia. k-e, el modelo mas sencillo y barato, su solución no es buena cerca de las paredes.
Condiciones iniciales y de borde: 0/*
- velocidad U: entrada uniforme 10m/s
- intensida de turbulencia: 1
Correr el caso: ./Allrun
1) Crea el archivo buildings.eMesh, con las características de la superficie de los edificios a partir del archivo buildings.objrunApplication surfaceFeatureExtract
2) Realiza el mallado de fondo
runApplication blockMesh
3) Aumenta la resolución de la malla en los alrededores de los edificios
runApplication snappyHexMesh -overwrite
4) Corre el solver de solución estacionaria SimpleFOAM
runApplication $(getApplication)
Comentarios
Publicar un comentario