Choral
|
Go to the source code of this file.
Functions/Subroutines | |
program | eigen_ventcel_2d |
Solves the Ventcel eigenvalue problem More... | |
subroutine | pmv_m (y, x) |
Matrix-vector product x –> M*x. More... | |
subroutine | kinv_pcg (x, ierr, y) |
subroutine | kinv_mumps (x, ierr, y) |
subroutine | residual () |
program eigen_ventcel_2d | ( | ) |
Solves the Ventcel eigenvalue problem
\(~~~~~ -\Delta u = 0 ~~~\) on \(~~~ \Omega \)
\(~~~~~ \Delta_B u - \partial_n u + \lambda u = 0 ~~~\) on \(~~~ \Gamma = \partial\Omega \)
with \(\Delta_B u\) the Laplace Beltrami operator on the domain boundary
Variational formulation: On the Hilbert space \( V = \left\{ u \in {\rm H}^1(\Omega),~ \nabla_T u \in {\rm L}^2(\Gamma) \right\} \)
with \(\nabla_T u \) the tangential gradient on the domain boundary,
find \( u\in V \), \( \lambda \in\R \) such that for all \( v\in V \)
\( ~~~~~~~\displaystyle{ \int_\Omega \nabla u\cdot\nabla v \,\dx + \int_\Gamma \nabla_T u \cdot \nabla_T v \,\ds = \lambda \int_\Gamma uv \,\ds. }\)
Meshes: curved mesh (quadratic triangles) of the domain \( \Omega \) set to the unit disk.
Discretisation: finite element method on \( X_h \subset V \)
we get the symmetric and generalised eigen-problem: \(~~~~ (S_1 + S_2) U = \lambda \, M_2 U \)
Method:
Post-treatment:
Charles PIERRE, 2021.
Definition at line 59 of file eigen_Ventcel_2D.f90.
subroutine eigen_ventcel_2d::kinv_mumps | ( | real(rp), dimension(:), intent(inout) | x, |
logical, intent(out) | ierr, | ||
real(rp), dimension(:), intent(in) | y | ||
) |
Definition at line 351 of file eigen_Ventcel_2D.f90.
subroutine eigen_ventcel_2d::kinv_pcg | ( | real(rp), dimension(:), intent(inout) | x, |
logical, intent(out) | ierr, | ||
real(rp), dimension(:), intent(in) | y | ||
) |
Definition at line 338 of file eigen_Ventcel_2D.f90.
subroutine eigen_ventcel_2d::pmv_m | ( | real(rp), dimension(:), intent(out) | y, |
real(rp), dimension(:), intent(in) | x | ||
) |
Matrix-vector product x –> M*x.
Definition at line 329 of file eigen_Ventcel_2D.f90.
subroutine eigen_ventcel_2d::residual | ( | ) |