Problem Statement 

      This lab seeks a FEA vibration normal mode analysis of the L-shaped membrane shown below wherein all edge displacement BCs are fixed at zero displacement.



 

 

 

 

 

 

 

 

 

      Recall the Galerkin weak statement formulation for DP yields

              

 The normal mode solution process assumes

       yh(x,y,t) = Y(x,y)eiwt

 hence

            

       Since this GWSh matrix statement is homogeneous, the determinant of
([MASS]-1[STIFF] - w2I) must vanish, which leads to

             w2 Þ wi2, i = 1,2,3,….,n,...

 Choosing the positive root, the natural vibration frequencies are

             w Þ wih = Ö(eigenvalues of [MASS]-1[STIFF])

 The corresponding normal modes are characterized by the nodal distributions

             {Q}Þ {Qi (wi)}

       The first analysis step is to estimate the accuracy of the base mesh solution, which of course leads to a mesh refinement study. Thereafter, the design component seeks to study the effect of filleting the convex corner on the eigensolution, as one might seek to reduce the high stresses that occur at sharp corners. The fillet is created by fitting a circle of radius r. The following sequence of FEMLAB commands creates the required geometry, generates the m-file to solve for the eigenvalues and thereafter plots the variation of the first eigenvalue for the filleted membrane with increasing radius.

            a = 0.5;

sq1 = square2(0,0,1);

sq2 = move(sq1,0,-1);

sq3 = move(sq1,-1,-1);

sq4 = square2(-a,0,a);

c1 = circ2(-a,a,a);

geom = sq1+sq2+sq3+(sq4-c1);

geomplot(geom) 

To solve the eigenvalue problem on this geometry, start by defining the FEMLAB data 

clear fem

fem.shape=2;

fem.sshape=2;

fem.dim=1;

fem.bnd.h=1;

fem.equ.c=1;

fem.equ.da=1; 

Next solve the GWSh normal mode matrix statement for each r from 0.1 to 1 with a step of 0.05 and save the smallest eigenvalue for each r 

r = 0.1:0.05:1;

evalue = [];

for a = r

sq4 = square2(-a,0,a);

c1 = circ2(-a,a,a);

fem.geom = sq1+sq2+sq3+(sq4-c1);

fem.mesh = meshinit(fem);

fem.mesh = meshrefine(fem);

fem.xmesh = meshextend(fem);

fem.sol = femeig(fem,’eigfun’,’fleig’,’eigpar’,[0 10]);

evalue = [evalue fem.sol.lambda(1)];

end

plot(r,evalue)

In case if you are not able to get matlab running in the background then try to make the fillet directly using the femlab GUI.