Haopeng's Blog

Share equ happiness

Units in Abaqus

Quantity SI (Based on \(m\)) SI (Based on \(mm\)) Relationship
Length $ m $ $ mm $ \(10^3\)
Force \(N\) \(N\) \(1\)
Mass \(kg\) tonne (\(10^3 kg\)) \(10^-3\)
Stress \(Pa (N/m^2)\) \(MPa (N/mm^2)\) \(10^-6\)
Energy \(J\) \(mJ (10^{-3}J)\) \(10^3\)
Density \(kg/m^3\) tonne \(/mm^3\) \(10^{-12}\)
Acceleration \(m/s^2\) \(mm/s^2\) \(10^3\)
Time \(s\) \(s\) \(1\)

Circular Contact

Symbols

  • \(\delta\): distance between two spheres
  • \(E_i,\nu_i\): the elastic modulus and Poisson's ratio for the i-th sphere
  • \(R_i\): the radius of the i-th sphere
  • \(F\): force on spheres
  • \(b\): the half width of contact
  • \(E^*\): the combined modulus of two spheres
  • \(R^*\): reciprocal of relative curvature for two spheres

Equations

\[ {\delta}^3= \left(\frac{3}{4E^*}\right)^2 \frac{F^2}{R^*} \]

\[ F = \left( \frac{4E^*\sqrt{R^*}}{3} \right) \delta^\frac{3}{2}=k_{\mathrm{Hertz}} \; \delta^\frac{3}{2} \]

\[ \frac{1}{E^*} = \frac{(1-\nu_1^2)}{E_1} + \frac{(1-\nu_2^2)}{E_2} \]

\[ \frac{1}{R^*} = \frac{1}{R_1} + \frac{1}{R_2} \]

Case

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
clc
clear
close all
% choose the bearing to calculte contact stiffness
bearingType = 6212;
switch bearingType
case 6204
% SKF 6204 bearing
% Physics parameters
E1 = 210e9; % elastic modulus (Pa)
nu1 = 0.3; % poison's ratio
E2 = E1;
nu2 = nu1;
% Geometrics parameters
R1 = 3.97e-3; % radius of sphere 1 (m)
R2 = -20.7e-3;
disRange = 1e-3; % clearance + deformation
case 6212
% SKF 6212 bearing
% Physics parameters
E1 = 210e9; % elastic modulus (Pa)
nu1 = 0.3; % poison's ratio
E2 = E1;
nu2 = nu1;
% Geometrics parameters
R1 = 7.94e-3; % radius of sphere 1 (m)
R2 = -50.43e-3;
disRange = 1.3e-3; % clearance + deformation
end

% calculated parameters
Ec = ((1-nu1^2)/E1 + (1-nu2^2)/E2)^-1; % combined modulus
Rc = (1/R1 + 1/R2)^-1;
kHertz = 4/3 * (Ec*Rc^(1/2));

% Force and displacement
num = 1000;
delta = linspace(0,disRange,num);
FCircle = kHertz * delta.^(3/2);

% plot delta-F
plot(delta,FCircle)
xlabel('$\delta$ (m)','Interpreter',"latex")
ylabel('$F$ (N)','Interpreter',"latex")
title('Circle Contact')

Output:

1
fprintf('kHertz = %d', kHertz);

Output:

kHertz = 1.493475e+10

Line Contact

Symbols

  • \(\delta\): distance between two cylinders
  • \(E_i,\nu_i\): the elastic modulus and Poisson's ratio for the i-th cylinder
  • \(R_i\): the radius of the i-th cylinder
  • \(F\): force on cylinders
  • \(b\): the half width of contact
  • \(E^*\): the combined modulus of two cylinders
  • \(R^*\): reciprocal of relative curvature for two cylinders
  • \(L\): the length of the contact area

Equations (Radzimovsky Model)

\[ \delta = \frac{F}{\pi LE^*} \left( \ln{\frac{4R_1}{b}} + \ln{\frac{4R_2}{b}} + \frac{2}{3}\right) \]

\[ b = 2 \sqrt{\frac{FR^*}{\pi L E^*}} \]

\[ \frac{1}{E^*} = \frac{(1-\nu_1^2)}{E_1} + \frac{(1-\nu_2^2)}{E_2} \]

\[ \frac{1}{R^*} = \frac{1}{R_1} + \frac{1}{R_2} \]

Equations (Johnson's Model)

There is another model called Johnson's model.

\[ \delta(F) = \delta_1(F) + \delta_2(F) \]

\[ \delta_i(F) = \frac{F(1-\nu_i^2)}{\pi L E_i} \left( 2 \ln{\frac{4R_1}{b} - 1} \right) \]

\[ b = 2 \sqrt{\frac{FR^*}{\pi L E^*}} \]

Consider \(E_1 = E_2 = E,\; R_1 = R_2 =R\), the above equations could be simplified:

\[ \delta = \delta_1 + \delta_2 = \frac{2F(1-\nu^2)}{\pi LE} \left( \ln{\frac{4R_1}{b}} + \ln{\frac{4R_2}{b}} - 1\right) \]

As Pereira said "Only the Johson and the Radzimovsky models are suitable to describe the contact involving colliding cylinders in most of practical applications."

Case

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
% the physics and geometrics parameters are same as circle contact
L = 4*R1; % the length of contact

b = @(F) 2*((F*Rc)/(pi*L*Ec)).^(1/2); % half width of contact
% nonlinear funciton respect to F (Radzimovsky model)
fdeltaRadzi = @(F) F./(pi*L*Ec) .*(log(4*abs(R1)./b(F))+log(4*abs(R2)./b(F)+2/3));

% nonlinear funciton respect to F (Johnson model)
fdeltaJohnsoni = @(F,nu,E,R) F.*(1-nu^2)/(pi*L*E) .* (2*log(4*abs(R)./b(F)) - 1);
fdeltaJohnson = @(F,nu1,E1,R1,nu2,E2,R2) fdeltaJohnsoni(F,nu1,E1,R1) + fdeltaJohnsoni(F,nu2,E2,R2);

% calculte relation
F = linspace(0.1,1e6,num);
deltaRadzi = fdeltaRadzi(F);
deltaJohnson = fdeltaJohnson(F,nu1,E1,R1,nu2,E2,R2);

% plot
plot(deltaRadzi, F, "LineWidth",2); hold on
plot(deltaJohnson, F, "LineWidth",2)
xlabel('$\delta$ (m)','Interpreter',"latex")
ylabel('$F$ (N)','Interpreter',"latex")
title('Line Contact - Analytical Model')
legend('Radzimovsky Model','Johnson Model',"Location","best")
hold off

Polynomial Interpolation to Calculate Contact Stiffness

In general, we used to use a approximate polynomial to fit the nonlinear equation about the line contact. The polynomial looks like:

\[ F = k_{Hertz} \; \delta^n \]

where \(n=10/9\) for line contact.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
% initial value for fit
n = 10/9;
k0 = 1e10;
n0 = 1;
% fitfun1(): k is unknown
fitfun1 = @(k,delta) k.*delta.^n; % n = 9/10
% fitfun2(): k and n are unknown
fitfun2 = @(para,delta) para(1).*delta.^para(2); % para is established for nlinfit()


% fit for Radzimovasky model
% fitfun1
[kRadzi1, ~,~,~,MSERadzi1,~] = nlinfit(deltaRadzi, F, fitfun1, k0);
% fitfun2
[fitParaResult, ~,~,~,MSERadzi2,~] = nlinfit(deltaRadzi, F, fitfun2, [k0, n0]);
kRadzi2 = fitParaResult(1);
nRadzi2 = fitParaResult(2);
% plot for Radzimovasky model
plot(deltaRadzi,F,...
"LineWidth",2); hold on
plot(deltaRadzi,fitfun1(kRadzi1,deltaRadzi),...
'o',...
'MarkerIndices', 1:num/20:num); hold on
plot(deltaRadzi,fitfun2([kRadzi2,nRadzi2],deltaRadzi),...
's',...
'MarkerIndices', 1:num/20:num); hold off
xlabel('$\delta$ (m)','Interpreter',"latex")
ylabel('$F$ (N)','Interpreter',"latex")
title('Line Contact - Fit Model - Radzimovasky')
legend( 'Radzimovasky model',...
'$F = k_{Hertz} \delta^{10/9}$',...
'$F = k_{Hertz} \delta^n$',...
'Interpreter',"latex",...
"Location","best")

1
2
3
4
5
6
7
8
% print fit result
fprintf([' k unknow k and n unknow\n' ...
'n %6.6f %6.6f\n'...
'KHertz %6.2e %6.2e\n'...
'MSE %6.2e %6.2e'],...
n, nRadzi2,...
kRadzi1, kRadzi2,...
MSERadzi1, MSERadzi2);

Output:

k unknow k and n unknow
n 1.111111 1.138093
KHertz 3.39e+09 4.17e+09
MSE 2.19e+07 9.76e+05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
% fit for Johnson model
% fitfun1
[kJohnson1, ~,~,~,MSEJohnson1,~] = nlinfit(deltaJohnson, F, fitfun1, k0);
% fitfun2
[fitParaResult, ~,~,~,MSEJohnson2,~] = nlinfit(deltaJohnson, F, fitfun2, [k0, n0]);
kJohnson2 = fitParaResult(1);
nJohnson2 = fitParaResult(2);
% plot for Radzimovasky model
plot(deltaJohnson,F,...
"LineWidth",2); hold on
plot(deltaJohnson,fitfun1(kJohnson1,deltaJohnson),...
'o',...
'MarkerIndices', 1:num/20:num); hold on
plot(deltaJohnson,fitfun2([kJohnson2,nJohnson2],deltaJohnson),...
's',...
'MarkerIndices', 1:num/20:num); hold off
xlabel('$\delta$ (m)','Interpreter',"latex")
ylabel('$F$ (N)','Interpreter',"latex")
title('Line Contact - Fit Model - Johnson')
legend( 'Johnson model',...
'$F = k_{Hertz} \delta^{10/9}$',...
'$F = k_{Hertz} \delta^n$',...
'Interpreter',"latex",...
"Location","best")

1
2
3
4
5
6
7
8
% print fit result
fprintf([' k unknow k and n unknow\n' ...
'n %6.6f %6.6f\n'...
'KHertz %6.2e %6.2e\n'...
'MSE %6.2e %6.2e'],...
n, nJohnson2,...
kJohnson1, kJohnson2,...
MSEJohnson1, MSEJohnson2);

Output:

k unknow k and n unknow
n 1.111111 1.160895
KHertz 3.94e+09 5.80e+09
MSE 7.10e+07 1.72e+06

Reference

  1. Hale, Layton C. Appendix C: Contact Mechanics, in "Principles and techniques for desiging precision machines." MIT PhD Thesis, 1999. pp. 417-426.
  2. K. L. Johnson, “Non-Hertzian normal contact of elastic bodies,” in Contact Mechanics, Cambridge: Cambridge University Press, 1985, pp. 107–152.
  3. A. C. Fischer-Cripps, "Elastic Contact," In Introduction to Contact Mechanics. Mechanical Engineering Series, Boston: Springer, 2007, pp. 101-114.
  4. Cândida M. Pereira, Amílcar L. Ramalho, Jorge A. Ambrósio. A critical overview of internal and external cylinder contact force models. Nonlinear Dynamics, 2010, 63 (4), pp.681-697.
  5. Some slids in web: https://my.mech.utah.edu/~me7960/lectures/Topic2-FundamentalsOfErrors.pdf

三角函数型

对于一个周期为 \(T\) 的信号 \(x(t)\),其基频为 \(f_1=1/T\)。对 \(x(t)\) 进行傅里叶展开:

\[ x(t) = \frac{a_0}{2} +\sum^{\infty}_ {n=1} \left[ a_n \cos\left(2\pi n f_1 t \right) + b_n \sin\left(2\pi n f_1 t \right) \right] \]

上式中的 \(a_n\)\(b_n\) 是傅里叶系数:

\[ a_n = \frac{2}{T} \int^T_ 0 x(t) \cos \left( 2\pi n f_1 t \right) dt \]

\[ b_n = \frac{2}{T} \int^T_ 0 x(t) \sin \left( 2\pi n f_1 t \right) dt \]

三角函数型的傅里叶变换也可以写成余弦函数形式(三参数):

\[ x(t) = \frac{c_0}{2} + \sum^{\infty}_ {n=1} \left[ c_n \cos\left(2\pi n f_1 t + \varphi_n\right) \right] \]

其中:

\[ c_n = \sqrt{a_n^2 + b_n^2} \]

\[ \varphi_n = \mathrm{arctan}(-\frac{b_n}{a_n}) \]

指数型

欧拉公式建立了三角函数与指数之间的桥梁。

\[ \cos \left( 2\pi n f_1 t \right) = \frac{1}{2} \left[ e^{j2\pi n f_1 t} + e^{-j2\pi n f_1 t} \right] \]

\[ \sin \left( 2\pi n f_1 t \right) = \frac{1}{2j} \left[ e^{j2\pi n f_1 t} - e^{-j2\pi n f_1 t} \right] \]

将欧拉公式带入三角函数型的傅里叶变换后,令:

\[ X(2\pi n f_1) = \frac{a_n - j b_n}{2} \]

\(f_1\)代表傅里叶变换后的基频,\(j\)表示虚数单位,则傅里叶变换可以写为: \[ x(t) = \sum^{\infty}_ {n=-\infty} X(2\pi n f_1) e^{ j 2\pi n f_1 t } \]

式中的 $X(2n f_1) $ 展开后为:

\[ \begin{gathered} X(2\pi n f_1) =\frac{1}{2} \left[ \frac{2}{T} \int^T_ 0 x(t) \cos \left( 2\pi n f_1 t \right) dt - \frac{2j}{T} \int^T_ 0 x(t) \sin \left( 2\pi n f_1 t \right) dt \right] \\\\ = \frac{1}{T} \int^T_ 0 x(t) \left[ \cos \left( 2\pi n f_1 t \right) - j \sin \left( 2\pi n f_1 t \right) \right] dt \end{gathered} \]

再利用欧拉公式,可得:

\[ X(2\pi n f_1) = \frac{1}{T} \int^T_ 0 x(t) e^{ -j 2\pi n f_1 t} dt \]

两者的联系

已知:

\[ X(2\pi n f_1) = \frac{a_n - j b_n}{2} \]

上式为复数,在复平面内可以被表示为:

\[ X(2\pi n f_1) = \frac{1}{2} \sqrt{a_n^2 + b_n^2} e^{j\mathrm{arctan}(-\frac{b_n}{a_n})} \]

其中\(\frac{1}{2} \sqrt{a_n^2 + b_n^2}\)为复数的模,\(\mathrm{arctan}(-\frac{b_n}{a_n})\)为复数的幅角。

观察此复数的模、幅角与三角函数型傅里叶变化间的异同可知,复数的模等于余弦信号$c_n (2n f_1 t + _n) $幅值的一半。

\[ |X(2\pi n f_1)| = \frac{1}{2} \sqrt{a_n^2 + b_n^2} = \frac{1}{2} c_n \]

复数的幅角等于余弦信号$c_n (2n f_1 t + _n) $初相位。

\[ \varphi_n = \mathrm{arctan}(-\frac{b_n}{a_n}) \]

Geometrical Nonlinear

In the geometrical nonlinear case, the relationship internal force-displacements is nonlinear.

Material Nonlinaer

In the material nonlinear case, the relationship of the stress-strain is nonlinear.

Of course these cases may be independent of each other or combined.

  • From Czeslaw Kazimierz Szymczak: https://www.researchgate.net/post/What_is_Geomertical_Nonlinearity/2

概述

  • 前置概念同伦
  • 作用对象:非线性方程组
  • 目的:扩大非线性方程组的收敛域

延拓法的基本思想

  1. 已知一个待求解的非线性方程组 \(F(x)=0\)
  2. 在方程组中引入一个参数 \(\lambda\),构造 \(F(x)\)同伦映射 \(H(x,\lambda), \lambda \in [0,1]\), 使得 \(H(x,0)=0, H(x,1)=F(x)\)
  3. 已知 \(H(x,0)=0\) 的解是 \(x=x_0\) (可以是零向量 \(\bar{0}\) )
  4. 数值迭代,求解满足 \(H(x,1)=0\) 的解 \(x^*\)
    • 构造序列 \(\\{ \lambda_i \\} = \\{0,...,\lambda_i,...1\\}, i = 0,1,2,...,N\)
    • \(x_0\) 为初值,求解 \(H(x,\lambda_1)=0\) (例如,Netwon迭代),解为 \(x_1\)
    • \(x_1\) 为初值,求解 \(H(x,\lambda_2)=0\),解为 \(x_2\)
    • \(x_i\) 为初值,求解 \(H(x,\lambda_{i+1})=0\),解为 \(x_{i+1}\)
    • 最终求得 \(H(x,1)=0\) 的解 \(x_N\), 即 \(F(x)=0\)的解 \(x^*\)
  5. 该方法的结果相当于扩大了传统非线性方程组迭代求解方法的收敛域

Mark 1: Newton迭代时,可只迭代一步,因为最终目标是求 \(\boldsymbol{x}^*\) Mark 2\(N\) 足够大

延拓法的数学表述

传统的求解非线性方程组求解方法是局部收敛的,只有初值 \(x_0\) 足够接近真值,迭代方法收敛。然而,延拓法作为可以扩大收敛域的有效方法,可以从任意的 \(x_0\) 出发,通过延拓求解得到方程的解 \(x^*\)

引入参数 \(\lambda\),构造一簇同伦映射 \(\boldsymbol{H}:D\times[0,1] \subset \mathbf{R}^{n+1}\rightarrow \mathbf{R}^n\) 代替单映射 \(\boldsymbol{F}(\boldsymbol{x})\),令 \(\boldsymbol{H}\) 满足条件:

\[ \boldsymbol{H}(\boldsymbol{x}_0,0)=\boldsymbol{0} \]

\[ \boldsymbol{H}(\boldsymbol{x},1)=\boldsymbol{F}(\boldsymbol{x}) \]

它表明当 \(\lambda=0\) 时,\(\boldsymbol{H}(\boldsymbol{x},0)=\boldsymbol{0}\) 的解 \(\boldsymbol{x}_0\) 已知;当 \(\lambda=1\) 时,\(\boldsymbol{H}(\boldsymbol{x},1)=\boldsymbol{F}(\boldsymbol{x})=0\) 的解 \(\boldsymbol{x}^*\) 为非线性方程组的解。

现考虑同伦方程:

\[ \boldsymbol{H}(\boldsymbol{x},\lambda)=\boldsymbol{0} \\quad \lambda \in [0,1],\boldsymbol{x}\in D \subset\mathbf{R}^n \]

如果对每个 \(\lambda \in[0,1]\),上述方程有解 \(\boldsymbol{x}=\boldsymbol{x}(\lambda), \boldsymbol{x}:[0,1]\rightarrow D\) 且连续,则 \(\boldsymbol{x}=\boldsymbol{x}(\lambda)\) 是关于参数 \(\lambda\in[0,1]\)\(\mathbf{R}^{n+1}\) 中的一条曲线。该曲线的一端为已知点 \((\boldsymbol{x}_0,0)\),另一端是点 \((\boldsymbol{x}^*,1)\)\(\boldsymbol{x}^*\) 即为非线性方程组的解,这就是延拓法,也被称作同伦法

满足条件的同伦可以有各种不同的取法,常用的有两种。

牛顿同伦: \[ \boldsymbol{H}(\boldsymbol{x},\lambda) =\boldsymbol{F}(\boldsymbol{x}) +(\lambda-1)\boldsymbol{F}(\boldsymbol{x}_0) \]

凸同伦: \[ \boldsymbol{H}(\boldsymbol{x},\lambda) = t \boldsymbol{F}(\boldsymbol{x}) +(1-\lambda)\boldsymbol{A}(\boldsymbol{x} - \boldsymbol{x}_0) \]

其中 \(\boldsymbol{A}\in\mathbf{R}^{n\times n}\) 是非奇的

概念

同伦:在数学和拓扑学上描述了两个对象间的“连续变化”。

两个定义在拓扑空间之间的连续函数,如果其中一个能“连续地形变”为另一个,则这两个函数称为同伦的。这样的形变称为两个函数之间的同伦。

定义

给定两个拓扑空间 \(X\)\(Y\)。考虑两个连续函数 \(f, g: X\rightarrow Y\),若存在一个定义在空间 \(X\) 与单位区间 \([0,1]\) 的积空间上的连续映射 \(H: X \times [0,1] \rightarrow Y\) 使得:

  • \(\forall x \in X, H(x,0)=f(x)\)
  • \(\forall x \in X, H(x,1)=g(x)\)

则称 \(H\)\(f, g\) 之间的一个同伦。

如果我们将 \(H\) 的第二个参数当作时间,这样 \(H\) 相当于描述了一个从 \(f\)\(g\) 的连续形变: 0 时刻得到函数 \(f\),1时刻得到函数 \(g\), 反之亦然。

Reference

转动惯量

概念

在经典力学中,转动惯量又称惯性矩(英语:moment of inertia, mass moment of inertia, second moment of mass, 最准确的表达应该是 rotational inertia),通常以 \(I\) 表示,国际单位制为 \(kg \cdot m^2\)

转动惯量是一个物体对于其旋转运动的惯性大小的量度。一个刚体对于某转轴的转动惯量决定对于这物体绕着这转轴进行某种角加速度运动所需要施加的力矩。

定义

对于刚体,其转动惯量由积分表示: \[ I=\int \rho r^2 dV \]

其中 \(\rho\) 是密度, \(dV\) 是微元的体积。

转动动能

在直线运动中,物体的动能是:\(K=\frac{1}{2} mv^2\) ,在转动中, \(v=\omega r\)\(m=\int \rho dV\),则: \[ K= \frac{1}{2} \int \rho \omega r^2 dV = \frac{1}{2} \left(\int \rho r^2 dV \right)\omega^2 \]

\[ K=\frac{1}{2} I \omega^2 \]

转动惯量列表

描述 示意图 转动惯量
质点 \(I=mr^2\)
细棒-绕中心 \(I_{center}=\frac{1}{12}mL^2\)
细棒-绕端点 \(I_{end}=\frac{1}{3}mL^2\)
细圆环 $I_z=mr^2 $
\(I_x=I_y=\frac{1}{2}mr^2\)
圆盘 \(I_z=\frac{1}{2}mr^2\)
\(I_x=I_y=\frac{1}{4}mr^2\)
环形圆盘 \(I_z=\frac{1}{2}m(r_1^2+r_2^2)\)
\(I_x=I_y=\frac{1}{4}m(r_1^2+r_2^2)\)
圆柱壳 \(I\approx mr^2\)
圆柱 $I_z=mr^2 $
圆柱 center \(I_x=I_y=\frac{1}{12}m(3r^2+h^2)\)
圆柱 end \(I_x=I_y=\frac{1}{12}m(3r^2+4h^2)\)
空心圆柱 \(I_z=\frac{1}{2}m(r_1^2+r_2^2)\)
空心圆柱 center \(I_x=I_y=\frac{1}{12}m(3(r_1^2+r_2^2)+h^2)\)
空心圆柱 end \(I_x=I_y=\frac{1}{12}m(3(r_1^2+r_2^2)+4h^2)\)
长方体 $I_h=m(w2+d2) $
$I_w=m(d2+h2) $
\(I_d=\frac{1}{12}m(w^2+h^2)\)

截面惯性矩

概念

截面惯性矩又称面积二次轴矩=横截面的惯性矩=面积惯性矩 (英语:second moment of aera, second aera mement, quadratic moment of aera, aera moment of inertia) 通常是对受弯曲作用物体的横截面而言,是反映截面的形状与尺寸对弯曲变形影响的物理量。弯曲作用下的变形或挠度不仅取决于荷载的大小,还与横截面的几何特性有关。如工字梁的抗弯性能就比相同截面尺寸的矩形梁好。它和反映截面抗扭转作用性能的面积极惯性矩是相似的。

定义

截面的面积为 \(A\),则: \[ I_x = \int_A y^2 dA=\int \int y^2 dx dy \]

\[ I_y = \int_A x^2 dA=\int \int x^2 dx dy \] 分别表示截面对坐标轴\(x\)\(y\)的惯性矩,第一式中的 \(y\) 和第二式中的 \(x\) 分别表示面积微元 \(dA\)\(x\) 和到 \(y\) 轴的垂直距离。

截面惯性矩列表(含极惯性矩)

描述 示意图 截面惯性矩
\(I_x=I_y=\frac{\pi}{4}r^4\)
\(I_z=\frac{\pi}{4}r^4\)
圆环 \(I_x=I_y=\frac{\pi}{4}(r_2^4-r_1^4)\)
\(I_z=\frac{\pi}{2}(r_2^4-r_1^4)\)
长方形-中心 \(I_x=\frac{bh^3}{12}\)
\(I_y=\frac{b^3h}{12}\)
\(I_z=\frac{b^3h+bh^3}{12}\)
长方形-端点 \(I_x=\frac{bh^3}{3}\)
\(I_y=\frac{b^3h}{3}\)
\(I_z=\frac{b^3h+bh^3}{3}\)
长方形-空心 \(I_x=\frac{bh^3-b_1h_1^3}{12}\)
\(I_y=\frac{b^3h-b_1^3h_1}{12}\)
三角形-形心 \(I_x=\frac{bh^3}{36}\)
\(I_y=\frac{b^3h-b^2ha+bha^2}{36}\)
三角形-端点 \(I_x=\frac{bh^3}{12}\)
\(I_y=\frac{b^3h+b^2ha+bha^2}{12}\)

极惯性矩

概念

极惯性矩又称截面二次极矩 (英语:second polar moment of aera, polar moment of inertia) 通常是对受扭转作用物体的横截面而言,是反应截面形状与尺寸对扭转变形影响的物理量。通常用 \(I_z\)\(I_p\) 表示。

定义

截面的面积为 \(A\),且面积微元 \(dA\)\(z\) 轴的距离为 \(\rho\) 则: \[ I_z = \int_A \rho^2 dA=\int \int x^2+y^2 dx dy \]

截面惯性矩与极惯性矩的关系为:

\[ I_z = \int_A \rho^2 dA=\int \int y^2+x^2 dx dy = I_x + I_y \]

三者的区别

  • 转动惯量:转动惯量越大,惯性越大,物体旋转越难改变(需要的力矩越大)与质量分布有关;
  • 截面惯性矩:截面惯性矩越大,物体越难弯曲,抗弯截面模量也越大。与质量分布无关。
  • 极惯性矩:极惯性矩越大,物体越难扭转。与质量分布无关。与截面惯性矩的关系为: \(I_z=I_x+I_y\)

参考

基本操作

赋值:=

1
a :=b   #表示将 a 的值赋予 b

相等=

1
2
a = b           # 创建了一个表达式
equn:= a=b #将表达式 a=b 赋值给 equn

执行但不输出结果:

上标^

下标__ (双下划线)

(空格)

构造矩阵< >

1
<<a, b, c> | <x, y,z>>
输出结果为: \[ \begin{bmatrix} a & x \\\\ b & y \\\\ c & z \end{bmatrix} \]

构造函数 F:=x->2*x

1
2
F := (x, y) -> 2*x + y
F(2,1)
输出结果为 4

最常用的数据类型

序列a := 1, 2, 3 特点:有顺序、可组合 b:=a,4,5 (输出结果为 1,2,3,4,5),典型应用是函数的输入参数 生成序列的函数 seq()

1
seq(x^i,i=1..11,2)
输出结果为: \(x,x^3,x^5,x^9,x^{11}\)

列表: 是用 [ ] 封装的序列 与序列的不同:列表中嵌入列表展开方式不同 与集合的不同:列表中元素项顺序是固定的,且会保留重复项

1
2
3
4
a:=[1,2,3]:
b:=[a,4,5]
b[1]
b[2]
输出结果为:b:=[[1,2,3],4,5][1,2,3]4

表达式的处理

简化simplify()

1
2
3
4
5
6
equn :=a (a+b+2 a)
simplify(equn) #处理单个表达式或矩阵
equns := a (a+b+2 a), x+3x+y, m+n+n+n #生成表达式序列
simplify(equns) #会报错
seq( simplify(equns[i]), i=1..3 ) #正常化简,生成一个化简后的序列
simplify([equns]) #正常化简,生成一个化简后的列表

展开expand()

1
2
3
4
5
6
a:= x ( x+2 + x (x+3) )
expand(a) #结果为 x^3 + 4*x^2 + 2*x
b:= x ( x+2 + x (x+3) ), 2 y ( y+21 - 5 y (y+1) )
expand(b) #只展开前一项,后一项被当作输入参数
seq(expand(b[i]),i=1..2) #正常展开,结果为序列 x^3 + 4*x^2 + 2*x, -10*y^3 - 8*y^2 + 42*y
expand([b]) #正常展开,结果为列表 [x^3 + 4*x^2 + 2*x, -10*y^3 - 8*y^2 + 42*y]

整理collect()sort()

1
2
3
4
equn := x*y*(x + y*(x + y + y*(x^2 + 1)))
equn := expand(equn) #先展开 结果为 x^3*y^3 + x^2*y^2 + 2*x*y^3 + x^2*y
collect(equn, y) #再按照 y 整理各项,结果为 (x^3 + 2*x)*y^3 + x^2*y^2 + x^2*y
sort(equn, y, ascending) #按 y 降次排列,结果为 x^2*y + x^2*y^2 + x^3*y^3 + 2*x*y^3

变量替换subs()algsubs()

1
2
3
4
5
6
a := x + 3*y
subs(x = z, a) #用 z 替换表达式 a 中的 x,结果为 z + 3*y
subs(z = x, a) #因等式中无 z,故结果为 x + 3*y;等式左端为表示中已有变量,右端为替换后的变量
subs(x = 2 z,a) #结果为 2*z + 3*y
subs(2 y = z,a) #结果为 x + 3*y;因为subs只用来替换单变量不进行表达式的计算,该情况使用 algsubs()
algsubs(2*y = z, a) #结果为 x + (3*z)/2

微分diff()

1
2
3
4
5
6
7
8
9
10
11
# 一般求导--------------------------------------------------------
equn:=x^3 + 2*x*y^2 + x*y + y^2 + x
diff(equn,x) #对 equn 关于 x 求导数,结果为 3*x^2 + 2*y^2 + y + 1
# 对 x(t) 求导----------------------------------------------------
equn2:= x(t) +x(t)^2
diff(equn3, t) #可以对 t 直接求导,结果为diff(x(t), t) + 2*x(t)*diff(x(t), t)
diff(equn2,x) #结果为0,因为maple不会将 x(t) 认定为 x
diff(equn2, x(t)) #报错,不能对 x(t) 直接求导
equn3 := subs(x(t) = x, equn3) #先用 x 代换 x(t),再求导
equn3 := diff(equn3, x)
equn3 := subs(x = x(t), equn3) #再反代换回去,结果为 2*x(t) + 1

积分int()

1
2
integrand:= x+x^2
int(integrand, x = 0 .. 1) #被积函数是 integrand,积分下限是0,上限是1

选择特定项并移除select()remove()

1
2
3
integers := [seq(10 .. 20)]     #结果为 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
select(isprime, integers) #选择列表 integers 里的质数,结果为[11, 13, 17, 19]
remove(isprime, integers) #移除列表 integers 里的质数,结果为[10, 12, 14, 15, 16, 18, 20]

解方程solve()

1
2
3
4
5
6
7
# solve() 的输入参数可以是序列或列表-------------------------------
equns1 := x + y + z = 3:
equns2 := 2*x + 4*y + z = 7:
equns3 := x + y + 3*z = 5:
equns := [equns1, equns2, equns3]:
vars := [x, y, z]:
solve(equns, vars) #结果为 [[x = 1, y = 1, z = 1]]

转换convert()

1
2
integers:=[seq(1..5),1 ]                #此时 integers 为列表,结果为 [1, 2, 3, 4, 5, 1]
integers:=convert(integers,list) #此时 integers 为集合,结果为 {1, 2, 3, 4, 5} 因为集合无顺序且删去重复的元素

获取等式的左边/右边lhs()rhs()

1
2
3
equn := x + y = a - b
lhs(equn) #获取等式左边,结果为 x + y
rhs(equn) #获取等式左边,结果为 a - b

函数映射map()

1
2
3
4
# 将某个函数(自定义的或系统自带的)映射到某个对象(例如矩阵)的全部元素中去
test1 := <<1 | 2 | 3>, <4 | 5 | 6>, <7 | 8 | 9>>
f := x -> x^2:
test2:=map(f, test1)
结果为: \[ test1=\begin{bmatrix}1 & 2 & 3 \\\\4 & 5 & 6 \\\\7 & 8 & 9 \end{bmatrix},test2=\begin{bmatrix}1 & 4 & 9 \\\\16 & 25 & 36 \\\\49 & 64 & 81 \end{bmatrix} \]

1
2
3
test := <<1 | 2 | 3>, <4 | 5 | 6>, <7 | 8 | 9>>     #创建矩阵
int(test, x = 0 .. 2) #报错,不可以直接对矩阵进行积分
map(int, test, x = 0 .. 2) #将 int() 映射到矩阵中的每个元素,进行积分

结果为: \[ test=\begin{bmatrix}2 & 4 & 6 \\\\8 & 10 & 12 \\\\14 & 16 & 18 \end{bmatrix} \]

参考书目

参考文献

  • Timoshenko本人的论文: Timoshenko S P. LXVI. On the correction for shear of the differential equation for transverse vibrations of prismatic bars[J]. The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science, 1921, 41(245): 744-746.
  • Timoshenko梁的有限元模型-必引论文: Nelson, H. D. A Finite Rotating Shaft Element Using Timoshenko Beam Theory[J]. Journal of Mechanical Design, 1980, 102(4): 793-803.

参考书目

备注: 注意区分各个文献中截面惯性矩、转动惯量、单位长度转动惯量;密度、线密度;面积、有效抗剪面积之间的区别。这些常系数会影响最终质量、刚度等矩阵前的系数。马辉与廖明夫的书中的有限元刚度、质量等矩阵是相等的,通过常系数之间的关系可以推导得到。

公约

\(\bar{y}=\Psi(\bar{x})\),其中 \(\bar{y},\bar{x}\) 分别是 \(m\times 1,n\times 1\) 向量,则有Jacobian矩阵: \[ \frac{\partial\bar{y}}{\partial\bar{x}} = \begin{bmatrix} \frac{\partial y_1}{\partial x_1} & \frac{\partial y_1}{\partial x_2} & \cdots & \frac{\partial y_1}{\partial x_n} \\\\ \frac{\partial y_2}{\partial x_1} & \frac{\partial y_2}{\partial x_2} & \cdots & \frac{\partial y_2}{\partial x_n} \\\\ \vdots & \vdots & \ddots & \vdots \\\\ \frac{\partial y_n}{\partial x_1} & \frac{\partial y_n}{\partial x_2} & \cdots &\frac{\partial y_n}{\partial x_n} \end{bmatrix} \]

按照该公约:如果 \(x\) 是标量,则Jacobian矩阵是 \(m \times 1\) 列向量;如果 \(y\) 是标量,则Jacobian矩阵是 $ 1 n$ 行向量。

定理 1

\(\bar{y}=\mathbf{A} \bar{x}\),则: \[ \frac{\partial\bar{y}}{\partial\bar{x}}=\mathbf{A} \]

定理 2

若标量 \(\alpha\) 满足 \(\alpha =\bar{y}^T\mathbf{A} \bar{x}\),则: \[ \frac{\partial \alpha}{\partial\bar{x}}=\bar{y}^T\mathbf{A},\; \frac{\partial \alpha}{\partial\bar{y}}=\bar{x}^T\mathbf{A}^T \]

定理 3

若标量 \(\alpha\) 满足 \(\alpha =\bar{x}^T\mathbf{A} \bar{x}\),则: \[ \frac{\partial \alpha}{\partial\bar{x}}=\bar{x}^T \left( \mathbf{A}^T + \mathbf{A} \right) \]


0%