solvepdeeig

Решите задачу собственного значения PDE, заданную в PDEModel

Описание

пример

result = solvepdeeig(model,evr) решает задачу собственного значения PDE в model для собственных значений в области значений evr. Если область значений не содержит собственных значений, solvepdeeig возвращает EigenResults объект с пустым EigenVectors, EigenValues, и Mesh свойства.

Примеры

свернуть все

Решение для нескольких вибрационных режимов BracketTwoHoles геометрия.

Уравнения упругости имеют три компонента. Поэтому создайте модель PDE, которая имеет три компонента. Импорт и просмотр BracketTwoHoles геометрия.

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

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Установите F1, заднюю поверхность, с нулевым отклонением.

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

Установите коэффициенты модели, чтобы представлять стальной кронштейн. Для получения дополнительной информации см. «Линейные уравнения упругости».

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

Найдите собственные значения до 1e7.

evr = [-Inf,1e7];

Создайте сетку модели и решите задачу собственного значения.

generateMesh(model);
results = solvepdeeig(model,evr);
              Basis= 10,  Time=  44.56,  New conv eig=  0
              Basis= 11,  Time=  44.86,  New conv eig=  0
              Basis= 12,  Time=  45.00,  New conv eig=  0
              Basis= 13,  Time=  45.12,  New conv eig=  0
              Basis= 14,  Time=  45.25,  New conv eig=  0
              Basis= 15,  Time=  45.36,  New conv eig=  2
              Basis= 16,  Time=  45.53,  New conv eig=  2
              Basis= 17,  Time=  45.70,  New conv eig=  2
              Basis= 18,  Time=  45.86,  New conv eig=  5
End of sweep: Basis= 18,  Time=  45.87,  New conv eig=  5
              Basis= 15,  Time=  47.53,  New conv eig=  0
End of sweep: Basis= 15,  Time=  47.54,  New conv eig=  0

Сколько результатов solvepdeeig вернуть?

length(results.Eigenvalues)
ans = 3

Постройте график решения на контуре геометрии для самого низкого собственного значения.

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')

Постройте график решения для наивысшего собственного значения.

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')

Входные параметры

свернуть все

Модель PDE, заданная как PDEModel объект. Модель содержит геометрию, mesh и коэффициенты задачи.

Пример: model = createpde(1)

Собственное значение области значений, заданное как двухэлементный вектор действительных чисел. evr(1) задает нижний предел области значений вещественной части собственных значений и может быть -Inf. evr(2) задает верхний предел области значений и должен быть конечным.

Пример: [-Inf;100]

Типы данных: double

Выходные аргументы

свернуть все

Результаты собственного значения, возвращенные как EigenResults объект. Если область значений env не содержит никаких собственных значений, возвращенный EigenResults объект имеет пустое EigenVectors, EigenValues, и Mesh свойства.

Совет

  • Коэффициенты уравнения не могут зависеть от решения u или его градиент.

Введенный в R2016a