如何在 Mechanical LS-DYNA 中设置自适应实体到 SPH 模型

ops/2024/12/23 10:05:32/

总结

在这篇博文中,介绍了 LS-DYNA 功能的“Adaptive Solid to SPH”在 Ansys Mechanical 中的使用。解释了 SPH 公式与经典实体元素相结合的使用,并通过一个简单的示例开发了设置及其主要参数。

 

什么是 SPH?

平滑粒子流体动力学 (SPH) 是结构分析中采用的一种计算技术,用于模拟复杂结构在动态载荷(如冲击或爆炸)下的行为。在 SPH 中,结构由一组粒子表示,每个粒子都具有位置、速度和应力等属性。该方法通过在定义的平滑长度内对相邻粒子进行平均来评估任意点的结构属性。这种方法允许对结构组件之间的不规则几何形状和动态相互作用进行建模,而不受固定网格的约束,这使得 SPH 特别适用于模拟传统基于网格的方法面临挑战(例如大变形或材料失效)的场景。

 

为什么将粒子连接到我的实体元素?

即使你喜欢固体元素和连续体理论,也有一些情况下会出现限制。在涉及大变形的结构分析中,例如材料失效或冲击仿真,保持网格质量和避免单元变形对 FEM 来说是一项挑战。仿真裂纹扩展和断裂力学是额外的挑战。

SPH 是一种拉格朗日方法,通过跟踪单个颗粒的运动来自然地处理大变形,由于其能够处理材料不连续性和碎裂,因此非常适合模拟材料失效和冲击场景。这使得它对于分析材料和结构中的失效机制很有价值,例如脆性断裂或疲劳失效,其中裂纹扩展起着重要作用。

在故障分析中,保持尽可能高的准确性非常重要。当经典的拉格朗日单元过度变形时,可以从分析中侵蚀它以模拟开裂。但这种方法会降低总质量,影响精度。用质量等效粒子替换元件将有助于保持精度。

 

例子

刚性球体撞击由其周边固定的柔性钢盘。初始速度足够高,可以穿过磁盘,从而导致故障。

 

 

自适应实体到 SPH:

 

bf38b7a1dd1a04cbe0a37ea5fad9c30d.png

此对象允许用户创建粒子以在后置替换实体元素。可以使用 scope 在目标物体中创建粒子。每个单元的颗粒数对于保持与实体单元相似的精度非常重要。使用选项'耦合到实体元素'将创建从侵蚀实体到粒子的过渡。

替换失效固体拉格朗日单元的 SPH 粒子继承了这些失效实体单元的所有拉格朗日节点量(如位移、速度和加速度)和所有拉格朗日积分点量(如应力和应变)。这些属性将分配给新激活的 SPH 粒子。新创建的 SPH 部件可以使用 Material Assignment 字段具有不同的材料属性。

 

材质设置:

从固体适应到粒子的另一半是固体元素的侵蚀。有必要在 Engineering data 中添加 rosion definition,并使用一些标准来消除初始元素。在此示例中,使用了有效应变,但有几个附加选项。

 

9e3613e443eeb143d2c414f6708f3586.png

 

ed61950c11f26f623906238a67b929d8.png

结果

模拟开始后,可能会找到一条指示已达到侵蚀标准的消息。

 

715e0ebcc608eb37b797eae586abaea6.png

这意味着第一个固体单元已被其等效粒子替换。在下一个时间步中,一些元素已被消除,结果值可以在粒子中看到。

 

47cbf239d4d3af1f142883ee69326db3.png

位移图显示了粒子如何从主体中分离出来,在整个分析中考虑了它们的能量,从而提高了实体模型的准确性。

 

edb38469b05cce100021678e8334efd6.png

最后的评论

当 Material Assignment 设置为 Program Controlled 时,SPH 零件将具有与实体零件相同的材料。可以使用 Engineering Data 中可用的任何材料。

此对象不允许使用壳和柱单元。

 

结论

机械 LS-DYNA 中的“自适应实体到 SPH”模型为结构分析提供了几个优势。首先,它通过根据需要将实体单元动态转换为平滑粒子流体动力学 (SPH) 单元来提高精度,从而确保精确的仿真。其次,它的多功能性支持对复杂结构行为的无缝仿真,使其适用于广泛的工程场景。此外,它还最大限度地减少了人工干预的需求,简化了仿真过程并节省了时间。最后,它提供了不同条件下材料响应的更真实表示,有助于在结构分析仿真中获得更可靠的结果。

 


http://www.ppmy.cn/ops/144279.html

相关文章

【快速上手Docker 简单配置方法】

Docker 是一种容器化平台,它能够将应用程序和其依赖的环境打包在一个容器中,实现应用程序在不同环境中的移植性和可重复性。 Docker 的基本概念包括以下几个部分: 镜像(Image):镜像是一个只读的文件系统&a…

shiny数字输入框

在 Shiny 应用中,可以使用 numericInput 函数来创建一个数字输入框。numericInput 函数允许用户输入一个数值,并提供了多种选项来定制输入框的外观和行为。 在 Shiny 应用中使用 numericInput? 创建一个新的 Shiny 应用文件夹,并…

Unity中通过代码设置材质HDR颜色的方法参考

在Unity中,如果一个材质的颜色是HDR的颜色,此时要使用代码来设置HDR颜色的效果,应该使用Material.SetVector,而不是Material.SetColor,因为使用Material.Color设置颜色时,rgb的值无法突破1,但是…

计算机基础知识复习12.21

HashMap的put过程 1.根据要添加的键的哈希码计算在数组中的位置 2.检查该位置是否为空(即没有键值对存在) 3.如果为空,则直接在该位置创建一个新的Entry对象来存储键值对 4.如果该位置已经存在其他键值对,检查该位置的第一个键…

Xcode 文件缺失:Missing submodule xxx

问题&#xff1a;警告或者报错&#xff1a;Missing submodule xxx 引用方式为: <XXXX/******.h> 即 <项目名/头文件名称.h> 原因&#xff1a;这种问题主要是项目名称和 文件&#xff08;主要是头文件 命名重复了&#xff09; 经过谷歌查询 原因是创建的库名称自动…

源码分析之Openlayers中MousePosition鼠标位置控件

概述 本文主要介绍 Openlayers 中的MousePosition鼠标位置控件&#xff0c;该控件会创建一个元素在页面的右上方用来实时显示鼠标光标的位置坐标。该控件在实际应用很有效&#xff0c;可以实时获取鼠标位置&#xff0c;但是一般控件元素都会自定义。 源码分析 MousePosition…

2024小迪安全信息收集第七课

目录 ICO图标 Django Flask Tornado 一、#JavaScript-开发框架-Vue&Node.js Vue Node.js 二、#PHP-开发框架-ThinkPHP&Laravel&Yii ThinkPHP Laravel Yii 三、#Java-框架组件-Fastjson&Shiro&Solr&Spring 52类110个主流Java组件和框架介绍…

我在华为的安全日常

在华为工作了数年后&#xff0c;我养成了一个习惯&#xff1a;每次离开座位&#xff0c;即便是去卫生间&#xff0c;我也会条件反射地锁屏电脑。晚上回到家&#xff0c;躺在床上&#xff0c;脑海中偶尔会闪过一丝疑虑&#xff1a;办公室的门窗是否关好&#xff1f;虽然这种担忧…