Calculate elliptical membrane mode for known semi-axes, mode numbers, mode type and boundary condition (Soft/Dirichlet or Hard/Neumann).
[X, Y, ZETA, is_even_or_odd, f, qs, ws, ka] = mathieu_membrane_mode(a, b, m, n, func_name, bc_type, N_xi, N_eta, mode_options)
membrane semi-major axis (along x)
membrane semi-minor axis (along y)
angular variations (function order)
radial variations (number of q roots)
radial function name for mode (should be one of 'Mc1', 'Ms1', 'Ce', 'Se')
boundary condition type (%t - Soft/Dirichlet, %f - Hard/Neumann)
grid size on xi (ellipses) direction
grid size on eta (hyperbolas) direction
optional structure with options
initial mathieu_rootfinder guess for q (default 1e-3)
mathieu_rootfinder step increment on search of q (default )
relative mathieu_rootfinder tolerance of zero value (fsolve function tolerance, default 1e-12)
maximum number of mathieu_rootfinder iterations (default 1e4)
print mathieu_rootfinder infromation in console? (boolean)
plot membrane mode? (boolean, default %t)
font size for the axes (default 3)
show colorbar? (boolean, default %t)
N_xi*N_eta matrix with Cartesian x coordinate of mode surface
N_xi*N_eta matrix with Cartesian y coordinate of mode surface
mode type (boolean: %t - even, %f - odd)
ellipse foci
array of found q values
characteristic frequencies as in [2]
dimensionless frequency parameter as in [1]
Detailed theory on elliptic membrane is presented in N.W. McLachlan book [3, ch. 16].
Mathieu_membrane_mode calculates elliptical membrane mode for known semi-axes, mode numbers, mode type and boundary condition (Soft/Dirichlet or Hard/Neumann).
Let's assume that we have an ellipse with known semi-major axis a (along x) and semi-minor axis b (along y).
First of all function calculates
,
then it calculates elliptical coordinate
on membrane boundary.
Then mathieu_rootfinder finds corresponding q value for given function type, order m, root number n and boundary condition.
So we have two sets of q values:
for Soft/Dirichlet boundary condition and
for Hard/Neumann boundary condition.
The complete table with various function types and boundary conditions is presented below.
Func_name | Bc_type | Mode name | Mathieu_rootfinder equation | Mode expression |
---|---|---|---|---|
'Mc1' | %t | Even Soft/Dirichlet | ![]() |
![]() |
'Mc1' | %f | Even Hard/Neumann | ![]() |
![]() |
'Ms1' | %t | Odd Soft/Dirichlet | ![]() |
![]() |
'Ms1' | %f | Odd Hard/Neumann | ![]() |
![]() |
'Ce' | %t | Even Soft/Dirichlet | ![]() |
![]() |
'Ce' | %f | Even Hard/Neumann | ![]() |
![]() |
'Se' | %t | Odd Soft (Dirichlet) | ![]() |
![]() |
'Se' | %f | Odd Hard/Neumann | ![]() |
![]() |
On the last step mathieu_membrane_mode calculates mode surface in the points of N_xi*N_eta grid. It returns Cartesian coordinates (X, Y) of grid points and mode values (ZETA) in these points. Also for found qs this function calculates characteristic frequency (ws) and dimensionless frequency parameter (ka).
During unit-testing this function was tested by comparison with results from articles: [1, Tables 1-4] and [2, Tables II-V].
The results are very close.
// calculate two Soft modes of elliptic membrane - Even (m=0, n=1) and Odd (m=1, n=1) a = 0.05; b = 0.03; N_xi = 101; N_eta = 101; options.font_size_axes = 4; f_wh = get(0, 'screensize_px'); margin = 50; f_h = figure('Background',-2); subplot(1,2,1); mathieu_membrane_mode(a, b, 0, 1, 'Mc1', %t, N_xi, N_eta, options); subplot(1,2,2); mathieu_membrane_mode(a, b, 1, 1, 'Ms1', %t, N_xi, N_eta, options); f_h.figure_size = [f_wh(3) - 2*margin, f_wh(4) - 2*margin]; f_h.figure_position = [margin margin]; | ![]() | ![]() |
N. O. Strelkov, NRU MPEI
1. Wilson, Howard B., and Robert W. Scharstein. "Computing elliptic membrane high frequencies by Mathieu and Galerkin methods." Journal of Engineering Mathematics 57.1 (2007): 41-55. (online at http://scharstein.eng.ua.edu/ENGI1589.pdf or http://dx.doi.org/10.1007/s10665-006-9070-1 )
2. Gutiérrez-Vega, J., S. Chávez-Cerda, and Ramón Rodríguez-Dagnino. "Free oscillations in an elliptic membrane." Revista Mexicana de Fisica 45.6 (1999): 613-622. (online at http://optica.mty.itesm.mx/pmog/Papers/P001.pdf )
3. N.W. McLachlan, Theory and Application of Mathieu Functions, Oxford Univ. Press, 1947.