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

Add an option for doing p-refinement on elements marked for refinement #24141

Closed
YaqiWang opened this issue Apr 20, 2023 · 4 comments · Fixed by #24180
Closed

Add an option for doing p-refinement on elements marked for refinement #24141

YaqiWang opened this issue Apr 20, 2023 · 4 comments · Fixed by #24180
Assignees
Labels
C: Framework T: task An enhancement to the software.

Comments

@YaqiWang
Copy link
Contributor

YaqiWang commented Apr 20, 2023

Reason

Currently, we use markers to mark elements for refinement. When we do refinement, we always do h-refinement, i.e. cut the elements. It will be nice to have an option to do p-refinement instead of doing h-refinement. It is appealing for discontinuous FEM because it does not make the mesh non-conforming (i.e. having hanging nodes or mismatched faces).

Design

@roystgnr mentioned there is a function call mesh_refinement.switch_h_to_p_refinement() that we can use for this, which looks something we can quickly implement.

Impact

A capability that allows users to enhance their DFEM solution without changing the mesh.

@YaqiWang YaqiWang added the T: task An enhancement to the software. label Apr 20, 2023
@lindsayad
Copy link
Member

@roystgnr is there much more to do here than call switch_h_to_p_refinement()? I guess naively I feel like our marker system overall should work irrespective/agnostically of h or p refinement, but maybe I'm wrong

@roystgnr
Copy link
Contributor

For pure p refinement that's actually all you need. The optimal choices of fractions to mark can differ in the case of adaptive refinement, but no much as you'd care. And for a priori refinement like Yaqi wants that's irrelevant.

Things don't get iffy until you look at hp refinement; figuring out where to choose h over p is a much more involved question unless you know where every singularity is a priori.

YaqiWang added a commit to YaqiWang/moose that referenced this issue Apr 26, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Apr 26, 2023
@zachmprince
Copy link
Contributor

Another comment related to this issue. To support third order shape functions in 3D we might have to address this error:

*** ERROR ***

Max quadrature points per element assumptions made in some code (e.g.  Coupleable and MaterialPropertyInterface classes) have been violated.
Complain to Moose developers to have constMaxQpsPerElem increased from 216 to 343

@lindsayad
Copy link
Member

Ok @roystgnr per our discussion last Thursday, I'm going to assign myself to this one

@lindsayad lindsayad self-assigned this May 30, 2023
lindsayad pushed a commit to YaqiWang/moose that referenced this issue Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework T: task An enhancement to the software.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants