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 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)
results = 
  EigenResults with properties:

    Eigenvectors: [5669x19 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