Skip to content

Add 3D MMS collection: sinusoidal and linear Neumann & Dirichlet problems (Q1 hexahedra)#18

Merged
th-skam merged 3 commits into
main-freefem-sofafrom
feature/3d-mms-hexa-neumann
May 19, 2026
Merged

Add 3D MMS collection: sinusoidal and linear Neumann & Dirichlet problems (Q1 hexahedra)#18
th-skam merged 3 commits into
main-freefem-sofafrom
feature/3d-mms-hexa-neumann

Conversation

@Fimache
Copy link
Copy Markdown

@Fimache Fimache commented May 11, 2026

Three 3D manufactured solutions for hexahedra:

  • mms-lin-neumann.py : linear MMS with Neumann BC; superconvergence observed

  • sin-3d.py : sinusoidal with Dirichlet BC

  • sin_neumann.py : sinusoidal with Neumann BC

  • L2 and H1 error norms included

@Fimache Fimache force-pushed the feature/3d-mms-hexa-neumann branch 2 times, most recently from 9b02fc9 to 850e33a Compare May 11, 2026 14:16
Copy link
Copy Markdown
Collaborator

@th-skam th-skam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before diving in, the main thing to do here is to adopt what has been done in #16 with the RegularGridTopology and the traction BC integration.
Ideally, you should reuse the functions we created in that file and add the quadrature rules that you need there.

Copy link
Copy Markdown
Collaborator

@th-skam th-skam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One issue I see is the amplitude of the wave function. The domain spans [0,1] in all directions. The function we're using is of the type:
u_x,y,z = sin() * cos() * sin() etc.

The maximal displacement at the center of the domain equals 1 and this pushes the internal points outside.

The manufactured solution should be something like:
u_x,y,z = A * sin() * cos() * sin().
The amplitude should scale appropriately.

Copy link
Copy Markdown
Collaborator

@th-skam th-skam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's merge this. Reviewing the functions' regularity and appropriateness should be the topic of future PRs. Too many open questions for one PR.

Results are good:

Image Image

Fimache and others added 3 commits May 19, 2026 11:10
  - scale the sinusoid
  - print incremental rate
  - speed up functions
  - increase refinement
  - PCG for solving
@th-skam th-skam force-pushed the feature/3d-mms-hexa-neumann branch from a1c4350 to 900e312 Compare May 19, 2026 09:10
@th-skam th-skam merged commit 17a3da0 into main-freefem-sofa May 19, 2026
1 of 2 checks passed
@th-skam th-skam deleted the feature/3d-mms-hexa-neumann branch May 19, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants