首页/文章/ 详情

Abaqus FSI 跌落测试 - 100 升 HDPE 燃料箱

8月前浏览560





这篇文章展示了我们如何使用 SIMULIA Abaqus 有限元分析软件对装有液体的 100 升聚乙烯燃料箱进行跌落试验。该分析的目的是预测可能导致泄漏的材料行为和失效模式。

本例中,一个装满液体的塑料罐从约15米高处坠落到平坦坚硬的地面上。如下图所示,该罐由高密度聚乙烯制成,壁厚均为5毫米。罐内几乎装满了水(约90%)。对罐体进行真实模拟必须同时考虑罐体从地面坠落产生的外部作用力以及水对罐壁产生的内部作用力。罐体内部产生的应力和应变将用于评估其结构可行性。

我们该如何做到这一点?

我们将通过以下步骤描述我们是如何进行这项模拟的。

1. 创建几何图形

首先,我们对储罐进行了建模。我们在 SolidWorks 中创建了这个 100 升储罐的模型,并创建了中面几何体,然后保存了零件。为了防止储罐内液体晃动,我们设计了带有底部开口的板肋,以便液体可以从一个腔室流向另一个腔室,但这些板肋并未完全延伸到储罐顶部。请参见下图。

Tank geometry.jpg  

我们创建了一个新的装配体并导入了水箱部件。我们将水箱放置在地面上,使其撞击地面的一个角而不是完全平放在地面上。之后,我们在该装配体中创建了一个代表地面的新部件。然后,我们建模了水面,水面与地面平行。由于水箱是旋转的,水面显然也呈一定角度。我们还创建了一个盒状的欧拉部件。该欧拉部件代表欧拉域,并且应该足够大,以便捕捉必要的细节。

Total Geometry Assembly in SolidWorks.jpg  
Exploded View Geometry.jpg  

我们使用 SolidWorks 关联接口将零件导入 Abaqus,然后继续进行后续操作。

在 Abaqus 中,零件现已导入并实例化到装配体中。我们通过右键单击零件并选择“编辑零件”来定义欧拉零件。

Edit Part as Eulerian.jpg  

我们选择三维欧拉方法来相应地处理欧拉域。

我们创建了流体、储罐和地面三个部分。

Create Sections.jpg  

之后,将截面应用于欧拉盒、水箱和地面。请注意,我们选择了代表区域的欧拉盒部分。我们建模的实际水体将在稍后使用。因此,对于内部水体部分,不会创建或应用任何截面。

2. 添加材料属性

水箱采用高密度聚乙烯制成,其塑性硬化模型遵循各向同性模型。水被视为近乎不可压缩的流体。

Material Properties HDPE.jpg  

损伤采用延性损伤定义进行描述。高密度聚乙烯的密度为 8.76 × 10–7 kg/mm3,杨氏模量为 903.114 N/mm2,泊松比为 0.39。

水的密度为 9.96 × 10–7 kg/mm3,体积模量为 2.094 GPa。

Material Properties Water.jpg  

3. 创建显式步骤

在加载步骤中,我们使用了 0.05 的时间段。

Creation Abaqus Explicit Step.jpg  

4. 对部件进行网格划分

我们已对所有部件进行了网格划分,网格尺寸为 10 毫米,其中坦克采用 S4R 单元,地面采用 SFM3D4R 单元,欧拉域采用 EC3D8R 单元。

Abaqus Mesh All Parts.jpg  

5. 相互作用

相互作用模块,我们使用了默认的 Abaqus 设置进行通用接触。

为了确定水在欧拉域中的位置,我们使用了体积分数工具。

Abaqus Volume Fraction Tool.jpg  

首先需要选择欧拉域,然后选择参考部分。在本例中,参考部分是我们建模的水体形状。“体积分数”工具会自动生成离散场。请注意,每次对任何部分进行网格划分后,都需要使用“体积分数”工具重新生成离散场。

6. 载荷与边界

我们在欧拉域上沿 Y 方向施加了 -9800 的重力载荷,并且还对油箱施加了单独的 -9800 重力载荷。对于地面,我们固定了所有位移和旋转。

本次分析的坠落高度为15米。我们不关注空中坠落部分,因此我们将部件放置在撞击前的位置,并赋予物体等于撞击速度的速度。

这可以通过以下方式计算:

Velocity.jpg  

所以这样算出来的速度是 17.15 m/S

欧拉域和水箱的初始速度(单位为mm/S)均作为预定义场创建。

Abaqus Predefined Field Velocity.jpg  

之后,需要创建最后一个预定义字段,我们将使用“其他 > 材料”分配,该分配来自我们使用“体积分数工具”生成的离散字段。

Abaqus Predefined Field Material Assignment.jpg  

7. 创建并提交任务

我们已创建并提交了在 4 个 CPU 上运行的作业。此分析运行大约需要 3 小时,字段输出变量的时间间隔为 100 毫秒,且间隔均匀。请务必在提交作业前,创建一个新的字段输出变量,用于请求单元中的 EVF(仅限欧拉坐标系下的空隙/材料体积分数)。该变量位于“体积/厚度/坐标”下。

8. 最终结果

Abaqus Drop Test Final Results.jpg  

(罐内应力,单位:kPa)



来源:ABAQUS仿真世界
Abaqus通用SolidWorks材料试验装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-17
最近编辑:8月前
yunduan082
硕士 | 仿真主任工程... Abaqus仿真世界
获赞 203粉丝 392文章 486课程 0
点赞
收藏
作者推荐

一天解析一个Abaqus子程序-VFRIC

今天学习Abaqus/Explicit自定义摩擦子程序VFRIC,实现的是各向同性库仑摩擦+粘着(stick)处理,写法极其简洁(甚至有点“偷懒”)。我们来逐行、逐变量、逐物理意义地彻底拆解它,并告诉你哪里写得聪明、哪里有隐患、哪里可以提升。CCUsersubroutineVFRICsubroutinevfric(CWriteonly-*fTangential,CRead/Write-*statev,CReadonly-*kStep,kInc,nContact,nFacNod,nSecNod,nMainNod,*nFricDir,nDir,nStateVar,nProps,nTemp,nPred,numDefTfv,*jSecUid,jMainUid,jConSecid,jConMainid,timStep,timGlb,*dTimCur,surfInt,surfSec,surfMast,lContType,*dSlipFric,fStickForce,fTangPrev,fNormal,frictionWork,*shape,coordSec,coordMain,dircosSec,dircosN,props,*areaSec,tempSec,preDefSec,tempMain,preDefMain)Cinclude'vaba_param.inc'Cdimensionprops(nProps),statev(*),1dSlipFric(nDir,nContact),2fTangential(nFricDir,nContact),3fTangPrev(nDir,nContact),4fStickForce(nContact),areaSec(nSecNod),5fNormal(nContact),shape(nFacNod,nContact),6coordSec(nDir,nSecNod),coordMain(nDir,nMainNod),7dircosSec(nDir,nContact),dircosN(nDir,nContact),8jSecUid(nSecNod),jMainUid(nMainNod),9jConSecid(nContact),jConMainid(nFacNod,nContact),1tempSec(nContact),tempMain(numDefTfv),2preDefSec(nContact,nPred),3preDefMain(numDefTfv,nPred)Ccharacter*80surfInt,surfSec,surfMastparameter(zero=0.d0)*xMu=props(1)if(nDir.eq.2)thendokcon=1,ncontactfn=fNormal(kcon)fs=fStickForce(kcon)ft=min(xMu*fn,fs)fTangential(1,kcon)=-ftenddoelseif(nDir.eq.3)thendokcon=1,ncontactfn=fNormal(kcon)fs=fStickForce(kcon)ft=min(xMu*fn,fs)fTangential(1,kcon)=-ftfTangential(2,kcon)=zeroenddoendif*returnend来源:ABAQUS仿真世界

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