Тепловое отклонение биметаллического луча

В этом примере показано, как решить двойную задачу термоупругости. Тепловое расширение или сокращение в механических компонентах и структурах происходят из-за изменений температуры в операционной среде. Тепловое напряжение является вторичным проявлением: структура испытывает перегрузки, когда структурные ограничения предотвращают свободное тепловое расширение или сокращение компонента. Отклонение биметаллического луча является общим экспериментом физики. Типичный биметаллический луч состоит из двух материалов, связанных вместе. Коэффициенты теплового расширения (CTE) этих материалов существенно отличаются.

Этот пример находит отклонение биметаллического луча с помощью структурной модели конечного элемента. Пример сравнивает это отклонение с аналитическим решением на основе приближения теории луча.

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

structuralmodel = createpde('structural','static-solid');

Создайте геометрию луча со следующими размерностями.

L = 0.1; % m
W = 5E-3; % m
H = 1E-3; % m
gm = multicuboid(L,W,[H,H],'Zoffset',[0,H]);

Включайте геометрию в структурную модель.

structuralmodel.Geometry = gm;

Постройте геометрию.

figure
pdegplot(structuralmodel)

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

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

Во-первых, отобразите метку ячейки для нижней ячейки. Видеть, что ячейка помечает ясно, изменение масштаба на левый конец луча и вращает геометрию можно следующим образом.

figure
pdegplot(structuralmodel,'CellLabels','on')
axis([-L/2 -L/3 -W/2 W/2 0 2*H])
view([0 0])
zticks([])

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

Теперь отобразите метку ячейки для главной ячейки. Видеть, что ячейка помечает ясно, изменение масштаба на правильный конец луча и вращает геометрию можно следующим образом.

figure
pdegplot(structuralmodel,'CellLabels','on')
axis([L/3 L/2 -W/2 W/2 0 2*H])
view([0 0])
zticks([])

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

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

Присвойте свойства материала меди к нижней ячейке.

Ec = 137E9; % N/m^2
nuc = 0.28;
CTEc = 20.00E-6; % m/m-C
structuralProperties(structuralmodel,'Cell',1, ...
                                     'YoungsModulus',Ec, ...
                                     'PoissonsRatio',nuc, ...
                                     'CTE',CTEc);

Присвойте свойства материала инвара к главной ячейке.

Ei = 130E9; % N/m^2
nui = 0.354;
CTEi = 1.2E-6; % m/m-C
structuralProperties(structuralmodel,'Cell',2, ...
                                     'YoungsModulus',Ei, ...
                                     'PoissonsRatio',nui, ...
                                     'CTE',CTEi);

В данном примере примите, что левый конец луча фиксируется. Чтобы наложить это граничное условие, отобразите метки поверхности на левом конце луча.

figure
pdegplot(structuralmodel,'faceLabels','on','FaceAlpha',0.25)
axis([-L/2 -L/3 -W/2 W/2 0 2*H])
view([60 10])
xticks([])
yticks([])
zticks([])

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

Примените закрепленное граничное условие на поверхности 5 и 10.

structuralBC(structuralmodel,'Face',[5,10],'Constraint','fixed');

Примените изменение температуры как тепловую нагрузку. Используйте ссылочную температуру 25 градусов Цельсия и рабочую температуру 125 градусов Цельсия. Таким образом изменение температуры для этой модели составляет 100 градусов Цельсия.

structuralBodyLoad(structuralmodel,'Temperature',125);
structuralmodel.ReferenceTemperature = 25;

Сгенерируйте mesh и решите модель.

generateMesh(structuralmodel,'Hmax',H/2);
R = solve(structuralmodel);

Постройте отклоненную форму биметаллического луча с величиной смещения как данные о карте цветов.

figure
pdeplot3D(structuralmodel,'ColorMapData',R.Displacement.Magnitude, ...
                          'Deformation',R.Displacement, ...
                          'DeformationScaleFactor',2)
title('Deflection of Invar-Copper Beam')

Вычислите отклонение аналитически, на основе теории луча. Отклонение полосы δ=6ΔT(αc-αi)L2K1, где K1=14+EcEi+EiEc, ΔT перепад температур, αc и αi коэффициенты теплового расширения меди и инвара, Ec и Ei модуль Молодежи меди и инвара, и L длина полосы.

K1 = 14 + (Ec/Ei)+ (Ei/Ec);
deflectionAnalytical = 3*(CTEc - CTEi)*100*2*H*L^2/(H^2*K1);

Сравните аналитические результаты и результаты, полученные в этом примере. Результаты сопоставимы из-за большого соотношения сторон.

PDEToobox_Deflection = max(R.Displacement.uz);
percentError = 100*(PDEToobox_Deflection - ...
                    deflectionAnalytical)/PDEToobox_Deflection;

bimetallicResults = table(PDEToobox_Deflection, ...
                          deflectionAnalytical,percentError);
bimetallicResults.Properties.VariableNames = {'PDEToolbox', ...
                                              'Analytical', ...
                                              'PercentageError'};
disp(bimetallicResults)
    PDEToolbox    Analytical    PercentageError
    __________    __________    _______________

    0.0071061     0.0070488         0.8063