exponenta event banner

structuralDamping

Задание параметров демпфирования для структурной модели с переходной или частотной характеристикой

Описание

пример

structuralDamping(structuralmodel,'Alpha',a,'Beta',b) задает параметры пропорционального демпфирования (Rayleigh) a и b для structuralmodel объект.

Для модели частотной характеристики с демпфированием результаты сложны. Используйте abs и angle функции для получения действительной величины и фазы соответственно.

пример

structuralDamping(structuralmodel,'Zeta',z) задает коэффициент модального демпфирования. Этот параметр используется при решении модели переходной или частотной характеристики с использованием результатов модального анализа.

damping = structuralDamping(___) возвращает объект параметров демпфирования с использованием любого из предыдущих входных синтаксисов.

Примеры

свернуть все

Задайте параметры пропорционального (релейного) демпфирования для балки.

Создайте переходную структурную модель.

 structuralModel = createpde('structural','transient-solid');

Импорт и печать геометрии.

 gm = importGeometry(structuralModel,'SquareBeam.STL');
 pdegplot(structuralModel,'FaceAlpha',0.5)

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

Задайте модуль Юнга, коэффициент Пуассона и плотность массы.

structuralProperties(structuralModel,'YoungsModulus',210E9,...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Задайте параметры демпфирования Rayleigh.

structuralDamping(structuralModel,'Alpha',10,'Beta',2)
ans = 
  StructuralDampingAssignment with properties:

      RegionType: 'Cell'
        RegionID: 1
    DampingModel: "proportional"
           Alpha: 10
            Beta: 2
            Zeta: []

Решение проблемы частотной характеристики с демпфированием. Результирующие значения смещения являются комплексными. Для получения величины и фазы смещения используйте abs и angle соответственно. Для ускорения вычислений решите модель с помощью результатов модального анализа.

Модальный анализ

Создайте модель модального анализа для 3-D проблемы.

modelM = createpde('structural','modal-solid');

Создайте геометрию и включите ее в модель.

gm = multicuboid(10,10,0.025);
modelM.Geometry = gm;

Создайте сетку.

msh = generateMesh(modelM);

Задайте модуль Юнга, коэффициент Пуассона и массовую плотность материала.

structuralProperties(modelM,'YoungsModulus',2E11, ...
                            'PoissonsRatio',0.3, ...
                            'MassDensity',8000);

Определение граней для применения граничных зависимостей и нагрузок путем печати геометрии с метками граней и кромок.

pdegplot(gm,'FaceLabels','on','FaceAlpha',0.5)

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

figure
pdegplot(gm,'EdgeLabels','on','FaceAlpha',0.5)

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

Задайте зависимости на сторонах пластины (грани 3, 4, 5 и 6) для предотвращения движения жесткого тела.

structuralBC(modelM,'Face',[3,4,5,6],'Constraint','fixed');

Решить проблему для диапазона частот от -Inf кому 12*pi.

Rm = solve(modelM,'FrequencyRange',[-Inf,12*pi]);

Анализ частотной характеристики

Создайте модель анализа частотной характеристики для 3-D проблемы.

modelFR = createpde('structural','frequency-solid');

Используйте ту же геометрию и сетку, что и для модального анализа.

modelFR.Geometry = gm;
modelFR.Mesh = msh;

Задайте одинаковые значения для модуля Юнга, коэффициента Пуассона и плотности массы материала.

structuralProperties(modelFR,'YoungsModulus',2E11,'PoissonsRatio',0.3,'MassDensity',8000);

Задайте одинаковые зависимости на сторонах пластины, чтобы предотвратить режимы жесткого тела.

structuralBC(modelFR,'Face',[3,4,5,6],'Constraint','fixed');

Укажите нагрузку давления на верхнюю часть пластины (грань 2) для моделирования идеального импульсного возбуждения. В частотной области этот импульс давления равномерно распределяется по всем частотам.

structuralBoundaryLoad(modelFR,'Face',2,'Pressure',1E2);

Во-первых, решить модель без демпфирования.

flist = [0,1,1.5,linspace(2,3,100),3.5,4,5,6]*2*pi;
RfrModalU = solve(modelFR,flist,'ModalResults',Rm);

Теперь решите модель с демпфированием, равным 2% критического демпфирования для всех режимов.

structuralDamping(modelFR,'Zeta',0.02);
RfrModalAll = solve(modelFR,flist,'ModalResults',Rm);

Решите ту же модель с частотно-зависимым демпфированием. В этом примере используйте частоты решения из flist и значения демпфирования от 1% до 10% от критического демпфирования.

omega = flist;
zeta = linspace(0.01,0.1,length(omega));
zetaW = @(omegaMode) interp1(omega,zeta,omegaMode);
structuralDamping(modelFR,'Zeta',zetaW);

RfrModalFD = solve(modelFR,flist,'ModalResults',Rm);

Интерполировать смещение в центре верхней поверхности пластины для всех трех случаев.

iDispU = interpolateDisplacement(RfrModalU,[0;0;0.025]);
iDispAll = interpolateDisplacement(RfrModalAll,[0;0;0.025]);
iDispFD = interpolateDisplacement(RfrModalFD,[0;0;0.025]);

Постройте график величины смещения. Увеличьте масштаб частот вокруг первого режима.

figure
hold on
plot(RfrModalU.SolutionFrequencies,abs(iDispU.Magnitude));
plot(RfrModalAll.SolutionFrequencies,abs(iDispAll.Magnitude));
plot(RfrModalFD.SolutionFrequencies,abs(iDispFD.Magnitude));
title('Magnitude')
xlim([10 25])
ylim([0 0.5])

Figure contains an axes. The axes with title Magnitude contains 3 objects of type line.

Постройте график фазы смещения.

figure
hold on
plot(RfrModalU.SolutionFrequencies,angle(iDispU.Magnitude));
plot(RfrModalAll.SolutionFrequencies,angle(iDispAll.Magnitude));
plot(RfrModalFD.SolutionFrequencies,angle(iDispFD.Magnitude));
title('Phase')

Figure contains an axes. The axes with title Phase contains 3 objects of type line.

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

свернуть все

Структурная модель с переходной или частотной характеристикой, указанная как StructuralModel объект. Модель содержит геометрию, сетку, структурные свойства материала, нагрузки на тело, граничные нагрузки, граничные условия и исходные условия.

Пример: structuralmodel = createpde('structural','transient-solid')

Пропорциональное демпфирование массы, указанное как неотрицательное число.

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

Пропорциональное демпфирование жесткости, указанное как неотрицательное число.

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

Коэффициент модального демпфирования, заданный как неотрицательное число или дескриптор функции. Используйте дескриптор функции, когда каждый режим имеет свой собственный коэффициент демпфирования. Функция должна принимать вектор собственных частот в качестве входного аргумента и возвращать вектор соответствующих коэффициентов демпфирования. Он должен охватывать весь диапазон частот для всех режимов, используемых для модального решения. Дополнительные сведения см. в разделе Модальное демпфирование в зависимости от частоты.

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

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

свернуть все

Ручка к параметрам демпфирования, возвращаемая как StructuralDampingAssignment объект. См. раздел Свойства назначения StructuralD.

Подробнее

свернуть все

Модальное демпфирование в зависимости от частоты

Для использования индивидуального значения модального демпфирования для каждого режима укажите z как функция частоты.

function z = dampingFcn(omega)

Обычно функция коэффициента демпфирования представляет собой линейную интерполяцию частоты в зависимости от параметра модального демпфирования:

structuralDamping(modelD,'Zeta',@(omegaMode) ...
                  interp1(omega,zeta,omegaMode))

Здесь, omega является вектором частот, и zeta - вектор соответствующих значений коэффициента демпфирования.

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