Nivel 1: IntroducciónAmbas·Todas las versionesTiempo estimado: 15 min

Gestión de Unidades y Dimensiones Físicas en OpenFOAM

OpenFOAM realiza comprobación dimensional estricta en cada operación matemática. Si intentas sumar un gradiente de presión con una velocidad, el código abortará inmediatamente.

En esta lección:El array de 7 dimensiones SIPresión cinemática (m2/s2) vs presión absoluta (Pa)Errores FATAL IO ERROR de dimensiones

Sistema de Unidades y Dimensiones en OpenFOAM

OpenFOAM incluye un motor de análisis dimensional estricto en tiempo de compilación y ejecución mediante la clase dimensionSet.


1. El Vector de Dimensiones [M L T Theta N I J]

Toda magnitud física en OpenFOAM se define mediante un array de 7 exponentes enteros o fraccionarios correspondientes a las unidades fundamentales del Sistema Internacional:

PosiciónMagnitudSímboloUnidad SI
1Masa$M$kilogramo ($\text{kg}$)
2Longitud$L$metro ($\text{m}$)
3Tiempo$T$segundo ($\text{s}$)
4Temperatura$\Theta$Kelvin ($\text{K}$)
5Cantidad de sustancia$N$mol ($\text{mol}$)
6Corriente eléctrica$I$Amperio ($\text{A}$)
7Intensidad luminosa$J$candela ($\text{cd}$)

2. Ejemplos de Campos Habituales

text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Velocidad U (m/s) dimensions [0 1 -1 0 0 0 0]; // Viscosidad cinemática nu (m^2/s) dimensions [0 2 -1 0 0 0 0]; // Energía cinética turbulenta k (m^2/s^2) dimensions [0 2 -2 0 0 0 0]; // Disipación turbulenta específica omega (1/s) dimensions [0 0 -1 0 0 0 0]; // Densidad rho (kg/m^3) dimensions [1 -3 0 0 0 0 0];

3. Presión Cinemática vs Presión Termodinámica

  • En solvers incompresibles (icoFoam, simpleFoam, pimpleFoam), la densidad es constante y se divide toda la ecuación de momento por $\rho$. Por tanto, la presión $p$ es presión cinemática ($p/\rho$):
text
1
dimensions [0 2 -2 0 0 0 0]; // (m^2/s^2)
  • En solvers compresibles o térmicos (rhoSimpleFoam, buoyantSimpleFoam), la presión es la presión absoluta en Pascales ($\text{N/m}^2 = \text{kg}/(\text{m}\cdot\text{s}^2)$):
text
1
dimensions [1 -1 -2 0 0 0 0]; // (Pa)