Page 211 - Process Modelling and Simulation With Finite Element Methods
P. 211
198 Process Modelling and Simulation with Finife Element Methods
Eigensystem Analysis
Export your fem structure to the MATLAB workspace (shortcut: CTRL-F). We
have previously used the built-in f emeig routine, which assembles the stiffness
and constraint matrices automatically from the fern structure about the specified
solution. Where the parametric solver was used in the Benard problem,
however, getting the right value for the parameter from the p-list is problematic.
Similarly, where the solution is transient, there is a t-list ordering the solutions
recorded at successive times. Getting f emeig to use the correct value of time,
however, is not so difficult, as many pde systems that are evolved by the
transient solver are autonomous, i.e. time does not enter the system of equations
explicitly, but only through the initial conditions. Thus the solution at any time t
can be used as the current solution for assembling the stiffness and constraint
matrices, without regard to the actual value oft. To produce the eigenvalues in
MATLAB without f emeig, we need to know something of the structure of the
FEM system and about manipulating fern structures.
The solution vectors are stored in fem.so1.u.
>>size(fern.sol.u)
ans =
11130 51
There are 5 1 different solution vectors, corresponding to 5 1 different times, with
11 130 degrees of freedom in each solution vector. The assemble command
uses the information in the fern structure to assemble the stiffness and constraint
matrices:
>> [K, L, M, N, D1 =assemble (fern, 'T' , 0 .01, 'U' , fern. sol .u : ,2) ) ;
(
This tells assemble to output the matrices K, L, M, N , and D (see chapter 2
for their standard definitions according to the FEM implementation here) from
the model definition in the fem structure exported from the GUI where it was set
up, at time T=0.01 with corresponding solution vector 2, i.e. fem.sol.u(:,2). I
experimented with reconstructing the augmented matrix of the stiffness and
constraint matrices to compute the eigenvalues directly using the MATLAB
eigs command, which uses the ARPACK sparse eigenvalue solver to find a
requested number of eigenvalues about a requested eigenvalue, frequently the
largest or smallest in magnitude. The FEMLAB reference information on
assemble tells us that an eigenvalue h satisfies:
(5.14)