Skip to content

Physics prior residual learning (predict deviation from potential flow Cp)#1208

Open
tcapelle wants to merge 2 commits intonoamfrom
exp-noam/physics-prior-residual
Open

Physics prior residual learning (predict deviation from potential flow Cp)#1208
tcapelle wants to merge 2 commits intonoamfrom
exp-noam/physics-prior-residual

Conversation

@tcapelle
Copy link
Contributor

@tcapelle tcapelle commented Mar 19, 2026

Hypothesis

Predict residual from potential-flow Cp prior to reduce target variance. Lower variance target = easier learning and better generalization.

Implementation

  • Compute cp_proxy = -(dsdf_y / dsdf_norm) * is_surface — y-component of unit surface normal (zero on volume nodes)
  • Append cp_proxy as input feature at position 25 (after curvature, before Fourier PE) → total input dim 58
  • Subtract cp_proxy from normalized pressure target during training
  • Add cp_proxy back before denormalization during validation
  • fun_dim updated from X_DIM-2+1+32X_DIM-2+1+32+1

Results

W&B run: fern/physics-prior-residual (8mxcs36w), best epoch 60, runtime 32 min

Split mae_surf_p
val_in_dist 18.80
val_ood_cond 14.70
val_tandem_transfer 38.94
val_ood_re 28.60
mean3 24.15
  • loss3 = 0.8873
  • mean3 = 24.15 vs baseline ~23.88 → REGRESSION (+1.1%)

Analysis

The physics prior does not help on this branch. Key observations:

  1. val_tandem_transfer is particularly high (38.94) — for tandem foils, the simple surface-normal prior doesn't capture the hydrodynamic interaction between the two foils. The model must predict a large residual for tandem cases, which likely hurts rather than helps.

  2. The dsdf_y signal after normalization may not carry clean directional information since x_mean/x_std normalization changes the scale of both dsdf components differently, distorting the unit normal direction.

  3. Single-foil splits improve slightly (in_dist 18.80, ood_cond 14.70) but not enough to compensate for tandem regression.

Recommendation

Close without merging. Potential improvement: compute cp_proxy from the raw (unnormalized) dsdf features, or restrict the prior subtraction to non-tandem samples only.

@tcapelle tcapelle added status:wip Student is working on it student:fern Assigned to fern noam Noam advisor branch experiments labels Mar 19, 2026
@github-actions
Copy link

github-actions bot commented Mar 19, 2026


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


0 out of 2 committers have signed the CLA.
❌ @senpai-advisor
❌ @senpai-fern
senpai-advisor, senpai-fern seem not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Compute cp_proxy = -(dsdf_y / dsdf_norm) * is_surface from normalized
dsdf gradient y-component. Append as input feature at position 25.
Subtract from normalized pressure target during training; add back
before denormalization during validation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@tcapelle tcapelle closed this Mar 19, 2026
@github-actions github-actions bot locked and limited conversation to collaborators Mar 19, 2026
@tcapelle tcapelle reopened this Mar 19, 2026
@tcapelle tcapelle added status:review Ready for advisor review and removed status:wip Student is working on it student:fern Assigned to fern noam Noam advisor branch experiments labels Mar 19, 2026
@tcapelle tcapelle marked this pull request as ready for review March 19, 2026 06:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

status:review Ready for advisor review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant