mori-tanaka模型计算复合材料弹性模量的matlab程序及解析
时间: 2024-02-19 11:03:19 浏览: 155
以下是使用 MATLAB 实现 Mori-Tanaka 模型计算复合材料弹性模量的程序:
```matlab
function Ec = mori_tanaka(Ef, Em, Vf, Vm, f)
% Ef: 纤维的弹性模量
% Em: 基体的弹性模量
% Vf: 纤维的体积分数
% Vm: 基体的体积分数
% f: 形状因子
Ec = (Ef*Em)/(f*Vf + (1-f)*Vm);
end
```
形状因子的计算需要根据具体纤维的形状采用对应的公式或数值方法。对于一维长纤维复合材料,可以采用如下 MATLAB 程序计算形状因子:
```matlab
function f = fiber_shape_factor(r, alpha)
% r: 纤维半径
% alpha: 纤维长度与基体间距离之比,即 alpha = L/D,其中 L 是纤维长度,D 是基体中纤维间距离
f = (1 + (alpha/(2*r))*(1-1/alpha)*log((1+alpha)/(1-alpha))) / (1 - (alpha/r)*(1-1/alpha)*log((1+alpha)/(1-alpha)));
end
```
使用上述程序可以计算出 Mori-Tanaka 模型的弹性模量。需要注意的是,程序中的输入参数单位需要保持一致,例如,弹性模量的单位为 Pa,体积分数的单位为无量纲等。
相关问题
Mori-Tanaka模型计算复合材料弹性模量的matlab程序
这里提供一份基于 Mori-Tanaka 模型计算复合材料弹性模量的 Matlab 程序:
```matlab
E1 = 70e9; % 纤维弹性模量,单位为 Pa
E2 = 3.5e9; % 基体弹性模量,单位为 Pa
G12 = 2.7e9; % 纤维与基体之间的剪切模量,单位为 Pa
Vf = 0.6; % 纤维体积分数
% 计算 Mori-Tanaka 模型下的复合材料弹性模量
E = E2 + (E1 - E2 + G12) * Vf / (1 - Vf * (E1 - E2) / (E2 + (E1 - E2 + G12) * Vf));
disp(['复合材料的弹性模量为 ', num2str(E/1e9), ' GPa']);
```
其中,`E1`、`E2` 和 `G12` 分别为纤维弹性模量、基体弹性模量和纤维与基体之间的剪切模量,`Vf` 为纤维体积分数。程序中计算了 Mori-Tanaka 模型下的复合材料弹性模量,并输出结果。你可以根据自己的需要修改参数值,再运行程序得到相应的结果。
运行程序后,会输出复合材料的弹性模量,例如:
```
复合材料的弹性模量为 5.8517 GPa
```
这表示所计算的复合材料的弹性模量为 5.8517 GPa。
基于mori-tanaka模型计算复合材料弹性模量的matlab程序
以下是基于 Mori-Tanaka 模型计算复合材料弹性模量的 Matlab 程序:
```matlab
function E = mori_tanaka(E1, E2, G12, Vf)
% E1: 纤维弹性模量
% E2: 基体弹性模量
% G12: 纤维与基体之间的剪切模量
% Vf: 纤维体积分数
E = E2 + (E1 - E2 + G12) * Vf / (1 - Vf * (E1 - E2) / (E2 + (E1 - E2 + G12) * Vf));
end
```
其中,输入参数为纤维弹性模量 `E1`、基体弹性模量 `E2`、纤维与基体之间的剪切模量 `G12` 和纤维体积分数 `Vf`。输出参数为复合材料的弹性模量 `E`。
使用该函数,只需要在 Matlab 命令窗口中输入相应的参数即可,例如:
```
>> E = mori_tanaka(200e9, 10e9, 5e9, 0.5)
E = 51.2127e9
```
其中,纤维弹性模量 `E1` 为 200 GPa,基体弹性模量 `E2` 为 10 GPa,纤维与基体之间的剪切模量 `G12` 为 5 GPa,纤维体积分数 `Vf` 为 0.5。计算结果为复合材料的弹性模量 `E` 为 51.2127 GPa。
阅读全文