dougshidong / PHiLiP

Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
Other
45 stars 36 forks source link

3D GMSH Reader with Flow Cases #171

Closed kit71717 closed 1 year ago

kit71717 commented 2 years ago

PR to incorporate the 3D GMSH reader and the extension of 2D NACA0012 and 2D Euler Gaussian Bump to 3D; including the SD7003. Closes issue #91.

jbrillon commented 2 years ago

The 3D_GMSH_READER_* tests are passing, however the 2D_GMSH_READER_* tests expected to pass are now failing. Attached are the ctest results from running the code with two versions of src/mesh/gmsh_reader.cpp: (1) master, (2) this branch.

ctest_master_gmsh_reader_2D_unit_test.txt

ctest_branch_gmsh_reader_2D_unit_test.txt

jbrillon commented 1 year ago

See attached output file, test passed but "Non-matching surface jacobians" warnings are occuring log.txt

dougshidong commented 1 year ago

See attached output file, test passed but "Non-matching surface jacobians" warnings are occuring log.txt

Look into printing more digits and see if the diff is significant. 1e-12 might have been too sensitive. If it is too sensitive, feel free to increase the tolerance for that error message.

PranshulThakur commented 1 year ago

Is there a reason why we aren't using dealii's gmsh reader (GridIn::read_msh())?

kit71717 commented 1 year ago

Is there a reason why we aren't using dealii's gmsh reader (GridIn::read_msh())?

From what I recall discussing with Doug, I believe GridIn::read_msh() only supports straight-sided mesh from GMSH whereas the 2D and 3D GMSH Reader here add supports for reading curved grids from GMSH.

PranshulThakur commented 1 year ago

Is there a reason why we aren't using dealii's gmsh reader (GridIn::read_msh())?

From what I recall discussing with Doug, I believe GridIn::read_msh() only supports straight-sided mesh from GMSH whereas the 2D and 3D GMSH Reader here add supports for reading curved grids from GMSH.

Oh ok, yeah it would be hard to use dealii's version if the curved geometry is created in GMSH (dealii's read_msh() requires attaching a separate manifold to the straight-sided mesh to curve it).

jbrillon commented 1 year ago

@kit71717 The GMSH reader fails to read the channel mesh (generated with https://github.com/jbrillon/mesh_generation/blob/master/channel_structured.geo) added in the last commit, I have attached the log file 3D_GMSH_READER_CHANNEL_STRUCTURED.log

jbrillon commented 1 year ago

Adding @cyanmcg as this work will be used for running 3D wall bounded flows

jbrillon commented 1 year ago

just a reminder to update the get_gmesh_files_cluster script with the new meshes added in this PR; will need to scp them to the correct directory

jbrillon commented 1 year ago

Not sure if it affects this PR, but recently we've added parameters do_renumber_dofs and renumber_type for turning off the Cuthill-McKee renumbering. So if there is renumbering in the gmsh reader, these parameters might also have to be used so that the renumbering (or no renumbering) is consistent with HighOrderGrid and DGBase