Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fluids - Blasius: Some Minor Modifications #1063

Merged
merged 9 commits into from
Sep 5, 2022
Merged

Conversation

LeilaGhaffari
Copy link
Member

Follow up the comments in #1059.

@jedbrown
Copy link
Member

jedbrown commented Sep 2, 2022

The CFD solver here fails to converge (not the Chebyshev solve), but this is the mesh. Is this a mesh transform parametrization problem?
image

@jeremylt
Copy link
Member

jeremylt commented Sep 3, 2022

By the way...

Congrats on breaking main! 🎉

We all do it sometimes. (I've lost count of how often I've done it!) It means you are moving the code forward.

Thanks for the quick PR to patch things!

@jedbrown
Copy link
Member

jedbrown commented Sep 3, 2022

Thanks @jeremylt. Agreed, no shame in getting into this position.

I believe the main reason for breakage here is that the mesh mapping (platemesh_ndelta and platemesh_growth) need to be adjusted for the mesh resolution. I think we should talk with @jrwrigh sometime about a less error-prone way to parametrize the warping function.

@LeilaGhaffari
Copy link
Member Author

The CFD solver here fails to converge (not the Chebyshev solve), but this is the mesh. Is this a mesh transform parametrization problem?

Yes, you are right. Just used the parameters in blasius_stgtest.yaml and it doesn't fail for me anymore. I admit I am not understanding the mesh modification for this problem.

@LeilaGhaffari
Copy link
Member Author

By the way...

Congrats on breaking main! tada

We all do it sometimes. (I've lost count of how often I've done it!) It means you are moving the code forward.

Thanks for the quick PR to patch things!

Haha, thanks @jeremylt . Though it seems the main reason was my lack of understanding of the problem setup 😅

@jedbrown
Copy link
Member

jedbrown commented Sep 3, 2022

This converges; great! I'm not sure what to expect here, but it seems like the inflow solution perhaps isn't compatible?
image

@jedbrown
Copy link
Member

jedbrown commented Sep 3, 2022

Oh, maybe this is just because the wall boundary condition is insulated (rather than specified temperature), thus it departs rapidly from the Blasius solution? Could we run it in primitive variables and match the boundary condition?

@jrwrigh
Copy link
Collaborator

jrwrigh commented Sep 4, 2022

I believe the main reason for breakage here is that the mesh mapping (platemesh_ndelta and platemesh_growth) need to be adjusted for the mesh resolution. I think we should talk with @jrwrigh sometime about a less error-prone way to parametrize the warping function.

Yeah, I'm certainly open to it. We had talked about using an analytic mapping function to handle the warping with DMPlexRemapGeometry. That could definitely replace the platemesh_ndelta and platemesh_growth, though the individual point picking of ModifyMesh() would still need to be there for platemesh_y_node_locs_path.

We use the ideal gas relation that density ~ 1/enthalpy when held at
constant pressure.
@jedbrown
Copy link
Member

jedbrown commented Sep 5, 2022

The main flow issue here is that the Blasius solution did not create variable density flow, and that manifested as being a constant temperature solution for inflow. I've fixed that up in my push here. I also notice that -weakT has instabilities on this mesh. I'm not sure we have a good reason to keep it around. It would be nice to be able to do Blasius with a strong inflow.

Copy link
Member

@jedbrown jedbrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works on Noether with CUDA and HIP so I'll merge it now. Thanks.

@jedbrown jedbrown merged commit 07d14e5 into main Sep 5, 2022
@jedbrown jedbrown deleted the leila/blasius-minor branch September 5, 2022 21:35
@LeilaGhaffari
Copy link
Member Author

Great! Thanks for the fix!

jedbrown added a commit that referenced this pull request Sep 6, 2022
* main: (63 commits)
  Fix t568 bug (#1065)
  ci: patch occa-1.1.0 for spurious sys/sysctl.h
  t568-operator: fix input order and make test handle nan; skip on broken backends
  ci: use Noether for CUDA, handle CUDA on Debian CUDA_DIR=/usr
  examples/petsc: fix missing PetscFunctionBegin
  Fluids - Blasius: Some Minor Modifications (#1063)
  ci - newer xsmm for ci
  Icl/magma ntgemm (#1060)
  Fluids - fix blasius test
  Fluids - Some fixes missing from #1039 (#1056)
  Freed orient's array
  fluids: Add STATIC and print-% to makefile
  fluids: Set solution time label for strong stg
  Fluids - Compressible Blasius boundary layer (#1039)
  doc: Update fluids state_var option
  fluids: Switch to StateVar enum
  JIT: free relative path variable after getting absolute path
  magma: free memory used in loading jit kernel source
  fluids: Use newtonian with StateFromQi*_t func pointers
  fluids: Use StateFromQi* for newt boundary QFs
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants