Skip to content

Spherical Thieulot benchmark: remaining pressure mismatch at the inner boundary #98

@gthyagi

Description

@gthyagi

This is a follow-up on the spherical Thieulot benchmark. Both m = -1 and m = 3 cases are now running without the earlier implementation bug. The earlier m = 3 failure was traced to an incorrect term in the manufactured body force in the benchmark script and is now fixed.

The remaining issue is the pressure mismatch at the inner boundary.

Reproduction scripts:

Tests performed:

  • Used the essential BC solution as the baseline/reference.
  • Compared against:
    • natural_full
    • natural_normal_petsc
    • natural_normal_analytic
    • natural_normal_projected
  • Ran the comparison for m = -1 and m = 3 at cellsize = 1/8, Q2/Q1, p_bc = False.
  • For m = 3, also retested the PETSc-normal case with a much larger BC penalty and a tighter Stokes tolerance.

Observed outcomes:

  • natural_full stays very close to the essential baseline:
    • m = -1: p_inner_l2(base) = 0.023663
    • m = 3: p_inner_l2(base) = 0.00880887
  • The normal-only BC does not improve the inner-boundary pressure:
    • m = -1:
      • PETSc normals: p_inner_l2(base) = 2.23654
      • Analytical normals: p_inner_l2(base) = 12.985
      • Projected normals: p_inner_l2(base) = 13.2424
    • m = 3:
      • PETSc normals: p_inner_l2(base) = 0.805627
      • Analytical normals: p_inner_l2(base) = 3.60611
      • Projected normals: p_inner_l2(base) = 3.87889
  • For m = 3, increasing the PETSc-normal penalty to 1e10 or tightening the Stokes tolerance to 1e-8 did not materially change the PETSc-normal result.

Interpretation:

  • Pressure appears highly sensitive at the inner boundary, likely because of the strong radial dependence there (roughly r^-n behavior).
  • Swapping PETSc facet normals for analytical normals does not fix the remaining pressure mismatch at the inner boundary.
  • In these tests, analytical/projected normals actually make the normal-only case worse relative to the essential baseline.
  • This suggests the dominant effect is not just facet-normal accuracy. The bigger change is the BC class itself: natural_normal behaves like a free-slip-style normal-only condition, whereas essential / natural_full enforce the full benchmark velocity.

cc @lmoresi for visibility.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions