首页/文章/ 详情

ANSA二次开发:根据part名称修改prop名称

1天前浏览3
本文借助通过part名称修改prop名称这个功能来介绍ansa自带的一些函数功能。
ANSA自带函数功能的路径:BETA_CAE_Systems\ansa_v23.0.0\scripts
在这个路径下存在许多ANSA自动的函数,这些函数都是可直接使用的,也可以通过加载
BETA_CAE_Systems\ansa_v23.0.0\config\user_ANSA_TRANSL.py这个文件来加载所有功能。具体操作如下:
ANSA自带的partNameToPropName功能的源码:




























































##==================================================#                    HEADER#==================================================##Developed by: Stamatis Karastamatiadis#Date: 01/07/2013##BETA CAE Systems#Kato Scholari, Thessaloniki,#GR-57500, Epanomi,#Greece#Tel: +302392021420 , +302311993300#Fax: +302392021417#E-mail: ansa@beta-cae.com#URL: http://www.beta-cae.com##Copyright (c) 2013 BETA CAE Systems #All rights reserved.##=================================================#                   DISCLAIMER#=================================================## BETA CAE Systems assumes no responsibility or # liability for any damages, errors, inaccuracies # or data loss caused by installation or use of this # software.##=================================================#                    HISTORY#=================================================##Date: 20160120        Updater:       #Modifications: Updated help text (placed below def statement)#-------------------------------------------------#Date:                 Updater:#Modifications:#-------------------------------------------------##
import ansafrom ansa import basefrom ansa import constants
@ansa.session.defbutton("PROPERTIES","PartName2PropName")def PartName2PropNameMain():'''        Name: PartName2PropName        Description: Renames SHELL properties with ANSAPART names.'''parts = base.CollectEntities(constants.NASTRAN, None"ANSAPART")for part in parts:part_name = part._nameprops = base.CollectEntities(constants.NASTRAN,part,"PSHELL",prop_from_entities=True)for prop in props:base.SetEntityCardValues(constants.NASTRAN, prop, {"Name":part_name})print("Done!!!")
作者写的:


















from ansa import basefrom typing import Iterabledeck = base.CurrentDeck()
def changePropNameFrom(part:base.Entity)->None:  if not isinstance(part, base.Entity): return None  name:str = part._name  props:Iterable[base.Entity] = base.CollectEntitiesI(deck, part, '__PROPERTIES__', recursive=True)  _ = [prop.set_entity_values(deck, {'Name': name}) for prop in props]  return None
def partNameToPropName()->None:  partIter:Iterable[base.Entity] = base.CollectEntitiesI(deck, None'ANSAPART')  _ = [changePropNameFrom(part) for part in partIter]  return None
if __name__ == '__main__':  partNameToPropName()

来源:檐苔
SystemNastran二次开发ANSAUMSCL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-08-26
最近编辑:1天前
青瓦松
硕士 签名征集中
获赞 17粉丝 0文章 45课程 0
点赞
收藏
作者推荐

深度解析 | LS-DYNA中的Mat24材料与Von Mises准则:汽车碰撞仿真的“黄金拍档”

开篇:一场被算法预言的生死危机2024年某新势力车型在50km/h正面碰撞测试中,B柱出现异常弯折——工程师调取LS-DYNA的仿真日志,发现一个被忽视的细节:Mat24材料模型中硬化曲线的斜率偏差了7%。正是这7%的误差,让Von Mises准则在某个临界时刻做出了错误的屈服判断,最终导致结构失效。本文将带您穿透代码与公式的表象,揭示这对"数值计算灵魂伴侣"在碰撞安全领域的隐秘对话。一、Von Mises屈服准则1.1 教科书不会告诉你的三个真相真相1:"静水压力无关性"在超高强度钢中可能失效真相2:Mises应力云图中隐藏着"塑性流动优先路径",这是吸能结构优化的黄金地图。真相3:Von Mises准则的二次函数形式,本质是Lode参数为零时的特解,这解释了其在平面应变状态的误差来源。1.2 碰撞工程师的"应力翻译器"实战场景:当某车型在25%小偏置碰撞中出现A柱撕裂时,通过Mises应力场反推: 步骤1:提取撕裂路径上的 σeq时间序列步骤2:对比相邻单元的应力梯度突变点步骤3:定位到某个焊点周围出现12%的应力振荡——最终发现是网格尺寸与积分点分布的耦合误差1.3 理论基础:能量决定屈服1913年,Richard von Mises提出一个颠覆性观点:材料是否屈服,取决于其内部因形状改变(剪切变形)积累的能量是否达到临界值,而非某单一方向的应力。这一理论完美解释了金属在复杂应力下的屈服行为。核心公式:物理意义:将三维主应力(σ1、σ2、σ3)转换为等效的单轴应力σeq,当σeq>=σy(材料屈服强度)时,材料进入塑性变形。1.4 碰撞仿真中的应用逻辑变形预测:通过计算车身部件的Mises应力分布,预判纵梁折叠、车门凹陷等变形模式。能量管理:高Mises应力区域对应主要的能量吸收区,指导结构优化(如加强筋布局)。失效预警:结合等效塑性应变,预测钣金开裂或焊点断裂风险。二、畸变能与Von Mises屈服准则2.1 能量分解:体积改变能与畸变能材料在受力时存储的应变能(Utotal)可分为两部分:体积改变能(Uvol):由静水压力(平均应力)引起,对应材料体积变化。畸变能(Udist):由偏应力张量(剪切应力)引起,对应形状改变。畸变能公式:其中, E为弹性模量,ν为泊松比。2.2 畸变能与Von Mises准则的关联Von Mises应力σeq可直接通过畸变能密度推导:当σeq>=σy时,畸变能超过临界值,材料发生屈服。 2.3 畸变能与Tresca准则的对比准则理论基础能量关联性Von Mises畸变能密度 直接基于畸变能临界值 Tresca最大剪应力 无直接能量关联,仅依赖应力差值 实验支持:Von Mises准则因考虑全部主应力差,对多数金属材料的预测更准确。2.4 工程意义:从理论到设计的桥梁吸能结构优化:保险杠、前纵梁的畸变能分布决定材料厚度和截面形状设计。多材料匹配:不同材料的畸变能阈值差异(如钢 vs 铝)影响碰撞力传递路径。失效判据补充:高畸变能区域常伴随局部颈缩或开裂,需结合应变失效模型三、Mat24材料模型与Von Mises屈服准则3.1 Mat24模型的核心架构作为LS-DYNA中最常用的弹塑性材料模型,Mat24通过以下模块实现Von Mises准则的工程化:功能模块参数定义工程意义屈服强度SIGY(初始屈服强度)定义材料何时开始塑性流动 硬化曲线LCSS(分段线性应力-应变曲线)描述塑性硬化行为(强化或软化) 应变率效应C和P(Cowper-Symonds系数)捕捉高速碰撞下的动态强化效应 失效判据FAIL(等效塑性应变阈值)预测单元删除或材料失效 3.2 Mat24与Von Mises的深度耦合屈服条件判定:每个计算步中,LS-DYNA根据当前应力状态计算Mises等效应力σeq,并与动态屈服强度σdynamic对比;若σeq>=σy,触发塑性应变累积。动态屈服强度修正:通过Cowper-Symonds模型反映应变率效应: 典型值:车身钢材常取C=40,P=5,高速碰撞下屈服强度可提升20%~50%。 3. 硬化行为定义:支持各向同性硬化(塑性变形后屈服面均匀扩展)或随动硬化(屈服面平移,考虑包辛格效应)。通过LCSS输入实验数据,精确匹配材料真实应力-应变曲线。 四、Von Mises准则的“能力边界”4.1 优势:为什么成为金属仿真的首选?精度与效率平衡:对钢、铝等金属的屈服预测误差普遍小于5%,且计算效率高。全面性:考虑中间主应力影响,比Tresca准则更贴近实际。动态适应性:结合应变率模型,覆盖碰撞、冲击等高速场景。4.2 局限性:何时需要“更换裁判”?静水压力敏感材料:如泡沫、土壤,需切换至Drucker-Prager准则(MAT_63)。各向异性材料:如高强度轧制钢板,需Hill48准则(MAT_122)描述方向依赖性。极端加载条件:如超高速冲击(弹道侵彻),需Johnson-Cook模型(MAT_224)耦合温度效应。4.3 不同屈服准则的对比与选型准则理论核心适用场景碰撞案例Von Mises畸变能密度 各向同性金属(钢、铝) 车身结构碰撞、电池包防护 Tresca最大剪应力 简单剪切主导变形(螺栓剪切) 较少用于整车级仿真 Drucker-Prager静水压力修正 岩土、泡沫材料 电池包底部抗碎石冲击设计 Hill48各向异性屈服 轧制板材、复合材料 碳纤维车门防撞梁仿真 结语:在微观与宏观之间架起安全的桥梁从Richard von Mises的数学公式到LS-DYNA中的Mat24材料卡,从实验室的拉伸试样到碰撞试验场的整车变形,这对“黄金组合”始终守护着汽车安全设计的核心逻辑。无论是车身轻量化的极限挑战,还是电池安全的新战场,理解Von Mises准则与Mat24的配合机理,都是每一位碰撞仿真工程师的必修课。未经作者同意,不得转载该文!!!来源:檐苔

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