How to define custom element types? #1051
-
I want to use a locally refined mesh, which consists of 4-node quadrilateral elements, except the transition layer between small and large elements that are made up of multi-node quadrilateral elements (hanging nodes). My question is how to define interpolation and quadrature rules for such elements within the framework of Ferrite. This seems like a big job. What is the first step to getting started? Are there any dedicated guidance or references available? Any suggestions would be greatly appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Yes.
Not yet.
If you want the full beta experience I recommend to experiment with #780 . Quadrilaterals are likely safe to use. For 3D we are still tracking down some issues. Also, we have no real debug layer yet, so tracking down issues is still very manual. However, we are almost on the finish line with this PR to support AMR with quad and hex elements.
Depends on what exactly you want to do. We are also investigating other approaches than p4est to local refinement in parallel, which work directly on basis-function and dof management level. If you have some simple topology or refinement structure, than you can probably get away with tracking the hanging nodes manually and constructing matrices to project the problem from the non-conforming into a conforming space. https://doi.org/10.1137/18M1193992 explains how to construct the matrices in detail (for the serial case). |
Beta Was this translation helpful? Give feedback.
-
You don't have to redefine new refshapes or interpolations. You will still use RefCube and Lagrage{2,RefCube,1} as usual. The tricky part is to find all hanging nodes and create constraints for them. There have been work on this in #780 like Dennis said, but I dont know how easy it is to utilise that. Another approach would be to have triangle elements in the transition region... in that way you avoid hanging nodes. |
Beta Was this translation helpful? Give feedback.
-
Yes, that would be needed for the pentagon elements that you are asking about. Adding a new reference shape should be quite easy and also defining the interpolations. I assume that you might need some special treatment for the geometrical interpolation for concave pentagons, but if you can avoid that, I think it is quite straight forward and we can help you to get there.
I'm not super-familiar with XFEM. But I think that should be feasible, although it will be harder than adding pentagon elements. I think you (a) need to define some non-conventional interpolations and (b) pass some extra data regarding the location of the enrichment during cell values So if you go your own way, at I'd be happy to hear how it goes! Maybe we can integrate it with Ferrite in the future. And in any case welcome to the julia finite element community! |
Beta Was this translation helpful? Give feedback.
Yes.
Not yet.
If you want the full beta experience I recommend to experiment with #780 . Quadrilaterals are likely safe to use. For 3D we are still tracking down some issues. Also, we have no real debug layer yet, so tracking down issues is still very manual. However, we are almost on the finish line with this PR to support AMR with quad and hex elements.
Depends on what exactly you want to do. We are also invest…