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

High order element face mesh cannot be loaded #205

Closed
1 task done
wgyang opened this issue Mar 5, 2024 · 6 comments
Closed
1 task done

High order element face mesh cannot be loaded #205

wgyang opened this issue Mar 5, 2024 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@wgyang
Copy link
Contributor

wgyang commented Mar 5, 2024

Description

When a high order mesh is used, the face mesh cannot be represented by vtp file. It should be written in an unstructured grid (vtu) file. svFSIplus uses load_vtp to read face files leading to an error when a high-order element mesh is used, for example, a curved quadratic triangle mesh. The P2 surface meshes used in the block compression test in svFSI-Tests are incorrect as they are written in vtp files. The figure below shows the face vtp file.
x1_vtp

To support true high-order element meshes, function read_vtp needs to accept mshtype as input in addition to face type when it reads face files.

Reproduction

A tet10 mesh, svFSI.inp, and svFSI.xml are attached below for testing.
tet10_test.zip

Expected behavior

svFSIplus can read and output the high-order meshes it supports.

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct and Contributing Guidelines
@wgyang wgyang added the bug Something isn't working label Mar 5, 2024
@ktbolt
Copy link
Collaborator

ktbolt commented Mar 5, 2024

@wgyang Please upload all of the files needed to run a simulation so I can test.

@wgyang
Copy link
Contributor Author

wgyang commented Mar 6, 2024

@wgyang Please upload all of the files needed to run a simulation so I can test.

I modified my original post to include the mesh and input files.

@ktbolt ktbolt self-assigned this Mar 7, 2024
@ktbolt
Copy link
Collaborator

ktbolt commented Mar 7, 2024

The problem was that the read_vtp() function was expecting to read a VTP file for some reason.

I've added a check for a VTU file inread_vtp() and added a load_vtu() function that works with faces. I also needed to add vtk_xml_parser functions to store vtkUnstructuredGrid data into a face.

The simulation now runs but svFSIplus results don't match the Fortran results.

@ktbolt
Copy link
Collaborator

ktbolt commented Mar 9, 2024

I've fixed several bugs

  • indexing
  • array out of bounds
  • tet10 2nd derivatives
  • C++ code not updated with Fortran bug fix

A bug fest for sure!

So after fixing the .inp and .xml solver files to have the same parameters the C++ and Fortran code produce the same results.

@wgyang
Copy link
Contributor Author

wgyang commented Mar 11, 2024

@ktbolt Thank you Dave!! I can add this example to the test cases once you merge your fix into the main branch.

@ktbolt
Copy link
Collaborator

ktbolt commented Mar 12, 2024

Thank Q @wgyang, allowed me to find several important bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants