exponenta event banner

solvepdeeig

Решите задачу о собственных значениях УЧП, заданную в PDEModel

Синтаксис

result = solvepdeeig(model,evr)

Описание

пример

result = solvepdeeig(model,evr) решает задачу о собственных значениях УЧП в model для собственных значений в области значений evr.

Примеры

свернуть все

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

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

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

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

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

Установите коэффициенты модели представлять стальную скобку. Для получения дополнительной информации смотрите 3-D Линейные уравнения Эластичности в Форме Тулбокса.

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=  27.76,  New conv eig=  0
              Basis= 11,  Time=  27.93,  New conv eig=  0
              Basis= 12,  Time=  28.07,  New conv eig=  0
              Basis= 13,  Time=  28.26,  New conv eig=  0
              Basis= 14,  Time=  28.53,  New conv eig=  1
              Basis= 15,  Time=  28.67,  New conv eig=  2
              Basis= 16,  Time=  28.73,  New conv eig=  2
              Basis= 17,  Time=  28.90,  New conv eig=  2
              Basis= 18,  Time=  29.01,  New conv eig=  4
End of sweep: Basis= 18,  Time=  29.01,  New conv eig=  4
              Basis= 14,  Time=  30.64,  New conv eig=  0
End of sweep: Basis= 14,  Time=  30.64,  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.

Советы

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

Введенный в R2016a