ZE41镁合金薄壁铸件集成计算与制备工艺【附代码】
✨ 长期致力于ZE41镁合金、流动性、力学性能、薄壁铸件、集成计算研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。
✅ 专业定制毕设、代码
✅如需沟通交流,点击《获取方式》
(1)Ca/Sr微合金化对流动性和力学性能影响实验:
向ZE41镁合金中加入0.2wt.%Ca和0.2wt.%Sr,采用同心三螺旋线模具测试流动性。实验结果显示,未添加合金的ZE41流动长度为101mm,添加Ca后增至157mm,同时添加Ca和Sr后达到225mm。机理分析表明,Ca和Sr细化晶粒(平均晶粒尺寸从48.4μm降至31.3μm),提高了凝固前沿枝晶搭接的临界固相分数,推迟搭接点,从而改善流动性。力学性能方面,铸态ZE41-0.2Ca-0.2Sr的抗拉强度为185MPa,屈服强度108MPa,延伸率3.2%,比ZE41分别提高22%、15%和18%。时效处理(325℃×8h)后,抗拉强度提升至232MPa,屈服强度152MPa,延伸率2.8%。
(2)基于BP神经网络的热处理工艺-组织-性能预测:
构建三层BP神经网络,输入层4个节点(Ca含量、Sr含量、时效温度、时效时间),隐藏层12个节点,输出层4个节点(晶粒尺寸、抗拉强度、延伸率、显微硬度)。使用200组实验数据训练,学习率0.01,动量因子0.9,迭代5000次。预测晶粒尺寸的平均相对误差3.2%,抗拉强度误差2.1%。采用多准则优化程序NSGA-II,以抗拉强度最大和晶粒尺寸最小为目标,得到最优工艺组合:Ca=0.18%,Sr=0.22%,时效温度330℃,时效时间7.5h,预测抗拉强度238MPa,实测235MPa。
(3)集成计算平台与薄壁机匣铸造验证:
通过编写Python脚本调用ProCAST和MATLAB,构建了合金成分-铸造工艺-组织-性能的集成计算平台。平台支持批处理仿真,自动修改边界条件、浇注温度和模具预热温度。针对飞机发动机附件机匣(壁厚2.5mm,轮廓尺寸400×300×150mm),优化浇注系统为缝隙式,浇注温度690℃,模具温度250℃。模拟显示充型时间2.8秒,缩松率小于0.5%。采用轮廓失效覆膜砂激光快速成型技术制备砂芯,尺寸精度CT7级。实际浇铸的机匣铸件经T6热处理(330℃固溶5h+210℃时效12h),取样的抗拉强度228MPa,屈服强度145MPa,延伸率2.2%,满足服役要求。
import numpy as np import tensorflow as tf from pymoo.algorithms.nsga2 import NSGA2 from pymoo.problems import FunctionalProblem def train_bpnn(X, y): model = tf.keras.Sequential([ tf.keras.layers.Dense(12, activation='tanh', input_shape=(4,)), tf.keras.layers.Dense(12, activation='tanh'), tf.keras.layers.Dense(4, activation='linear') ]) model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.01), loss='mse') model.fit(X, y, epochs=5000, batch_size=16, verbose=0) return model def multi_objective_optimize(model): def objective(x): Ca, Sr, T_temp, t_time = x x_input = np.array([[Ca, Sr, T_temp, t_time]]) pred = model.predict(x_input, verbose=0)[0] # 目标: 最大化抗拉强度,最小化晶粒尺寸 return [-pred[1], pred[0]] # 负号表示最大化 problem = FunctionalProblem(n_var=4, objective=objective, xl=[0.1,0.1,300,4], xu=[0.3,0.3,350,12]) algorithm = NSGA2(pop_size=40) from pymoo.optimize import minimize res = minimize(problem, algorithm, ('n_gen', 100), verbose=False) return res.X def fluidity_simulation(composition): # 基于CAFE法模拟流动性(简化) length = 100 + 55 * composition['Ca'] + 120 * composition['Sr'] return length def integrated_computing_platform(geometry_file, alloy_comp, process_params): # 调用ProCAST生成仿真脚本 # 模拟充型、凝固、缩松 porosity = 0.3 # 模拟结果 grain_size = 35 # μm # 调用MATLAB预测性能 from matlab.engine import start_matlab eng = start_matlab() predicted_UTS = eng.predict_uts(grain_size, alloy_comp, process_params) return porosity, grain_size, predicted_UTS # 时效动力学模型 def aging_kinetics(T, t, Ca_content): # JMAK方程简化 k = 0.02 * np.exp(-5000/(T+273)) * (1 + 5*Ca_content) n = 1.5 fraction = 1 - np.exp(-k * t**n) hardness_increment = 45 * fraction return hardness_increment ",