仿真在线:有限元分析咨询与培训中心——Ansys|Fluent|Abaqus|HFSS|SolidWorks|课程培训

Workbench利用Python驅動MAPDL執(zhí)行APDL命令

2017-09-15  by:CAE仿真在線  來源:互聯(lián)網

Workbench建模所能用的腳本js命令不夠豐富,因而使通過js建立比較完善的模型的可能性幾乎為0,同時Workbench的Mesh模塊采用的也是js腳本,同樣不夠豐富,無法比較好的自動完成模型的網格劃分。


基于以上原因,想要通過js實現模型的參數化創(chuàng)建與網格劃分的可能性非常小,難度相當大。然而,ANSYS經典的APDL命令卻非常的完備,幾乎能夠完成任何操作。故,可在Workbench中結合MAPDL模塊來完成相關工作,實現整個過程的參數化,提高自動化程度。

該篇文章是前面一篇《Workbench利用Python驅動DM執(zhí)行Js進行建?!返逆⒚闷V饕U述兩個問題,一是如何在workbench中驅動APDL命令,二是如何實現Python腳本與APDL命令的數據傳遞與交換。

首先,如何在workbench中驅動APDL命令

# encoding: utf-8

# Release 16.0

SetScriptVersion(Version="16.0.361")

#在workbench主界面創(chuàng)建DM模塊

template1 = GetTemplate(TemplateName="Geometry")

system1 = template1.CreateSystem()

#在workbench主界面創(chuàng)建MAPDL模塊,并與DM模塊建立聯(lián)系

template2 = GetTemplate(TemplateName="Mechanical APDL")

system2 = template2.CreateSystem(

Position="Right",

RelativeTo=system1)

geometryComponent1 = system1.GetComponent(Name="Geometry")

setupComponent1 = system2.GetComponent(Name="Setup")

geometryComponent1.TransferData(TargetComponent=setupComponent1)

創(chuàng)建的結果如下。


Workbench利用Python驅動MAPDL執(zhí)行APDL命令ansys結構分析圖片1

#啟動DM模塊


system1 = GetSystem(Name="Geom")

geometry1 = system1.GetContainer(ComponentName="Geometry")

geometry1.Edit()


#DM模塊執(zhí)行Jscript腳本命令,創(chuàng)建幾何模型

geometry1.SendCommand( Command = """

var ps1 = new Object();

//Plane

ps1.Plane = agb.GetActivePlane();

ps1.Origin = ps1.Plane.GetOrigin();

ps1.XAxis = ps1.Plane.GetXAxis();

ps1.YAxis = ps1.Plane.GetYAxis();


//Sketch

ps1.Sk1 = ps1.Plane.NewSketch();

ps1.Sk1.Name = "Sketch1";

//Edges

with (ps1.Sk1)

{

ps1.Ln7 = Line(0.50000000, 0.00000000, 0.52000000, 0.00000000);

ps1.Ln8 = Line(0.52000000, 0.00000000, 0.52000000, -1.00000000);

ps1.Ln9 = Line(0.52000000, -1.00000000, 0.50000000, -1.00000000);

ps1.Ln10 = Line(0.50000000, 0.00000000, 0.50000000, -1.00000000);

}

//Sketch

ps1.Sk2 = ps1.Plane.NewSketch();

ps1.Sk2.Name = "Sketch2";

//Edges

with (ps1.Sk2)

{

ps1.Ln11 = Line(0.10000000, -0.60000000, 1.00000000, -0.60000000);

ps1.Ln12 = Line(1.00000000, -0.60000000, 1.00000000, -0.62000000);

ps1.Ln13 = Line(1.00000000, -0.62000000, 0.10000000, -0.62000000);

ps1.Ln14 = Line(0.10000000, -0.62000000, 0.10000000, -0.60000000);

ps1.Ln15 = Line(0.00000000, -0.50000000, 1.36996958, -0.50000000);

}

var rev1=agb.Revolve(agc.Add,ps1.Sk1,ps1.YAxis,agc.DirReversed,180.0, 0.0, agc.No, 0.0, 0.0)

agb.Regen();

""")

上段py代碼通過SendCommand函數驅動DM執(zhí)行js腳本創(chuàng)建幾何模型,此處模型較為簡單,如下所示。

Workbench利用Python驅動MAPDL執(zhí)行APDL命令ansys結構分析圖片2

##更新APDL模塊,打開MADPL

system1 = GetSystem(Name="APDL")

