佳工机电网 在线工博会 我的佳工网 手机版 English
关键字  
  选择展区 >>
您的位置: 首页 > CAD/CAM/PDM/PLM展区 > CAE/模拟仿真展厅 > 产品库 > 技术论文 > 正文 产品库 会展 人才 帮助 | 注册 登录  
CAE/模拟仿真
 按行业筛选
 按产品筛选
查看本类全部文章
e展厅 产品库 最新动态 技术文章 企业目录 资料下载 视频/样本 反馈/论坛
  技术应用 | 基础知识 | 外刊文摘 | 业内专家 | 文章点评 投稿 发表科技文章 
基于TCL编程实现尺寸优化设计变量自动创建
作者:altair
欢迎访问e展厅
展厅
2
CAE/模拟仿真展厅
通用有限元分析软件, 结构分析软件, 动力学分析软件, 声学分析软件, 板料冲压成形模拟软件, ...
概述

设计变量是优化设计的三要素之一,是优化模型定义的基础。对于飞机整体粗有限元模型,长桁、框等间隔区域即一个单元。建立尺寸优化设计模型时,要对每一个单元建立一个设计变量。对于蒙皮需要建立二维单元的设计变量,设计变量需要关联单元的初始厚度,单元的属性,单元的偏置量。对于长桁一般为杆单元,设计变量需要关联单元的初始面积,单元的属性。对于框等结构一般为梁单元,设计变量需要关联单元的初始面积、初始惯性矩、扭矩、单元属性、单元的偏置量,且要反映优化过程中梁单元的惯性矩的变化。对于大型尺寸优化设计模型,例如机翼翼盒、机身等结构,这些内容如果通过手动创建,效率低、易出错。HyperMesh提供了其二次开发工具TCL\TK,并且也提供了已经开发好的基于TCL的函数库。通过二次开发工具,可以快速的实现设计变量的自动创建,效率高、正确性高、易于修改、移植、维护。

1 自动创建尺寸优化设计变量的功能实现

首先建立一个命名空间组织整个程序的框架。通过界面指定所有的已知输入信息,方便数据正确输入及修改;建立杆、梁、壳单元的过程;通过界面指定所有的已知输入信息。

##关联HyperWorks GUI Toolkit (HWT)

package require hwt;

##建立命名空间,定义相关变量,相关过程。

namespace eval ::ALTAIRPD::Aero {

variable DLL 3.5;

variable DUL 12.0;

variable SIFW 22;

variable SWH 60;

variable SOFW 67;

variable WTR 0.95;

variable IFTR 1.4;

proc GUI {args } {

}

proc create_dv_for_PROD {args} {

......

}

proc create_dv_for_PBAR {args} {

......

}

proc create_dv_for_PSHELL {args} {

......

}

}

::ALTAIRPD::Aero::GUI;

1.1 输入界面

定义输入界面,方便用户输入、修改相关信息。相关代码如下所示。

proc GUI {args } {

variable frm_mainWnd .createcube

# 创建主界面窗口

catch {destroy .createcube}

::hwt::CreateWindow createcube \

windowTitle "Create Desvar For PBAR" \

geometry 350x250 \

minSize 100 100 \

-noGeometrySaving \

-acceptButton "Create" \

-acceptFunc "::ALTAIREPM::Aero::create_dv_for_PBAR" \

-noCancel

::hwt::PostWindow createcube

##创建框架

set frm_v1 [::hwt::WindowRecess $frm_mainWnd]

pack $frm_v1 -side top -fill both -expand yes -anchor nw

set n_labelWidth 26

set n_entryWidth 20

##创建输入框

AddEntry $frm_v1.ety0 \

-label "Desvar Lower Limit:" \

-labelWidth $n_labelWidth \

-entryWidth $n_entryWidth \

-validate real \

-textvariable "::ALTAIREPM::Aero::DLL" \

-afterFunc "" \

-state normal

}

相关代码产生效果如图1 所示。

newmaker.com
图1 输入窗口界面

1.2生成设计变量
生成设计变量有三种方法,一是直接在界面生成,这种方法对于大量变量基本不可行。二是通过TCL在界面里直接生成,此种方法在TCL程序实现较麻烦,且难以控制输出格式,不易排查错误。三是通过TCL程式生成设计变量的Bulk data的卡片形式,这样就把问题转化为生成文本,且生成变量具有重复性,极易方便程序实现。且方便自己定义卡片格式,方便变量定义,方便问题检查。

