顶部banner
Logo 折叠
学习从这里开始
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

技术邻
技术引领职场价值
电话
0571-86682823
商务合作
service@jishulink.com
  • 全部  > 
  • CAE仿真

我用ABAQUS的二次开发三维建模,初学者,有好多问题,只把公式写上了,大神给点意见,谢谢,,,?

浏览: 1579 回答: 8
#! /user/bin/python
#-*-coding: UTF-8-*-
from abaqusConstants import *  
from caeModules import *       
from abaqus import *
import sys
#################################################### 
#####本脚本用于在abaqus快速建立圆柱巨型网格##### 
####################################

from abaqus import * 
from abaqusConstants import * 
import part 
import assembly 
import sketch
#输入参数,高度h,长向网格数m,长向长度m1,长向分区m2,跨向网格数n,跨向长度n1,跨向分区n2,斜向分区k
#六边形边长为c,d,八边形长度分别为c,d,a,其中a与cd有关,用论文中的公式单独计算 
h=1
m=4
m1=12
m2=5
n=3
n1=9
n2=4
k=7
c=2
d=1
a=3
pi=3.1415926535898 

#这一步建立参考点,作为part,如果想在abaqus里建空间网格结构必须新建一个part再建空间线,
#abaqus只支持绘制平面草图 
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D, type=DEFORMABLE_BODY) 
p.ReferencePoint(point=(0.0, 0.0, 0.0)) 
p = mdb.models['Model-1'].parts['Part-1'] 

import math 
import numpy as np

#绘制六角锥上节点,利用循环生成内部和长向上的六角锥,跨向两端为八边形 
#i为奇数
for i in range(1,2*n+2):
 for j in range(1,m+1):
	xx1(i,j)=c*cos(pi/2-atan(n1/2/m1))+(j-1)*m1
  yy1(i,j)=d/2+(i-1)*n1
	zz1(i,j)=-h
	xx2(i,j)=c*cos(pi/2-atan(n1/2/m1))+(j-1)*m1
	yy2(i,j)=(i-1)*n1-d/2
	zz2(i,j)=-h
	xx3(i,j)=(j-1)*m1
	yy3(i,j)=-(c*sin(pi/2-atan(n1/2/m1))+d/2)+n1*(i-1)
	zz3(i,j)=-h
	xx4(i,j)=-c*cos(pi/2-atan(n1/2/m1)+(j-1)*m1
	yy4(i,j)=(i-1)*n1-d/2
	zz4(i,j)=-h
	xx5(i,j)=-c*cos(pi/2-atan(n1/2/m1))+(j-1)*m1
	yy5(i,j)=d/2+(i-1)*n1
	zz5(i,j)=-h
	xx6(i,j)=(j-1)*m1
	yy6(i,j)=m1*c*sin(pi/2-atan(n1/2/m1))/n1+n1*(i-1)
	zz6(i,j)=-h
	i=i+2
#i为偶数
for i in range (2,2n+1):
 for j in range(1,m+1):
	x11(i,j)=c*cos(pi/2-atan(n1/2/m1))+j*m1-3*m1/2
	y11(i,j)=d/2+(i-1)*n1
	z11(i,j)=-h
	x22(i,j)=c*cos(pi/2-atan(n1/2/m1))+j*m1-3*m1/2
	y22(i,j)=(i-1)*n1-d/2
	z22(i,j)=-h
	x33(i,j)=-m1/2+(j-1)*m1
	y33(i,j)=c*cos(pi/2-atan(n1/2/m1))+d/2+n1*(i-1)
	z33(i,j)=-h
	x44(i,j)=-c*cos(pi/2-atan(n1/2/m1))+(j-3/2)*m1
	y44(i,j)=(i-1)*n1-d/2
	z44(i,j)=-h
	x55(i,j)=c*cos(pi/2-atan(n1/2/m1))+j*m1-3*m1/2
	y55(i,j)=d/2+(i-1)*n1
	z55(i,j)=-h
	x66(i,j)=-m1/2+(j-1)*m1
	y66(i,j)=d/2+(i-1)*n1+2*c*cos(pi/2-atan(n1/2/m1))+d/2
	z66(i,j)=-h
#八角锥的绘制(只存在长向的两端)
#左端 i为奇数
for i in range(2,2*n+1):
	x81(i,1)=-m1+a/2
	y81(i,1)=c*sin(pi/2-atan(n1/(2*m))+d/2+2*(i-2)*n1
	z81(i,1)=-h
	x82(i,1)=a/2+c*cos(pi/2-atan(n1/(2*m))-m1
	y82(i,1)=d/2+(i-2)*2*n1
	z82(i,1)=-h
	x83(i,1)=a/2+c*cos(pi/2-atan(n1/(2*m))-m1
	y83(i,1)=-d/2+(i-2)*2*n1
	z83(i,1)=-h
	x84(i,1)=-m1+a/2
	y84(i,1)=-c*sin(pi/2-atan(n1/(2*m))-d/2+2*(i-2)*n1
	z84(i,1)=-h
	x85(i,1)=-m1-a/2
	y85(i,1)=-c*sin(pi/2-atan(n1/(2*m))-d/2+2*(i-2)*n1
	z85(i,1)=-h
	x86(i,1)=-m1-*c*cos(pi/2-atan(n1/(2*m))-a/2
	y86(i,1)=a/2+c*cos(pi/2-atan(n1/(2*m))-m1
	z86(i,1)=-h
	x87(i,1)=-m1-*c*cos(pi/2-atan(n1/(2*m))-a/2
	y87(i,1)=d/2+(i-2)*2*n1
	z87(i,1)=-h
	x88(i,1)=-m1-a/2
	y88(i,1)=c*sin(pi/2-atan(n1/(2*m))+d/2+2*(i-2)*n1
	z88(i,1)=-h
#右端
	x81(i,m+1)=-m1+a/2+m1*m
	y81(i,m+1)=c*sin(pi/2-atan(n1/(2*m))+d/2+2*(i-2)*n1
	z81(i,m+1)=-h
	x82(i,m+1)=a/2+c*cos(pi/2-atan(n1/(2*m))+m1*(m-1)
	y82(i,m+1)=d/2+(i-2)*2*n1
	z82(i,m+1)=-h
	x83(i,m+1)=a/2+c*cos(pi/2-atan(n1/(2*m))+m1*(m-1)
	y83(i,m+1)=-d/2+(i-2)*2*n1
	z83(i,m+1)=-h
	x84(i,m+1)=-m1+a/2+m1*m
	y84(i,m+1)=-c*sin(pi/2-atan(n1/(2*m))-d/2+2*(i-2)*n1
	z84(i,m+1)=-h
	x85(i,m+1)=-a/2+(m-1)*m1
	y85(i,m+1)=-c*sin(pi/2-atan(n1/(2*m))-d/2+2*(i-2)*n1
	z85(i,m+1)=-h
	x86(i,m+1)=-a/2+(m-1)*m1-c*cos(pi/2-atan(n1/(2*m))
	y86(i,m+1)=a/2+c*cos(pi/2-atan(n1/(2*m))-m1
	z86(i,m+1)=-h
	x87(i,m+1)=-a/2+(m-1)*m1-c*cos(pi/2-atan(n1/(2*m))
	y87(i,m+1)=d/2+(i-2)*2*n1
	z87(i,m+1)=-h
	x88(i,m+1)=-a/2+m1*(m-1)
	y88(i,m+1)=c*sin(pi/2-atan(n1/(2*m))+d/2+2*(i-2)*n1
	z88(i,m+1)=-h
i=i+2
#连接六角锥,形成巨型网格结构 
	p = mdb.models['Model-1'].parts['Part-1'] 
	m=mdb.Model(name='Model')
	p=m.Part(name='Part')
	p.WirePolyLine(points=(((x1(i,j), y1(i,j), z1(i,j)), (x33(i+1,j+1)), y33(i+1,j+1), z33(i+1,j+1)),) mergeWire=OFF
	, meshable=ON)
	p.WirePolyLine(points=(((x1(i,j), y1(i,j), z1(i,j)), (x5(i,j+1), y5(i,j+1), z5(i,j+1)), )mergeWire=OF
	F, meshable=ON)
	p.WirePolyLine(points=(((x2(i,j), y2(i,j), z2(i,j)), (x4(i,j+1), y4(i,j+1), z4(i,j+1)),) mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x2(i,j), y2(i,j), z2(i,j)), (x66(i-1,j+1), y66(i-1,j+1), z66(i-1,j+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x3(i,j), y3(i,j), z3(i,j)), (x55(i-1,j+1), y55(i-1,j+1), z55(i-1,j+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x3(i,j), y3(i,j), z3(i,j)), (x11(i-1,j), y11(i-1,j), z11(i-1,j)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x4(i,j), y4(i,j), z4(i,j)), (x66(i-1,j), y66(i-1,j), z66(i-1,j)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x11(i,j), y11(i,j), z11(i,j), (x55(i,j+1), y11(i,j+1), z11(i,j+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x22(i,j), y22(i,j), z22(i,j), (x44(i,j+1), y44(i,j+1), z44(i,j+1)), ), mergeWire=OFF, 
	meshable=ON)
#连接六角锥和八八角锥
 for i in range(1,2n+2)
	p.WirePolyLine(points=(((x5(i,j), y5(i,j), z5(i,j), (x82(1,j), y82(1,j), z82(1,j)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x4(i,j), y4(i,j), z4(i,j), (x83(1,j), y83(1,j), z83(1,j)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x1(i,j), y1(i,j), z1(i,j), (x87(i,m+1), y83(i,m+1), z83(i,m+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x4(i,j), y4(i,j), z4(i,j), (x83(i,m+1), y83(i,m+1), z83(i,m+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x81(i,1), y81(i,1), z81(i,1), (x84(i+1,1), y84(i,1), z81(i,1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x88(i,1), y88(i,1), z88(i,1), (x85(i+1,1), y85(i,1), z85(i,1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x81(i,m+1), y81(i,m+1), z81(i,m+1), (x84(i+1,m+1), y84(i,m+1), z84(i,m+1)), ), mergeWire=OFF, 
	meshable=ON)
	p.WirePolyLine(points=(((x88(i,m+1), y88(i,m+1), z88(i,m+1), (x84(i+1,m+1), y84(i+1,m+1), z81(i+1,m+1)), ), mergeWire=OFF, 
	meshable=ON)
i=i+2

#建立视图 
	session.viewports['Viewport: 1'].setValues(displayedObject=p)

大神帮忙看看

ABAQUS 结构CAE PYTHON

全部回答 (2)

默认 最新
有限元与近场动力学 2017年4月19日
楼主你这个是什么编写软件啊
2017年4月19日
评论 1 点赞
diaoerlangdang 2017年4月18日
你这个是直接写的还是通过录制宏啊?
2017年4月18日
评论 5 点赞

相似问题

查看全部
  • 学习Abaqus/Python时,添加约束出现问题,如何解决? 5个回答

    问题描述: #* TypeError: referencePoint; found 'AbaqusMethod', expecting a recognized type filling string dict # -*- coding: mbcs -*- from abaqus import * from abaqusConstants import * from caeModules imp

  • abaqus利用python Gui建立truss单元的疑问? 1个回答

    想利用python建立py文件批量生成truss单元,先试试一根: from abaqus import * from abaqusConstants import * session.viewports['Viewport: 1'].setValues(displayedObject=None) s = mdb.models['Model-1'].ConstrainedSketch(name='

  • abaqus脚本批量建模运算报错:Error in connection to analysis? 2个回答

    请教各位大佬,abaqus python脚本批量建模计算,每一个都是先建模后计算完成后再继续建后续模型,一天半后出现错误:"ERROR in job messaging system: Error in connection to analysis",然后后续只建模不计算。谢谢大佬指教! 我的python脚本代码大致概括如下: # -*- coding: UTF-8 -*- import matp

推荐阅读

手把手教你ABAQUS耗能钢节点建模与分析

手把手教你ABAQUS耗能钢节点建模与分析

1点 1点
¥169
UG NX塑胶模具设计教学

UG NX塑胶模具设计教学

UG/CAD模具设计教学 UG/CAD模具设计教学
免费
用EVOLVE对接INSPIRE,加速产品迭代优化

用EVOLVE对接INSPIRE,加速产品迭代优化

咸鱼氮泵 咸鱼氮泵
免费
Fluent中升力和阻力的计算

Fluent中升力和阻力的计算

宁博士CAE团队 宁博士CAE团队
免费
后保险杠低速碰撞分析

后保险杠低速碰撞分析

Crisby_Vectory_TrHo Crisby_Vectory_TrHo
¥70
基于iSIGHT+Workbench的开孔平板性能优化

基于iSIGHT+Workbench的开孔平板性能优化

sjktzy sjktzy
¥5
Hyperworks CFD v2022.1前后处理教程

Hyperworks CFD v2022.1前后处理教程

ALTAIR ALTAIR
免费
线控底盘市场趋势分析

线控底盘市场趋势分析

小木匠砍树 小木匠砍树
免费
张量计算课程合集

张量计算课程合集

引垂思汀 引垂思汀
¥50
应用VI-grade仿真解决方案进行赛车圈速仿真和性能优化

应用VI-grade仿真解决方案进行赛车圈速仿真和性能优化

VI-grade中国 VI-grade中国
免费
Isight_Adams Car联合仿真_suspension案例--excle方式

Isight_Adams Car联合仿真_suspension案例--excle方式

东邪不邪 东邪不邪
免费
ANSYS APDL 单元生死在3D打印中的应用

ANSYS APDL 单元生死在3D打印中的应用

some some
¥50
4-平版印刷墨斗仿真手把手解说视频教程CAD-GAMBIT-fluent6.3-FLUENT15.0

4-平版印刷墨斗仿真手把手解说视频教程CAD-GAMBIT-fluent6.3-FLUENT15.0

仿真助手 仿真助手
¥39
Adams Car 转向系统的搭建与介绍

Adams Car 转向系统的搭建与介绍

仿真分析 仿真分析
¥19.8
2018 OptiStruct用户大会周明博士“仿真驱动设计”演讲

2018 OptiStruct用户大会周明博士“仿真驱动设计”演讲

ALTAIR ALTAIR
免费
AutoCAD小白入手教程(二)

AutoCAD小白入手教程(二)

wenyun wenyun
免费
新一代极速仿真建模平台 ——MSC APEX软件培训

新一代极速仿真建模平台 ——MSC APEX软件培训

Cruise Cruise
免费
优化软件modeFRONTIER优化气道流程介绍

优化软件modeFRONTIER优化气道流程介绍

IDAJ中国 IDAJ中国
免费
七步台阶法暗挖隧道施工

七步台阶法暗挖隧道施工

一直那么好
¥8.8
测量不确定度的应用实践

测量不确定度的应用实践

HBK测试与测量 HBK测试与测量
免费