setupComponent1 = system1.GetComponent(Name="Setup")

setupComponent1.Update(AllDependencies=True)

setupComponent1.Refresh()

setup1 = system1.GetContainer(ComponentName="Setup")

setup1.Edit(

Interactive=True,

LoadInputFiles=True)

下面便是關鍵的部分,通過上面的幾句py命令,打開了MAPDL模塊。

setup1.SendCommand( Command = """

/prep7

et,1,185

vplot

vsweep,all

eplot


CDOPT,IGES

CDWRITE,ALL,'file','cdb',,'file','iges'

save

! /exit

""")

##關閉APDL窗口

setup1.Exit()


##更新APDL模塊

system1 = GetSystem(Name="APDL")

setupComponent1 = system1.GetComponent(Name="Setup")

setupComponent1.Update(AllDependencies=True)

可以看到,同樣是通過SendCommand命令,將APDL命令傳遞給MAPDL模塊。幾句APDL命令完成的是單元定義、網格劃分、結果保存。

/prep7

et,1,185

vplot

vsweep,all

eplot

CDOPT,IGES

CDWRITE,ALL,'file','cdb',,'file','iges'

Save

完成后在MAPDL界面可以看到如下結果。

Workbench利用Python驅動MAPDL執(zhí)行APDL命令ansys結構分析圖片3

其次,如何實現Python與APDL的數據傳遞

實現Python和APDL數據傳遞的目的是為了更好的實現參數化過程,因為APDL命令在主腳本里全部都是字符串的形式,與Python本身其實是無法直接進行數據傳遞的。

但是,卻可以通過替換字符串的形式來進行數據傳遞。

同時,與DM模塊的js腳本的傳遞不一樣,js腳本是屬于面向對象,而APDL命令卻是面向過程的,在利用SendCommand的時候,可以逐句完成。

下面是一個例子。

# encoding: utf-8

# Release 16.0

SetScriptVersion(Version="16.0.361")

template1 = GetTemplate(TemplateName="Mechanical APDL")

system1 = template1.CreateSystem()

setupComponent1 = system1.GetComponent(Name="Setup")

setupComponent1.Refresh()

setup1 = system1.GetContainer(ComponentName="Setup")

setup1.Edit(

Interactive=True,

LoadInputFiles=True)


Para_A = 1.0

Para_B = 2.0

Para_C = 3.0

cmd_A="A=%f" % Para_A

cmd_B="B=%f" % Para_B

cmd_C="C=%f" % Para_C


setup1.SendCommand(Command=cmd_A)

setup1.SendCommand(Command=cmd_B)

setup1.SendCommand(Command=cmd_C)


setup1.SendCommand(Command="""

/prep7

block,,A,,B,,C

""")

例子中,有A、B、C三個數據,這三個變量的值在Python里面定義,但是想要傳導到MAPDL中,需要間接定義三個APDL語句,cmd_A、cmd_B和cmd_C。

原始的APDL命令應該是:

cmd_A=A

cmd_B=B

cmd_C=C

利用SendCommand傳遞時,通過cmd_A="A=%f" % Para_A,將參數A的值替換到語句A=1.0中,于是得到一句APDL命令cmd_A=1.0。

注意到上面代碼多次用了SendCommand命令。這也是Python能夠實現APDL的數據傳遞的重要原因,得益于APDL的命令能夠逐條導入。


姊妹篇:

《Workbench利用Python驅動DM執(zhí)行Js進行參數化建模》


開放分享:優(yōu)質有限元技術文章,助你自學成才

相關標簽搜索:Workbench利用Python驅動MAPDL執(zhí)行APDL命令 Ansys有限元培訓 Ansys workbench培訓 ansys視頻教程 ansys workbench教程 ansys APDL經典教程 ansys資料下載 ansys技術咨詢 ansys基礎知識 ansys代做 Fluent、CFX流體分析 HFSS電磁分析 Abaqus培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 天津佳创博为科技有限公司|AGV控制器|无人搬运车|磁导航传感器|AGV专业零配件 | 纸箱包装,济南纸箱,济南包装盒-济南佳琦包装有限公司 | 小型环境空气质量连续监测系统-烟气排放连续监测仪(碳排放)-青岛明德环保仪器有限公司 | 环保除尘设备_燃气/燃油热水锅炉_光氧空气净化器_蒸汽玉米压片机_压片设备_烘干设备-山东金盾节能环保设备有限公司 | 文君阁-提供生活百科,日常生活健康小常识,生活小窍门,百科知识大全 | 萍乡市德一防水工程有限公司 | 消防水电施工,消防水电安装,消防水电施工公司,消防水电改造-亿杰北京消防工程公司 | 首页 网络安全与数据治理(原《信息技术与网络安全》) | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 天津鸿宸机械设备有限公司-提取浓缩设备和生物制药设备以及制剂设备、粉碎设备、烘干等设备供应商 | 无锡今飞激光技术有限公司-手持激光焊接机_激光打标机_激光清洗机_平台激光焊接机_焊接专机- | 桥梁养护|桥梁维修加固|隧道裂缝修补|支座更换|管道堵水气囊|衡水众拓路桥养护有限公司 | 温州方圆仪器有限公司 工业自动化|自动化设备 - 温州方圆仪器有限公司 | 深圳起重机,龙门吊,天车起重工程,电动葫芦,液压升降货梯-深圳市德力起重机械有限公司 | 和中出国移民官网|出国移民|加拿大移民|欧洲移民|爱尔兰移民|马耳他移民|希腊移民|美国移民|海外护照_和中移民 | 塑料振动筛-防腐蚀振动筛-聚丙烯振动筛-塑料振动筛厂家河南迈能机械设备有限公司 | 随车挖生产厂家_山东精久工程机械有限公司 | 上海栋彤物流有限公司-可信赖的物流服务提供商 | 新闻营销媒体发稿-新闻发布-文芳阁网络媒体发稿公司 | 上海瀚广科技(集团)有限公司,上海瀚广,瀚广 | 陕西锐锋建筑安装有限公司,锐锋建筑,总承包,专业分包,市政综合,劳务,水电钢构,铁路公路,房建,房屋建筑施工 | 皮带清扫器-皮带聚氨酯合金空段输送带清扫器刮刀厂家-衡水格锐特机械科技有限公司 | 深圳钢成培训专业从事,五轴培训,车铣复合培训,数控车床,CNC数控编程,模具编程 ,钣金机械与模具设计,powermill,mastercam,solidworks,ug,hypermill培训 | 自动缠绕机_帝虎包装设备(上海)有限公司_缠绕包装机 | 绿树海棠苗木网-苗木基地-苗木求购-苗木价格-苗圃苗木专业平台 | 火绒杀毒软件|火绒安全企业版_西南|四川|重庆|贵州|云南|西藏|成都火绒服务中心_成都火影科技有限公司-火绒安全|成都火影科技|火绒 | 永康微网站建设、永康手机网站建设、永康营销型网站建设、永康外贸网站建设、永康网站托管、永康网络公司—英汇网络 - 永康市英汇网络技术有限公司 | 山西档案架,智能档案密集架,手摇密集架,山西密集架厂家批发/报价 | 襄阳燃烧器厂家-低氮燃烧器价格-河北五通道燃烧器就找襄阳市胜合燃力设备有限公司一站式服务 | 洒水车|冷藏车|LED广告车|油罐车|道路救援车|垃圾车|程力专用汽车股份有限公司销售九分公司 | 品润财税_广州公司注册_南沙代理记账服务_危化证出口退税外国人工作签证代办 | 连云港物流,连云港物流公司就选连云港华美物流有限公司 | 腻子粉厂家_耐水腻子粉_内墙腻子粉批发_生态腻子粉_长沙美恩生态腻子粉厂家 | 冷缩电缆附件_热缩电缆附件-乐清安尚电气有限公司 | 行情网 - 钢材行情,金属行情,废金属行情,农产品行情,化工行情,水泥行情 | 基坑护栏,临边护栏网,爬架网,爬架网片,铁路防护栅栏,公路护栏网,河北昊坤金属制品有限公司 | 抛丸机-通过式抛丸机-履带吊钩式抛丸机厂家-青岛泓霖智能设备公司 | 液压提升设备,液压顶升装置,钢内筒提升设备,储罐液压顶升_沧州鼎恒液压机械制造有限公司 | 河南新飞飞鸿实业有限公司| 精品中文字幕在线观看,粉嫩av一区二区三区,最近中文字幕在线看免费视频,亚洲高清在线观看,日本一区二区视频手机免费看,国产黄色小视频,亚洲高清免费视频,国产精品一区二区欧美视频,亚洲人免费视频,亚洲视频在线观看免费,国产免费高清综合视频,中文字幕永久在线 |