SolucionadoMalladoOpenCFD·OpenFOAM v2412snappyHexMesh

snappyHexMesh me destroza el borde de fuga y la no-ortogonalidad se va a 88º ayuda!!

f
foam_novato_val(Ubuntu 24.04 (WSL2))
Publicado: 14 de febrero de 20251640 visitas
22
Buenas gente, A ver si alguien me puede echar una mano porque llevo 2 dias pegandome con esto y me estoy volviendo loco. Estoy mallando un aleron de coche en **OpenCFD v2412** con `snappyHexMesh`. La geometria esta exportada en STL limpia desde SolidWorks en milimetros. La caja de `blockMesh` tiene celdas de 10mm y todo guay en la fase de `castellatedMesh`. El problema viene en el `snap`: en las aristas vivas del borde de fuga me deforma las celdas un monton, mete un monton de skewness y cuando tiro el `checkMesh` me saca esto:
text
1
2
3
4
5
6
7
8
9
10
Checking geometry... Overall domain bounding box (-0.5 -0.5 -0.2) (1.5 0.5 0.2) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty, non-wedge) dimensions 3 All edges aligned with coordinate axes : no Total number of faces : 384192 Faces with non-orthogonality > 70 degrees : 1422 Faces with non-orthogonality > 80 degrees : 84 Maximum non-orthogonality = 88.42 degrees. ***Severe non-orthogonality error!
Tengo el `snapControls` asi en el dict:
text
1
2
3
4
5
6
7
8
9
10
snapControls { nSmoothPatch 3; tolerance 2.0; nSolveIter 30; nRelaxIter 5; nFeatureSnapIter 10; explicitFeatureSnap true; implicitFeatureSnap false; }
Alguien sabe que parametro tocar para que pille bien el borde afilado sin reventar la malla?? Gracias de antemano!! --- i7 13700K | 64GB RAM | Ubuntu 24.04 WSL2
#snappyHexMesh#calidad-malla#no-ortogonalidad#snapControls#surfaceFeatures

Documentación y guías relacionadas

Consulta la referencia técnica de snappyHexMesh y las guías de numerics en nuestro catálogo.

Ver referencia oficial →

2 Respuestas de la comunidad

Respuesta marcada como Solución Aceptada
Resuelve el problema
29
t
turbu_master88· CFD Tech Lab
2140
14 feb 2025, 12:15
Hola @foam_novato_val, Es el clasico fallo de snappy cuando no le pasas las aristas explicitas con `surfaceFeatures` y dejas que intente proyectar vertices en esquinas afiladas a ciegas. ### 1. Extrae las aristas vivas antes de mallar Crea el archivo `system/surfaceFeaturesDict`:
text
1
2
3
4
5
6
7
surfaces ( "aleron.stl" { includedAngle 150; // detecta todo angulo menor de 150 deg como arista viva } );
Y corre en terminal:
bash
1
surfaceFeatures
Te creara `constant/triSurface/aleron.eMesh`. ### 2. Metelo en castellatedMeshControls
text
1
2
3
4
5
6
7
features ( { file "aleron.eMesh"; level 3; // nivel de refinado en la arista } );
### 3. El truco del snapControls: Pon `multiFaceFeatureSnap true;` y baja la `tolerance` a 1.0 (con 2.0 intenta estirar celdas de una cara a otra y las retuerce):
text
1
2
3
4
5
6
7
8
9
10
11
snapControls { nSmoothPatch 3; tolerance 1.0; nSolveIter 30; nRelaxIter 5; nFeatureSnapIter 15; explicitFeatureSnap true; implicitFeatureSnap false; multiFaceFeatureSnap true; // <-- ESTO es lo que te falta }
Pruebalo y veras como la no-ortogonalidad te baja a < 65º sin problemas. --- Saludos, Alejandro M. | CFD Tech Lab
foam_novato_val:buahh muchisimas gracias tio!! Ha sido meter el surfaceFeatures y el multiFaceFeatureSnap true y la no-ortogonalidad maxima se me ha quedado en 62.1º. Me salvaste la vida!!14/2/2025
5
14 feb 2025, 14:20
Ojo tb si luego le vas a meter capas limite con `addLayers`! En el borde de fuga si el espesor es muy fino te van a colapsar las capas si o si. Si te pasa eso, pon en `addLayersControls` un `featureAngle 60;` o desactiva las capas directamente en el parche del borde de fuga para que no intente meter prismas ahi donde no caben.

Escribe tu respuesta técnica

Insertar:

Soporta formato Markdown estándar y bloques de código con resaltado de sintaxis.