在 LS-DYNA 中将应力转换为用户定义的坐标系

介绍

通常,使用 LS-DYNA 或 Ansys Mechanical 等仿真工具解决工程问题需要将张量结果与解析解进行比较。一个这样的例子是加压圆柱体,其中圆周应力或环状应力是感兴趣的主要应力度量。例如,如果对具有复杂端部处理的几何结构进行此类仿真,则希望使用环向应力(例如在容器中心)来验证仿真是否在不存在解析结果的更复杂几何结构区域中提供准确的结果。

在大多数现代后处理器中,应力分量可能在笛卡尔坐标、主方向,甚至圆柱或球坐标中绘制条纹。但是,可能需要将结果将张量结果旋转到所述后处理器中“开箱即用”的方向。在本文中,我们将提供一个可验证的张量转换示例,该示例使用 Python 3.11 脚本从 LS-PrePost 中以笛卡尔坐标读取加压圆柱体的应力条纹图结果,然后将应力张量旋转为圆柱坐标以计算环向应力。

个案研究

我们将用来说明这个概念的模型是一个 d = 100 mm 平均直径 x l = 150 mm 长 x t = 2mm 厚的圆柱体,内部压力为 p = 4 MPa,使用 LS-DYNA 求解。教科书般的图像1如下所示:

 

 

51a5548a01023fea73042888f9839fca.png

有限元模型

圆柱体的材料是 Workbench Engineering Data 中的标准线性各向同性弹性结构钢,网格由 2.5 毫米大小的壳单元组成,使用默认截面属性。网格尺寸提供均匀的网格。

 

bb6dbd9c988c179b1ba304b20d7ef31e.png

 

载荷和边界条件

根据众所周知的公式,内部压力p选定为4 MPa,这样环向应力将等于100 MPa

 

0651637dd2f9c3167daf792665a57724.png

其中r = 平均圆柱半径,t = 壁厚。此外,均衡约束(又称 3-2-1 约束)应用于黄色显示的顶点,以提供无应力约束。

 

6ec822411bf28ef4431510e1f8b84315.png

分析设置

分析类型设置为隐式,伪结束时间为 0.01 秒。选择隐式分析是为了加快分析运行时间。

模拟结果

利用 Ansys Mechanical 中的圆柱坐标系,我们可以轻松地对(未平均的)环向应力进行后处理,得到 100 MPa 的结果,从而与理论相匹配。

 

81373b83685b95323acbb4cec6977400.png

这个结果表明我们的模拟与理论相符。

使用 Python 重建环向应力

现在已经使用 Ansys Workbench LS-DYNA 找到了环向应力结果,我们将通过处理从 LS-PrePost 输出的笛卡尔应力分量来重建相同的环向应力结果。

导出笛卡尔应力分量

为了获得旋转应力张量所需的数据,必须从 LS-PrePost 导出所有六个分量。导出每个应力分量的过程将针对 X 分量进行说明,并且必须针对 Y、Z、XY、YZ 和 ZX 分量重复此过程:

  1. 像往常一样加载二进制 D3Plot 文件并将结果时间设置为结束状态。
  2. 在边缘图中绘制 X 应力。

    c846a577806f518c4815ff67541ee417.png

  3. 使用下面显示的设置输出结果,例如,将文件命名为“xstress”。

    4cc3fdd0f369d0bc62827bfb88e11562.png

  4. 点击“完成”并对其他 5 个压力分量重复此操作。
  5. 确保所有六个文件都在同一个目录和python脚本中。

输出文件格式

输出文件的格式为 LS-DYNA 关键字格式,这是一种固定宽度的文件格式。Python 脚本利用固定宽度的结构来解析文件的每个部分。

*ELEMENT_SHELL 部分

元素连接表位于文件的 *ELEMENT_SHELL 部分中,其中的一小部分如下所示:

8b14ce2961434d812f2ec6de840c6acf.png

列定义和宽度如下:

柱子数据宽度
1元素 ID8
2零件编号8
3节点 18
4节点 28
5节点 38
6节点 48

*NODE 部分

类似地,节点坐标在 *NODE 部分中给出,其中的摘录如下所示:

09435c5d0a78fe202572dd14b8d8de58.png

列定义和宽度如下:

柱子数据宽度
1节点 ID8
2X 坐标16
3Y 坐标16
4Z 坐标16

 

$SHELL_ELEMENT_RESULTS 部分

$SHELL_ELEMENT_RESULTS 部分提供元素每个积分点的输出结果。在本例中,我们使用具有单个积分点的壳元素。本节的摘录如下所示:

 

b44cac79fd80d32c9bc57a2dfea008de.png

列定义和宽度如下: 

柱子数据宽度
1元素 ID8
2元素结果16

 

$SHELL_ELEMENT_CENTROID 部分

$SHELL_ELEMENT_CENTROID 部分提供变形状态下每个元素的质心和体积。本节摘录如下:

e54475f1cc043f3c360752eefbcca40b.png

列定义和宽度如下:

柱子数据宽度
1元素 ID10
2X 坐标16
3Y 坐标16
4Z 坐标16
5体积16

 

Python 算法

下面的伪代码解释了用于转换压力的算法:

  1. 读取六个应力文件中的每一个并解析各个部分以获得元素表、节点坐标、元素结果(非平均应力)和元素质心坐标(在变形配置中)。
  2. 将元素表与节点坐标和元素结果合并。
  3. 形成元素结果(应力)张量S。
  4. 根据右手定则,使用两个元素边缘的叉积计算每个元素质心处的法向单位向量。我们将其称为元素Z方向。 
    1. 对于本例中使用的特定壳单元,两条边从节点 1 到 4 ( 1->4 ) 形成,从节点 1 到 2 ( 1->2 ) 形成。因此, 1->4 x 1->2提供向外的单元法线,然后进行归一化以使其成为单位向量。
  5. 由于我们使用的是柱坐标系,因此我们通过将全局 Z 轴与元素Z方向向量相交来形成元素X方向单位向量。
    1. 该元素X方向向量与元素法向量不正交,因此我们利用 Gram-Schmidt 正交化对其进行正交归一化。
  6. 有了元素XZ单位向量,我们取Z x X来获得元素Y方向单位向量,从而完成我们的正交集。
  7. 使用X - 、Y - 和Z - 元素单位向量作为列,构成变换矩阵Q
  8. 使用张量变换规则S loc  = Q ' Q旋转应力张量,其中 ()' 表示转置。
  9. 将结果写入输出 .csv 文件。

Python 计算环向应力

此处显示了 Python 脚本结果的摘录,其中左图显示笛卡尔坐标中的元素应力;右图显示了相应的环向应力S11_loc ,它是由变换和变换矩阵Q的分量引起的:

 

7bb93e20e9a871dab66e0a49f5b454a8.png

   

24475f7d7f643d70c209af7c41bdffd8.png

 

从右图中我们可以看到,计算出的环向应力S11_loc与 Ansys Mechanical 的输出非常匹配。

结论

虽然可以轻松从 Workbench Ansys LS-DYNA 或 LS-PrePost 中获得环向应力(作为第一主应力),但本文中的步骤展示了如何通过将结果转换为笛卡尔坐标来实现张量结果的旋转以获得更一般的方向。上述过程也可以使用 PyAnsys 的工具在更大的自动化框架中使用。

进一步

  1. 修改 Python 脚本来查看其他方向的应力(或应变)或应用于您自己的模型来获得感兴趣的应力(或应变)结果。
  2. 修改代码以用于具有多个积分点的实体元素或壳元素。
  3. 使用此脚本和 PyAnsys 来自动化该过程。

可下载项目

Ansys 2024 R2 Workbench 存档,python 代码和结果

参考

1. 压力容器图像取自Stress and Strain - Cylindrical bar of cross-sectional area - Engineersfield

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓集团是如何链接政、产、企、校四个板块的?

树莓集团作为数字影像行业的积极探索者与推动者,我们通过多维度、深层次的战略举措,将政、产、企、校四个关键板块紧密链接在一起,实现了资源的高效整合与协同发展,共同为数字影像产业的繁荣贡献力量。 与政府的深度合作政府在产业…

工业异常检测-CVPR2024-新的3D异常数据合成办法和自监督网络IMRNet

论文:https://arxiv.org/pdf/2311.14897v3.pdf 项目:https://github.com/chopper-233/anomaly-shapenet 这篇论文主要关注的是3D异常检测和定位,这是一个在工业质量检查中至关重要的任务。作者们提出了一种新的方法来合成3D异常数据&#x…

debian ubuntu armbian部署asp.net core 项目 开机自启动

我本地的环境是 rk3399机器,安装armbian系统。 1.安装.net core 组件 sudo apt-get update && \sudo apt-get install -y dotnet-sdk-8.0或者安装运行库,但无法生成编译项目 sudo apt-get update && \sudo apt-get install -y aspnet…

qt QNetworkAccessManager详解

1、概述 QNetworkAccessManager是QtNetwork模块中的一个核心类,它允许应用程序发送网络请求并接收响应。该类是网络通信的基石,提供了一种方便的方式来处理常见的网络协议,如HTTP、HTTPS等。QNetworkAccessManager对象持有其发送的请求的通用…

21、结构体成员分布

结构体中的成员并不是紧挨着分布的,内存分布遵循字节对齐的原则。 按照成员定义的顺序,遵循字节对齐的原则存储。 字节对齐的原则: 找成员中占据字节数最大的成员,以它为单位进行空间空配 --- 遇到数组看元素的类型 每一个成员距离…

前端基础——CSS

美化文档 HTML内部添加样式 本节我们来学习如何在标签中引入CSS样式。 1 在标签中添加声明 声明的关键字是style后接等号&#xff08;&#xff09;再接引号&#xff08;""&#xff09;&#xff0c;即style"" 具体声明如下&#xff1a; <input typ…

WPS解决Word文件引入excel对象文件无法打开提示“不能启动此对象...”的问题

一、问题现象 接收到了一份 Word文件&#xff0c;里面引入了一个Excel对象文件&#xff0c;双击时候&#xff0c;wps出现卡顿&#xff0c;过一会之后弹出错误提示&#xff1a;不能启动此对象... 二、解决方法 1.点击WPS左上角图标&#xff0c;并打开右上角设置&#xff0c;萱蕚…

spring下的beanutils.copyProperties实现深拷贝

spring下的beanutils.copyProperties方法是深拷贝还是浅拷贝&#xff1f;可以实现深拷贝吗&#xff1f; 答案&#xff1a;浅拷贝。 一、浅拷贝深拷贝的理解 简单说拷贝就是将一个类中的属性拷贝到另一个中&#xff0c;对于BeanUtils.copyProperties来说&#xff0c;你必须保…

3GPP R18 LTM(L1/L2 Triggered Mobility)是什么鬼?(三) RACH-less LTM cell switch

这篇看下RACH-less LTM cell switch。 相比于RACH-based LTM,RACH-less LTM在进行LTM cell switch之前就要先知道target cell的TA信息,进而才能进行RACH-less过程,这里一般可以通过UE自行测量或者通过RA过程获取,而这里的RA一般是通过PDCCH order过程触发。根据38.300中的描…

Ansible 运维工具

安装 apt install ansible /etc/ansible/hosts , 指定密码或密钥访问分组机器 [k8s_masters] master0.c0.k8s.sb[k8s_nodes] node0.c0.k8s.sb node1.c0.k8s.sb[k8s:children] k8s_masters k8s_nodes[k8s_masters:vars] ansible_ssh_usersbadmin ansible_ssh_pass"***&q…

三菱JET伺服CC-Link IE现场网络Basic链接软元件(RYn/RXn)(RWwn/RWrn)

链接软元件(RYn/RXn) 要点 在循环通信中对主站发送给伺服放大器的请求(RYn及RWwn)设定了范围外的值时&#xff0c;将无法反映设定内容。 循环通信的请求报文与响应报文的收发数据被换读为伺服放大器的对象数据(RYn、RXn)。 响应报文的设定值可进行变更。变更初始设定值时&…

WPF中的VisualState(视觉状态)

以前在设置控件样式或自定义控件时&#xff0c;都是使用触发器来进行样式更改。触发器可以在属性值发生更改时启动操作。 像这样&#xff1a; <Style TargetType"ListBoxItem"><Setter Property"Opacity" Value"0.5" /><Setter …

ARINC 标准全解析:航空电子领域多系列标准的核心内容、应用与重要意义

ARINC标准概述 ARINC标准是航空电子领域一系列重要的标准规范&#xff0c;由航空电子工程委员会&#xff08;AEEC&#xff09;编制&#xff0c;众多航空公司等参与支持。这些标准涵盖了从飞机设备安装、数据传输到航空电子设备功能等众多方面&#xff0c;确保航空电子系统的兼…

用golang简单做一个内网穿透小工具!

一个个人需求&#xff0c;需要简单的穿透一下 家里的电脑&#xff0c;也不需要多稳定&#xff0c;也没有并发。然后 通过http可以访问到内网的 一个网站&#xff0c; 因为服务端 是linux 系统 &#xff0c;内网是 windows10服务器 所以 就采用 用golang这个语言来实现&#xff…

微服务监控prometheus+Grafana

目录 Prometheus 概述 核心组件 特点 使用场景 Grafana 概述 功能特点 使用场景 PrometheusGrafana组合 部署和配置 一、准备工作 二、部署Prometheus 三、部署Grafana 四、创建监控仪表盘 五、验证和调优 总结 微服务监控是确保微服务架构稳定运行的关键环节…

(vue)el-cascader多选级联选择器,值取最后一级的数据

(vue)el-cascader多选级联选择器&#xff0c;取值取最后一级的数据 获取到&#xff1a;[“养殖区”,“鸡棚”,“E5001”] 期望&#xff1a;[“E5001”] 问题: 解决方法 增加change事件方法&#xff0c;处理选中的value值 1.单选 <el-cascaderv-model"tags2":o…

Git常用的命令【提交与回退】

git分布式版本控制系统 &#xff08;SVN集中式版本控制系统&#xff09;之间的对比 git有本地仓库和远程仓库&#xff0c;不同的开发人员可以分别提交自己的本地仓库并维护代码的版本控制。 然后多个人员在本地仓库协作的代码&#xff0c;可以提交到远程仓库中做整合。 git本…

AUTOSAR AP和CP的安全要求规范(Safety Req)详细解读

一、规范的编制的背景原因 编制该规范的原因 确保系统安全性和可靠性 随着汽车电子系统日益复杂&#xff0c;功能不断增加&#xff0c;对安全性和可靠性的要求也越来越高。该规范为AUTOSAR平台在安全执行、配置、更新、信息交换、数据处理等多方面制定了明确要求&#xff0c;…

黑马程序员MybatisPlus/Docker相关内容

Day01 MP相关知识 1. mp配置类&#xff1a; 2.条件构造器&#xff1a; 具体的实现例子&#xff1a; ①QuerryWapper&#xff1a; ②LambdaQueryWrapper: 3.MP的自定义SQL 4.MP的Service层的实现 5.IService下的Lambda查询 原SQL语句的写法&#xff1a; Lambda 查询语句的…