Main Content

EigenResults

PDE eigenvalue solution and derived quantities

Description

An EigenResults object contains the solution of a PDE eigenvalue problem in a form convenient for plotting and postprocessing.

  • Eigenvector values at the nodes appear in the Eigenvectors property.

  • The eigenvalues appear in the Eigenvalues property.

Creation

There are several ways to create an EigenResults object:

  • Solve an eigenvalue problem using the solvepdeeig function. This function returns a PDE eigenvalue solution as an EigenResults object. This is the recommended approach.

  • Solve an eigenvalue problem using the pdeeig function. Then use the createPDEResults function to obtain an EigenResults object from a PDE eigenvalue solution returned by pdeeig. Note that pdeeig is a legacy function. It is not recommended for solving eigenvalue problems.

Properties

expand all

This property is read-only.

Finite element mesh, returned as a FEMesh Properties object.

This property is read-only.

Solution eigenvectors, returned as a matrix or 3-D array. The solution is a matrix for scalar eigenvalue problems, and a 3-D array for eigenvalue systems. For details, see Dimensions of Solutions, Gradients, and Fluxes.

Data Types: double

This property is read-only.

Solution eigenvalues, returned as a vector. The vector is in order by the real part of the eigenvalues from smallest to largest.

Data Types: double

Object Functions

interpolateSolutionInterpolate PDE solution to arbitrary points

Examples

collapse all

Obtain an EigenResults object from solvepdeeig.

Create the geometry for the L-shaped membrane. Apply zero Dirichlet boundary conditions to all edges.

model = createpde;
geometryFromEdges(model,@lshapeg);
applyBoundaryCondition(model,'dirichlet', ...
                             'Edge',1:model.Geometry.NumEdges, ...
                             'u',0);

Specify coefficients c = 1, a = 0, and d = 1.

specifyCoefficients(model,'m',0,'d',1,'c',1,'a',0,'f',0);

Create the mesh and solve the eigenvalue problem for eigenvalues from 0 through 100.

