SolucionadoMultifase y Superficie LibreFoundation·OpenFOAM 12interFoam

setFields ejecuta sin error pero alpha.water sigue en 0 en ParaView (interFoam)

c
cfd_argentina(Ubuntu 24.04)
Publicado: 20 de enero de 20251430 visitas
16
Hola a todos, Estoy montando una simulacion de llenado de tanque con `interFoam` en **OpenFOAM 12**. He configurado el `system/setFieldsDict` para meter una caja de agua de 1x1x1 m en el fondo:
text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
defaultFieldValues ( volScalarFieldValue alpha.water 0 ); regions ( boxToCell { box (0 0 0) (1 1 1); fieldValues ( volScalarFieldValue alpha.water 1 ); } );
Ejecuto `setFields` y me dice que ha modificado 8000 celdas con exito:
text
1
2
3
4
5
Setting field default values Setting field region values Adding cells with centre within boxes 1((0 0 0) (1 1 1)) Setting volScalarFieldValue alpha.water = 1 End
Pero luego abro `paraFoam` o arranco `interFoam` y el campo `alpha.water` esta completamente en 0 en todo el dominio! Que estoy haciendo mal?? Saludos desde Cordoba!
#setFields#interFoam#alpha.water#VOF#multifase

Documentación y guías relacionadas

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

Ver referencia oficial →

1 Respuestas de la comunidad

Respuesta marcada como Solución Aceptada
Resuelve el problema
22
20 ene 2025, 16:05
Buenas! Te esta pasando una de estas dos cosas tipicas: 1. **Tienes un archivo `0/alpha.water.orig` y no `0/alpha.water`**: `setFields` modifica el archivo en la carpeta de tiempo `0/`. Si tu archivo se llama `0/alpha.water.orig`, `setFields` busca `0/alpha.water` y si no existe crea uno nuevo, pero luego tu script `Allrun` vuelve a copiar `alpha.water.orig` machacando lo que hizo `setFields`. 2. **Caja con coordenadas fuera de la malla**: Fijate bien si el `scale` de tu `blockMeshDict` esta en milimetros (ej. `scale 0.001;`). Si tu malla esta en escala 0.001 y tu caja en `setFieldsDict` esta en `(0 0 0) (1 1 1)`, la caja mide 1 metro y tu geometria mide 1 milimetro, o al reves. ### Orden correcto en tu script:
bash
1
2
3
4
cp 0/alpha.water.orig 0/alpha.water blockMesh setFields interFoam
cfd_argentina:Era el orden en el script Allrun!! Estaba haciendo el cp 0/alpha.water.orig DESPUES del setFields y me lo reseteaba a cero. Que pavo jajaja. Muchas gracias!20/1/2025

Escribe tu respuesta técnica

Insertar:

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