下面主要以二维单元变量定义方法为例,相关代码定义如下。

set output_desvar ""

set output_desvar_file ""

##选取需要定义设计变量的单元

*createmarkpanel elems 1 "Please Select elems";

set ElemList [ hm_getmark elems 1 ];

##取的每个单元的属性,厚度、面积、惯性矩等信息

foreach one_of_elelist $ElemList {

set propID [hm_getentityvalue elems $one_of_elelist propertyid 0 -byid];

##壳单元,获取单元厚度

set elemt [hm_getentityvalue properties $propID "\$PSHELL_T" 0 -byid];

##杆单元,获取单元面积

##set pbar_A [hm_getentityvalue properties $propID $\PROD_A 0 -byid];

##梁单元,获取单元面积,惯性矩

set pbar_A [hm_getentityvalue properties $propID $\PBAR_A 0 -byid];

set elem_offset_ay [hm_getentityvalue elems $one_of_elelist "offsetay" 0 -byid];

set elem_offset_by [hm_getentityvalue elems $one_of_elelist "offsetby" 0 -byid];

##定义相关变量ID

set DESVARID $one_of_elelist

set DESVARID1 [string replace $one_of_elelist 0 0 71]

##定义变量

append output_desvar "DESVAR $DESVARID $DESVARID $elem_t$DLL_skin $DUL_skin" \n;

##关联属性

append output_desvar "DVPREL1 $DESVARID \PSHELL $one_of_elelist 4 0.0 " \n;

append output_desvar "+ $DESVARID1.0 " \n;

##定义偏置量

append output_desvar "DVPREL1 $DESVARID1\PSHELL $DESVARID ZOFFS 0.0" \n;

append output_desvar "+ $DESVARID -0.5" \n;}

##输出相关设计变量定义

set StartDir [file dir [info script]];

set output_desvar_file \

[open "$StartDir/$partname\_desvar_section_rib$rib_id1\_to_section_rib$rib_id2\.fem" "w"];

puts $output_desvar_file $output_desvar;

close $output_desvar_file;

最终结果生成一个定义变量的文本文件,然后可以通过输入、或者直接提交计算检验生成结果的正确性。生成效果如图2、3所示。

newmaker.com
图2 壳单元尺寸优化设计变量

newmaker.com
图3 梁单元单元尺寸优化设计变量

2 结论

通过HyperMesh的二次开发工具及相关的函数实现了快速生成大规模尺寸优化设计模型的设计变量的定义。同时此方法可以推广到设计响应、设计约束的定义,对于类似的其它类型优化的问题,也可应用此方法。

3 参考文献

[1] HyperMesh.Reference Guide
文章内容仅供参考 (投稿) (如果您是本文作者,请点击此处) (2/20/2013)
查看更多CAE/模拟仿真相关文章: more
·西门子数字孪生解决方案推动水下农业发展 Siemens (4/7/2022)
·基于HyperStudy和隐式参数化模型的A柱综合性能优化 张继游 彭鸿 门永新 赵福全 (2/20/2013)
·一个汽车冷却系统的设计 明导电子机械分析部门 John Isaac (2/6/2013)
·某款汽油发动机阀系辐射噪声优化 李占辉 张磊 康黎云 (1/31/2013)
·节气门啸叫的机理分析和工程控制研究 重庆长安汽车 张军 刘含洁 庞剑 (1/31/2013)
·基于LMS Virtual.Lab的汽车排气消声器快速分析关键技术研究 (1/31/2013)
·基于LMS Test.lab的涡轮增压器系统的模态分析 吴攀 方华 桑悟海 刘功利 (1/31/2013)
·基于LMS Test.Lab的发动机尾吊客机的噪声与振动传递特性测量与分析 (1/31/2013)
·发动机进气系统噪声优化 华晨汽车工程研究院 陈岳昌 (1/31/2013)
·半主动消声器对排气低频噪声控制的研究 上海红湖汽车排气系统技术中心 肖宏 吴仍广 (1/31/2013)
查看相关文章目录:
·CAD/CAM/PDM/PLM展区 > CAE/模拟仿真展厅 > CAE/模拟仿真文章
文章点评 查看全部点评 投稿 进入贴吧


对 CAE/模拟仿真 有何见解?请到 CAE/模拟仿真论坛 畅所欲言吧!


网站简介 | 企业会员服务 | 广告服务 | 服务条款 | English | Showsbee | 会员登录  
© 1999-2024 newmaker.com. 佳工机电网·嘉工科技