This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

solvepdeeig

Solve PDE eigenvalue problem specified in a PDEModel

Syntax

result = solvepdeeig(model,evr)

Description

example

result = solvepdeeig(model,evr) solves the PDE eigenvalue problem in model for eigenvalues in the range evr.

Examples

collapse all

Solve for several vibrational modes of the BracketTwoHoles geometry.

The equations of elasticity have three components. Therefore, create a PDE model that has three components. Import and view the BracketTwoHoles geometry.

model = createpde(3);
importGeometry(model,'BracketTwoHoles.stl');
pdegplot(model,'FaceLabels','on','FaceAlpha',0.5)

Set F1, the rear face, to have zero deflection.

applyBoundaryCondition(model,'dirichlet','Face',1,'u',[0;0;0]);

Set the model coefficients to represent a steel bracket. For details, see 3-D Linear Elasticity Equations in Toolbox Form.

E = 200e9; % elastic modulus of steel in Pascals
nu = 0.3; % Poisson's ratio
specifyCoefficients(model,'m',0,...
                          'd',1,...
                          'c',elasticityC3D(E,nu),...
                          'a',0,...
                          'f',[0;0;0]); % Assume all body forces are zero

Find the eigenvalues up to 1e7.

evr = [-Inf,1e7];

Mesh the model and solve the eigenvalue problem.

generateMesh(model);
results = solvepdeeig(model,evr);
              Basis= 10,  Time=  20.76,  New conv eig=  0
              Basis= 11,  Time=  20.99,  New conv eig=  0
              Basis= 12,  Time=  21.18,  New conv eig=  0
              Basis= 13,  Time=  21.38,  New conv eig=  0
              Basis= 14,  Time=  21.61,  New conv eig=  1
              Basis= 15,  Time=  21.82,  New conv eig=  2
              Basis= 16,  Time=  22.03,  New conv eig=  2
              Basis= 17,  Time=  22.21,  New conv eig=  2
              Basis= 18,  Time=  22.37,  New conv eig=  4
End of sweep: Basis= 18,  Time=  22.38,  New conv eig=  4
              Basis= 14,  Time=  24.30,  New conv eig=  0
End of sweep: Basis= 14,  Time=  24.31,  New conv eig=  0

How many results did solvepdeeig return?

length(results.Eigenvalues)
ans = 3

Plot the solution on the geometry boundary for the lowest eigenvalue.

V = results.Eigenvectors;
subplot(2,2,1)
pdeplot3D(model,'ColorMapData',V(:,1,1))
title('x Deflection, Mode 1')
subplot(2,2,2)
pdeplot3D(model,'ColorMapData',V(:,2,1))
title('y Deflection, Mode 1')
subplot(2,2,3)
pdeplot3D(model,'ColorMapData',V(:,3,1))
title('z Deflection, Mode 1')

Plot the solution for the highest eigenvalue.

figure
subplot(2,2,1)
pdeplot3D(model,'ColorMapData',V(:,1,3))
title('x Deflection, Mode 3')
subplot(2,2,2)
pdeplot3D(model,'ColorMapData',V(:,2,3))
title('y Deflection, Mode 3')
subplot(2,2,3)
pdeplot3D(model,'ColorMapData',V(:,3,3))
title('z Deflection, Mode 3')

Input Arguments

collapse all

PDE model, specified as a PDEModel object. The model contains the geometry, mesh, and problem coefficients.

Example: model = createpde(1)

Eigenvalue range, specified as a two-element real vector. evr(1) specifies the lower limit of the range of the real part of the eigenvalues, and may be -Inf. evr(2) specifies the upper limit of the range, and must be finite.

Example: [-Inf;100]

Data Types: double

Output Arguments

collapse all

Eigenvalue results, returned as an EigenResults object.

Tips

  • The equation coefficients cannot depend on the solution u or its gradient.

Introduced in R2016a