Discretización & Solvers Lineales

Esquemas Numéricos y Solvers Lineales

Control de la precisión de orden espacial en system/fvSchemes y optimización de convergencia algebraica en system/fvSolution.

Regla de oro de estabilidad vs precisión

Durante las primeras 50 a 100 iteraciones de un solver RANS (como simpleFoam), utiliza esquemas de primer orden upwind para las variables de momento y turbulencia (div(phi,U) bounded Gauss upwind;) para asentar los campos de presión, y después cambia a segundo orden acotado (linearUpwind).

fvSchemes (Esquemas de Discretización FVM)

Configuración de esquemas espaciales y temporales de volúmenes finitos

Define cómo se evalúan numéricamente las derivadas temporales (ddtSchemes), los gradientes de celda (gradSchemes), los flujos convectivos (divSchemes) y los términos difusivos (laplacianSchemes).

linearUpwind ofrece segundo orden de precisión espacial acotado.
limited corrected previene inestabilidades debidas a no-ortogonalidad en mallas complejas.
system/fvSchemes(text)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; grad(U) cellLimited Gauss linear 1; } divSchemes { default none; div(phi,U) Gauss linearUpwind grad(U); div(phi,k) Gauss limitedLinear 1; div(phi,omega) Gauss limitedLinear 1; } laplacianSchemes { default Gauss linear limited corrected 0.33; }
fvSolution (Solvers Lineales y Algoritmos)

Configuración de algoritmos matriciales (GAMG, PCG) y bucles SIMPLE / PIMPLE

Controla la resolución de los sistemas algebraicos lineales Ax=b generados tras la discretización, definiendo tolerancias absolutas/relativas, suavizadores y los bucles de acoplamiento presión-velocidad.

GAMG (Geometric-Algebraic Multigrid) acelera la propagación de información de presión en dominios grandes.
Permite relTol > 0 en pasos intermedios para ahorrar iteraciones innecesarias.
system/fvSolution(text)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
solvers { p { solver GAMG; tolerance 1e-06; relTol 0.01; smoother GaussSeidel; } "(U|k|omega)" { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-08; relTol 0.1; } }
Discretización temporal y control de deltaT

Euler, backward, Crank–Nicolson y paso adaptativo

La selección temporal controla orden, amortiguación y estabilidad. Debe evaluarse junto al Courant y las escalas físicas de interés.

Euler es robusto pero difusivo.
backward ofrece segundo orden con historial suficiente.
Reduce deltaT hasta estabilizar la cantidad de interés.
system/fvSchemes / controlDict(text)
1
2
3
4
5
ddtSchemes { default backward; } // controlDict adjustTimeStep yes; maxCo 0.5; maxDeltaT 1e-3;
residualControl y criterios de parada

Parada automática basada en residuales dentro de SIMPLE/PIMPLE

Permite terminar una ejecución cuando campos seleccionados alcanzan tolerancias, evitando iteraciones innecesarias.

No sustituye balances ni monitores de ingeniería.
Comprueba qué residual interpreta tu versión.
Valida que continuar no cambie la QoI.
system/fvSolution(text)
1
2
3
4
5
6
7
8
9
SIMPLE { residualControl { p 1e-5; U 1e-6; "(k|omega)" 1e-6; } }

Control numérico

Separa estabilidad, convergencia iterativa y precisión de discretización

Son problemas diferentes. Un caso puede ser estable pero impreciso, reducir residuales sin cerrar balances o converger iterativamente a una solución dependiente de la malla.

1

Estabilidad

Evita crecimientos no controlados durante el avance.

  • Courant y paso temporal
  • Esquemas acotados
  • Relajación y calidad de malla
2

Convergencia

Comprueba que las ecuaciones y magnitudes de interés se estabilizan.

  • Residuales iniciales y finales
  • Fuerzas, caudales y presión
  • Balances de masa y energía
3

Precisión

Demuestra que la discretización captura la solución necesaria.

  • Orden espacial y temporal
  • Estudio de refinamiento
  • Comparación con datos o teoría

Estrategia robusta de arranque

Una secuencia corta para convertir la consulta en una decisión técnica trazable.

  1. 01Comenzar con esquemas conservadores
  2. 02Corregir malla y condiciones
  3. 03Estabilizar magnitudes integrales
  4. 04Subir el orden gradualmente
  5. 05Repetir el estudio de sensibilidad

Consejo de campo: No uses residuales bajos como único criterio: acompáñalos de balances y observables ligados al objetivo de ingeniería.