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

Troubleshooting mesh ordering issue in Gmsh-generated mesh #4197

Closed
sungho91 opened this issue Mar 15, 2024 · 6 comments
Closed

Troubleshooting mesh ordering issue in Gmsh-generated mesh #4197

sungho91 opened this issue Mar 15, 2024 · 6 comments
Assignees

Comments

@sungho91
Copy link

Hi everyone,

I'm testing the use of an external mesh generated by Gmsh in my code. I created a mesh with triangles (see att. fig.) and ran a simple model with full assembly. The result was as expected. However, when I tried to run my model with partial assembly, it terminated with an error message.

It seems like there may be an issue with the ordering of elements in the mesh. Perhaps reordering or some other adjustments are required, I think.

Any comments will be helpful for me.

Thanks,

Sungho

MFEM abort: Finite element not suitable for lexicographic ordering
 ... in function: mfem::ElementRestriction::ElementRestriction(const mfem::FiniteElementSpace&, mfem::ElementDofOrdering)
 ... in file: fem/restriction.cpp:53

stress_yy

@artv3
Copy link
Contributor

artv3 commented Mar 15, 2024

Hi @sungho91 , mfem does not support partial assembly for simplex elements.

@sungho91
Copy link
Author

Hi @artv3,

I understand. Why doesn't MFEM support it? Is it due to technical issues or is it fundamentally impossible?

@v-dobrev
Copy link
Member

It just has not been a priority to add support for partial assembly on triangles/tets but we definitely want to add that.

Depending on what integrator you need, you may be able to use partial assembly on triangles/tets using one of the libCEED backends. @YohannDudouit, can clarify which integrators can use the libCEED backend with simplices. The libCEED library is available here: https://github.com/CEED/libCEED.

@YohannDudouit
Copy link
Contributor

YohannDudouit commented Mar 18, 2024

Hi @sungho91,

Which integrators are you trying to use?

@sungho91
Copy link
Author

@v-dobrev Thanks for your information. Yes, indeed, many third-party meshers generate triangles/tets, so enabling p-assembly for those elements is super desirable. I'll take a look at libCEED.

@YohannDudouit, my code is based on Laghos. So, it uses mass integrators for H1 and L2 spaces, respectively. Also, it uses a force integrator.

@YohannDudouit
Copy link
Contributor

@sungho91 The Mass integrator is supported for both H1 and L2, so using the libCEED backend should work there. However, I'm not too familiar with the force integrator, and this would probably need to be implemented using libCEED, I can assist you in doing so if you're interested.

@tzanio tzanio closed this as completed May 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants