首页/文章/ 详情

【RADIOSS每周干货】多域求解大法好,精确快速无烦恼

7月前浏览2359

本文摘要(由AI生成):

本文研究了处理动态问题时如何有效控制时间步长以提高准确性和效率。文章提出多域求解方法,将模型分为全域和子域,并按各自时间步长求解,通过rad2rad耦合保证精度同时提升效率。多域求解适用于子域节点和单元数少、时间步长小、连接关系少的情况。文章还介绍了处理连接关系和接触问题的方法,并通过案例展示了多域求解的应用效果,有效节省了计算时间。

时间步长控制是动态问题求解的关键。信息(力、速度等)通过一个单元所需要的最小时间被称为关键时间步长。我们设置的时间步长如果大于这个值会导致结果不收敛,而太小会导致时间成本过高。

 

真是不好办呢!更讨厌的是,关键时间步长不是均匀的,它与网格大小、组件材料有关。不同组件的关键时间步长可能相差好几倍。这种情况下,按照谁的关键时间步长来计算呢?

  


原理

多域求解是将模型分割为全域(full domain)和子域(sub-domain),按照不同的时间步长求解。

全域和子域通过rad2rad耦合。它们并不是同时求解,而是轮流求解。如下图所示,全域求解一段时间,把求解结果告诉rad2rad。Rad2rad又告诉子域,然后子域求解。子域解一会儿,又轮到全域求解......

 

多域求解的好处显而易见,全域、子域可以按照自己的节奏计算。都保证精度但不浪费时间,提高了效率。

BUT!!!

r2r耦合信息的过程也是消耗计算资源的。如果r2r消耗的资源大于节省的时间,就得不偿失啦。我们一般认为,多域求解在以下情况下是高效的选择:

🔹 子域节点数、单元数不超过全域的30%

🔹 子域关键时间步长不大于全域的1/3

🔹 子域和全域的连接关系越少越好,以免r2r信息传递成本过高

说到连接关系,我们把模型分两半时怎么处理连接呢?

当你选择把某些组件作为子域,RADIOSS在求解starter file时,就会自动划分连接关系。它的划分规则如下:

   

共节点

 

RADIOSS自动检测到全、子域间有组件共节点,创建node to node连接。

   

刚体 /RBODY

 

当同一个刚体被拆分到两个不同域,在每个域中都会计算质量、惯量、重心等信息。两边各自计算出一个主节点位置,然后进行耦合。

   

TYPE2连接 /INTER/TYPE2

 

当TYPE2的主、从节点分属两个域时,主节点会在另一个域中被复 制并赋予空材料、保持与从点的连接。然后求解信息耦合到主节点本来存在的域中。

   

/RLINK & /RBE3

从节点会在另一个域里被复 制,然后耦合。

   

其他会被复 制的卡片

/BCS

/IMPVEL

/IMPDISP

/RWALL

/RIVET

   

接触

天啦噜!如果一个接触的主、从面被残酷地分到了不同域,怎么办?

 

这时一个虚拟面(artificial skin)产生了。这里要把全、子域(full & sub-domain)定义为主、从域(master & slave domain)。从域中的面会被复 制到主域中,成为虚拟面。这个面被赋予空材料并维持原来的杨氏模量和密度。然后如上图所示,虚拟面就假装自己是原来的surface2,与surface1在主域中进行接触计算。计算的结果会通过r2r传递到从域。

    如果对接触的计算精度有要求,可以把子域(sub-domain)定为主(master domain)。因为接触计算总在主域中进行,如果主域选为时间步长小的子域,精度自然更有保障。

 

Attention 

分割全域、子域时,要使接触尽可能少。否则r2r计算成本太高。

如果在求解子文件后发现警告  

案例

在RADIOSS帮助文档Exemple 37中可以找到下面这个案例哦~

下图中可以看到一个保险杠撞击柱子。红色的是会与柱子接触的部分,我们需要研究它的形变,所以这部分网格更细。其他部分的网格更粗糙。两个部分所使用的时间步长大概差三倍。  

 

大致流程:

🔹 按照正常建模方法,创建bumper_0000和bumper_0001文件。

🔹 创建子域

   用HyperCrash打开模型,点击Process>Multidomain。创建新的domain:

 

Title填写子域名称,之后会按照这个名称生成子域的engine文件;

Parts选择想放入子域的组件,比如图中红色部分;

Engine file可以先选已经存在的bumper_0001文件,之后会自动生成子域对应的FINE_MESH_0001文件。

🔹 点击Model>control cards,编辑控制卡片:

Starter中勾选SPMD(single process multiple domain,多域单线程);

Engine中勾选RAD2RAD。

🔹 修改子域0001文件

导出文件后,FINE_MESH_0001.rad自动生成啦。

打开它,我们会发现内容与bumper_0001一模一样!

我们把时间步长改小,改为适合子域的即可。

🔹 求解

打开RADIOSS,勾选-multidomain,求解。

来看看结果如何:

 

<形变图>

 

<撞击力>

 

<内能变化>

以上是按照正常方法和多域求解的对比结果,可以看出两者几乎没有差别。而计算时间从5930s降到了3310s,节省了44%。

来源:Altair澳汰尔
RADIOSSHyperCrashUM材料控制无人机Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-30
最近编辑:7月前
Altair澳汰尔
澳汰尔工程软件(上海)有限公司
获赞 137粉丝 464文章 737课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