В этом примере показано, как анализировать динамическое поведение луча при универсальной загрузке давления и зафиксированный в обоих концах.
Этот пример использует имперскую систему модулей. Если вы заменяете их на значения, заданные в метрической системе, гарантируете, что задаете все значения с помощью той же системы.
В этом примере загрузка давления внезапно применяется в равное нулю время. Величина давления достаточно высока, чтобы произвести отклонения на том же порядке как толщина луча. Точное предсказание этого типа поведения требует геометрически нелинейных уравнений эластичности. Этот пример решает зафиксированную задачу эластичности луча с помощью и линейных и нелинейных формулировок уравнений эластичности.
Один подход к обработке больших отклонений должен рассмотреть уравнения эластичности в деформированном положении. Однако тулбокс использует уравнения на основе исходной геометрии. Поэтому необходимо использовать лагранжевую формулировку нелинейной эластичности, где усилия, деформации и координаты относятся к исходной геометрии. Лагранжевая формулировка уравнений равновесия
где существенная плотность, вектор смещения, градиент деформации, второй тензор напряжения Пайола-Кирчофф, и вектор массовой силы. Также можно написать это уравнение в форме тензора:
Несмотря на то, что эта формулировка составляет большие отклонения, она принимает, что деформации остаются маленькими, так, чтобы линейные эластичные конститутивные отношения применялись. Для 2D плоского случая напряжения можно написать конститутивные отношения в матричной форме:
Зелено-лагранжев тензор деформации:
Для изотропного материала:
где модуль Молодежи, и отношение Пуассона. Для получения дополнительной информации о лагранжевой формулировке для нелинейной эластичности, смотрите Ссылки.
Эти уравнения полностью описывают геометрически нелинейную плоскую задачу напряжения. Этот пример использует Symbolic Math Toolbox™, чтобы задать c коэффициент в форме, требуемой Partial Differential Equation Toolbox™. C коэффициентом является функциональный cCoefficientLagrangePlaneStress
. Можно использовать его с любым геометрическим нелинейным плоским расчетом напряжений модели, сделанной из изотропного материала. Можно найти его под matlab/R20XXx/examples/pde/main
.
Создайте модель PDE для системы двух уравнений.
model = createpde(2);
Создайте следующую геометрию луча.
Задайте длину и толщину луча.
blength = 5; % Beam length, in height = 0.1; % Thickness of the beam, in
Поскольку геометрия луча и загрузка симметричны о центре луча, можно упростить модель путем рассмотрения только правильной половины луча.
l2 = blength/2; h2 = height/2;
Создайте ребра прямоугольника, представляющего луч.
rect = [3 4 0 l2 l2 0 -h2 -h2 h2 h2]'; g = decsg(rect,'R1',('R1')');
Создайте геометрию из ребер и включайте ее в модель.
pg = geometryFromEdges(model,g);
Постройте геометрию с метками ребра.
figure pdegplot(g,'EdgeLabels','on') axis([-.1 1.1*l2 -5*h2 5*h2])
Выведите коэффициенты уравнения с помощью свойств материала. Для линейного случая c матрица коэффициентов является постоянной.
E = 3.0e7; % Young's modulus of the material, lbs/in^2 gnu = 0.3; % Poisson's ratio of the material rho = 0.3/386; % Density of the material G = E/(2.*(1 + gnu)); mu = 2*G*gnu/(1 - gnu); c = [2*G + mu; 0; G; 0; G; mu; 0; G; 0; 2*G + mu]; f = [0 0]'; % No body forces specifyCoefficients(model,'m',rho,'d',0,'c',c,'a',0,'f',f);
Примените граничные условия. От условия симметрии x-смещение равняется нулю на левом крае.
symBC = applyBoundaryCondition(model,'mixed','Edge',4,'u',0,'EquationIndex',1);
Поскольку луч фиксируется, x-и y-смещения равный нуль вдоль правого края.
clampedBC = applyBoundaryCondition(model,'dirichlet','Edge',2,'u',[0 0]);
Примените постоянное вертикальное напряжение вдоль верхнего края.
sigma = 2e2; presBC = applyBoundaryCondition(model,'neumann','Edge',3,'g',[0 sigma]);
Установите нулевые начальные смещения и скорости.
setInitialConditions(model,0,0);
Сгенерируйте mesh.
generateMesh(model);
Решите модель.
tlist = linspace(0,3e-3,100); result = solvepde(model,tlist);
Интерполируйте решение в центре геометрии y-компонента (2 компонента) во все времена решения.
xc = 1.25; yc = 0; u4Linear = interpolateSolution(result,xc,yc,2,1:length(tlist));
Задайте коэффициенты для нелинейного случая. cCoefficientLagrangePlaneStress
функционируйте берет изотропные свойства материала и местоположение и структуры состояния, и возвращает c-матрицу для нелинейного плоского расчета напряжений. Это принимает, что деформации малы, то есть, E и независимы от решения.
c = @(location,state) cCoefficientLagrangePlaneStress(E,gnu,location,state); specifyCoefficients(model,'m',rho,'d',0,'c', c,'a',0,'f',f);
Решите модель.
result = solvepde(model,tlist);
Интерполируйте решение в центре геометрии y-компонента (2 компонента) во все времена решения.
u4NonLinear = interpolateSolution(result,xc,yc,2,1:length(tlist));
Постройте y-отклонение в центре луча как функция времени. Нелинейный анализ дает к существенно меньшим смещениям, чем линейный анализ. Это "напряжение, укрепляющее" эффект также, приводит к более высокой частоте колебания от нелинейного анализа.
figure plot(tlist,u4Linear(:),tlist,u4NonLinear(:)) legend('Linear','Nonlinear') title 'Deflection at Beam Center' xlabel 'Time, seconds' ylabel 'Deflection, inches' grid on
Малверн, Лоуренс Э. Введение в механику непрерывного носителя. Ряд Prentice Hall в разработке физики. Englewood Cliffs, NJ: Prentice Hall, 1969.