How to solve PDE eigenvalue problems on a nonorientable 3D mesh?

7 visualizzazioni (ultimi 30 giorni)
I have a triangular mesh of an immersion of a boundaryless non-orientable 2D surface in 3D (Boy's surface), and would like to find the eigenfunctions of the Helmholtz problem on this mesh. Is there a way of doing that via the PDE toolbox, or would I have to implement an algorithm for solving the eigenvalue problem from scratch? All examples for the toolbox use 2D meshes that are flat, but here the mesh is a surface in 3D.

Risposte (1)

Atharva
Atharva il 25 Mag 2023
Hey Anders,
The PDE Toolbox in MATLAB is primarily designed for solving PDE problems on 2D or 3D domains. However, it may not directly support solving PDE eigenvalue problems on non-orientable 3D meshes or surfaces.
To solve the eigenvalue problem for the Helmholtz equation on a non-orientable 3D surface, you may need to implement a custom algorithm or use alternative methods. Here are a few suggestions:
  1. Discretize the surface: Start by discretizing the surface using your triangular mesh. Ensure that the mesh accurately represents the geometry of the Boy's surface.
  2. Formulate the eigenvalue problem: Write down the Helmholtz eigenvalue problem on the discretized surface. This involves discretizing the Laplace operator and the eigenfunctions.
  3. Implement a numerical solver: You can implement a numerical solver for the eigenvalue problem using existing libraries or write your own code. Libraries like ARPACK or SLEPc can be useful for solving large-scale eigenvalue problems.
  4. Apply appropriate boundary conditions: Since the surface is non-orientable, you may need to consider appropriate boundary conditions that account for the non-orientability. This could involve handling reflections or other symmetry properties of the surface.
  5. Solve the eigenvalue problem: Use your numerical solver to compute the eigenvalues and eigenfunctions of the discretized problem. Depending on the size and complexity of your mesh, this step may require significant computational resources.

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by