Page 212 - Process Modelling and Simulation With Finite Element Methods
P. 212

Simulation and Nonlinear Dynamics         199

          where D, K, and N are evaluated by linearization of  the FEM equations around
          the  solution  U=Uo.  A  is  the  vector  of  Lagrange multiplers  assuring  that  the
          constraints are satisfied in the eigenvector solution as well.  Although FEMLAB
          provides  an  eigensolver  only  for  eigensystems  modes  in  the  GUI,  femeig
          accepts the  appropriate arguments  to  solve the  generalized  eigensystem (5.14)
          for any  solution  U  at  any  time,  or for  stationary  nonlinear  problems  and  the
          parametric solver, for any value of the parameter in the p-list.
          For instance,
          >>  sol2=femeig(’In’,{’D’,D,’K’,K, ‘N’,N), ‘Eigpar’,20);
          produces a list of  the smallest 20  eigenvalues in magnitude  and the associated
          eigenvectors (the eigen pairs)  for the specified D, K, and N matrices.  This is
          simpler  than  expressing  a  generalized  eigenvalue  problem  as  (5.14)  in  the
          appropriate format. Help on eigs gives the syntax as
          [V,D] =EIGS (A, B) solves   the   generalized   eigenvalue   problem
          A*V==B*Vector*D.   B  must  be  symmetric  (or  Hermitian)  positive
          definite and the same size as A.
          EIGS (A, K)  and  EIGS (A, B, K)  return  the  K  largest  magnitude
          eigenvalues.
                K, SIGMA) and EIGS (A, B, K, SIGMA) return K eigenvalues based on
          EIGS (A,
          S1GMA:‘LM‘ or  ISM‘ -  Largest or Smallest Magnitude
          If SIGMA is a real or complex scalar including 0, EIGS finds the
          eigenvalues closest to SIGMA.
          Here,  D  is  a  the  diagonal  matrix  of  eigenvalues,  and  V  are  the  associated
          eigenvectors.  Comparison  with  (5.14)  gives  the  following  assignments  for
          appropriate input to  eigs in terms of  the block matrices  K,N,D produced from
          assemble:

                           B=[ DO J;        A=“ K  Nt                 (5.15)
                                00

          so you can produce the above block matrices using
          >>A=[K N’; N zeros(size(N,  l))];
                                             )
                                                              )
          >>B= [D zeros (size (N’ )  ; zeros (size (N)  zeros (size (N, 1) 1  ;
          >>[V,D]=eigs(A,B,’SM’);
          Either  method  (eigs or  femeig) produces  the  list  of  smallest  magnitude
          eigenvalues and associated eigenvectors.
          0.0000  0.0002  0.0022  0.0057  0.0062  0.0121
          0.0200  0.0260  0.0299  0.0417  0.0555  0.0613
          0.0713  0.0891  0.0989  0.1009  0.1049  0.1088
          0.1108  0.1111
   207   208   209   210   211   212   213   214   215   216   217