exponenta event banner

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 объект. Модель содержит геометрию, сетку и коэффициенты проблем.

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

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

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

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

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

свернуть все

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

Совет

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

Представлен в R2016a