| Symptom | Likely Cause | Practical Fix | | :--- | :--- | :--- | | Pressure oscillates every node | Equal-order elements without PSPG | Switch to P2-P1 or add PSPG | | Solution wiggles downstream of a step | Insufficient stabilization | Increase (\tau) by 2x, or refine mesh locally | | Newton iteration diverges after 3 steps | Initial guess too poor | Start with Stokes solution (Reynolds = 0), then ramp up Re | | Residual stalls at 1e-3 | Inconsistent boundary conditions | Check that outlet pressure is fixed and inflow is fully developed | | Time-dependent solution blows up | CFL > 1 for explicit time scheme | Use implicit BDF2 or reduce time step |
| Feature | Description | |---------|-------------| | | Criteria for aspect ratio, skewness, boundary layer resolution near walls. | | Boundary condition tables | How to enforce Dirichlet, Neumann, Robin, and outflow conditions in weak form. | | Linear solver advice | When to use direct (MUMPS, PARDISO) vs. iterative (GMRES, CG) solvers for FEM matrices. | | Common pitfalls | Checkerboard pressure modes, mass matrix lumping, and hourglass modes. | | Validation cases | Driven cavity, backward-facing step, flow over cylinder – with expected convergence rates. | | Symptom | Likely Cause | Practical Fix
$$ \nabla \cdot \mathbfu = 0 $$
You don't always have to code from scratch. Several powerful frameworks specialize in FEM for fluid problems: iterative (GMRES, CG) solvers for FEM matrices
A commercial giant that uses FEM as its primary engine for CFD and FSI. | $$ \nabla \cdot \mathbfu = 0 $$