generateMesh(model,'Hmax',0.05);
ev = [0,100];
results = solvepdeeig(model,ev)
              Basis= 10,  Time=   0.29,  New conv eig=  0
              Basis= 11,  Time=   0.35,  New conv eig=  0
              Basis= 12,  Time=   0.36,  New conv eig=  0
              Basis= 13,  Time=   0.37,  New conv eig=  0
              Basis= 14,  Time=   0.38,  New conv eig=  0
              Basis= 15,  Time=   0.39,  New conv eig=  0
              Basis= 16,  Time=   0.40,  New conv eig=  1
              Basis= 17,  Time=   0.41,  New conv eig=  1
              Basis= 18,  Time=   0.42,  New conv eig=  1
              Basis= 19,  Time=   0.43,  New conv eig=  1
              Basis= 20,  Time=   0.47,  New conv eig=  2
              Basis= 21,  Time=   0.49,  New conv eig=  2
              Basis= 22,  Time=   0.50,  New conv eig=  2
              Basis= 23,  Time=   0.51,  New conv eig=  3
              Basis= 24,  Time=   0.52,  New conv eig=  3
              Basis= 25,  Time=   0.53,  New conv eig=  3
              Basis= 26,  Time=   0.54,  New conv eig=  3
              Basis= 27,  Time=   0.55,  New conv eig=  3
              Basis= 28,  Time=   0.56,  New conv eig=  4
              Basis= 29,  Time=   0.57,  New conv eig=  4
              Basis= 30,  Time=   0.58,  New conv eig=  5
              Basis= 31,  Time=   0.61,  New conv eig=  5
              Basis= 32,  Time=   0.63,  New conv eig=  5
              Basis= 33,  Time=   0.64,  New conv eig=  5
              Basis= 34,  Time=   0.65,  New conv eig=  5
              Basis= 35,  Time=   0.66,  New conv eig=  6
              Basis= 36,  Time=   0.67,  New conv eig=  6
              Basis= 37,  Time=   0.68,  New conv eig=  6
              Basis= 38,  Time=   0.69,  New conv eig=  6
              Basis= 39,  Time=   0.70,  New conv eig=  7
              Basis= 40,  Time=   0.71,  New conv eig=  7
              Basis= 41,  Time=   0.72,  New conv eig=  7
              Basis= 42,  Time=   0.72,  New conv eig=  7
              Basis= 43,  Time=   0.74,  New conv eig=  7
              Basis= 44,  Time=   0.75,  New conv eig=  7
              Basis= 45,  Time=   0.76,  New conv eig=  8
              Basis= 46,  Time=   0.77,  New conv eig= 10
              Basis= 47,  Time=   0.82,  New conv eig= 11
              Basis= 48,  Time=   0.90,  New conv eig= 11
              Basis= 49,  Time=   0.92,  New conv eig= 11
              Basis= 50,  Time=   0.95,  New conv eig= 13
              Basis= 51,  Time=   0.96,  New conv eig= 13
              Basis= 52,  Time=   0.97,  New conv eig= 14
              Basis= 53,  Time=   0.98,  New conv eig= 14
              Basis= 54,  Time=   1.00,  New conv eig= 14
              Basis= 55,  Time=   1.02,  New conv eig= 14
              Basis= 56,  Time=   1.03,  New conv eig= 14
              Basis= 57,  Time=   1.05,  New conv eig= 14
              Basis= 58,  Time=   1.09,  New conv eig= 14
              Basis= 59,  Time=   1.14,  New conv eig= 14
              Basis= 60,  Time=   1.16,  New conv eig= 15
              Basis= 61,  Time=   1.17,  New conv eig= 15
              Basis= 62,  Time=   1.19,  New conv eig= 16
              Basis= 63,  Time=   1.20,  New conv eig= 16
              Basis= 64,  Time=   1.22,  New conv eig= 16
              Basis= 65,  Time=   1.23,  New conv eig= 16
              Basis= 66,  Time=   1.25,  New conv eig= 18
              Basis= 67,  Time=   1.26,  New conv eig= 18
              Basis= 68,  Time=   1.28,  New conv eig= 18
              Basis= 69,  Time=   1.30,  New conv eig= 18
              Basis= 70,  Time=   1.31,  New conv eig= 19
              Basis= 71,  Time=   1.43,  New conv eig= 20
              Basis= 72,  Time=   1.50,  New conv eig= 20
              Basis= 73,  Time=   1.57,  New conv eig= 22
End of sweep: Basis= 73,  Time=   1.57,  New conv eig= 22
              Basis= 32,  Time=   1.64,  New conv eig=  0
              Basis= 33,  Time=   1.68,  New conv eig=  0
              Basis= 34,  Time=   1.70,  New conv eig=  0
              Basis= 35,  Time=   1.71,  New conv eig=  0
              Basis= 36,  Time=   1.72,  New conv eig=  0
              Basis= 37,  Time=   1.72,  New conv eig=  0
              Basis= 38,  Time=   1.73,  New conv eig=  0
              Basis= 39,  Time=   1.75,  New conv eig=  0
              Basis= 40,  Time=   1.75,  New conv eig=  0
              Basis= 41,  Time=   1.76,  New conv eig=  0
              Basis= 42,  Time=   1.77,  New conv eig=  0
              Basis= 43,  Time=   1.78,  New conv eig=  0
              Basis= 44,  Time=   1.79,  New conv eig=  0
              Basis= 45,  Time=   1.80,  New conv eig=  0
              Basis= 46,  Time=   1.80,  New conv eig=  0
              Basis= 47,  Time=   1.81,  New conv eig=  0
End of sweep: Basis= 47,  Time=   1.81,  New conv eig=  0
results = 
  EigenResults with properties:

    Eigenvectors: [5597x19 double]
     Eigenvalues: [19x1 double]
            Mesh: [1x1 FEMesh]

Plot the solution for mode 10.

pdeplot(model,'XYData',results.Eigenvectors(:,10))

Figure contains an axes object. The axes object contains an object of type patch.

Version History

Introduced in R2016a