顶部banner
Logo 折叠
全网首发仿真工程师项目实训
下载app
返回旧版
首页 成长助手 小邻学院 社区 发现
职业认证 企业服务 行业会议

登录解锁更多功能

还没有账号?立即注册

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

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

浏览: 1656 回答: 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脚本批量建模运算报错: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利用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='

推荐阅读

转子旋转的周期性模型-水冷电机散热仿真

转子旋转的周期性模型-水冷电机散热仿真

技术邻小李 技术邻小李
¥100
ANSYS新版本功能速递: HFSS微放电仿真

ANSYS新版本功能速递: HFSS微放电仿真

Ansys中国 Ansys中国
免费
测量误差与测量不确定度

测量误差与测量不确定度

HBK测试与测量 HBK测试与测量
免费
Apex For Aerospace Applications Introduction

Apex For Aerospace Applications Introduction

MSC Apex
免费
公路钢筋混凝土及预应力混凝土桥涵设计规范解决方案

公路钢筋混凝土及预应力混凝土桥涵设计规范解决方案

敦樸DUNPU 敦樸DUNPU
免费
慧加新规范解决方案详解之大跨连续弯梁桥精细化分析(7DOF)

慧加新规范解决方案详解之大跨连续弯梁桥精细化分析(7DOF)

敦樸DUNPU 敦樸DUNPU
免费
混合弯头的流体流动与传热

混合弯头的流体流动与传热

CFD流 CFD流
免费
Abaqus子程序安装教程 Abaqus6.14.2+VS2013+IVF2013(附带安装包)

Abaqus子程序安装教程 Abaqus6.14.2+VS2013+IVF2013(附带安装包)

二十 二十
免费
介观尺度的新一代核心LBM算法案例实操讲解突破传统CFD算法最大障碍网格划分

介观尺度的新一代核心LBM算法案例实操讲解突破传统CFD算法最大障碍网格划分

北京华盛扬科技 北京华盛扬科技
¥9.9
Msc Apex For Aerospace Applications Idealization a

Msc Apex For Aerospace Applications Idealization a

MSC Apex
免费
超大规模芯片电源完整性签核平台RedHawk-SC应用分享

超大规模芯片电源完整性签核平台RedHawk-SC应用分享

Ansys中国 Ansys中国
免费
Altair solidThinking认证教育合作计划-学生案例大赛即将开启!

Altair solidThinking认证教育合作计划-学生案例大赛即将开启!

ALTAIR ALTAIR
免费
结构仿真职业规划与学习路线

结构仿真职业规划与学习路线

技术邻直播 技术邻直播
免费
人工智能工程应用实例: 发动机排放数据学习及预测

人工智能工程应用实例: 发动机排放数据学习及预测

IDAJ中国 IDAJ中国
¥99
Altair二次开发答疑&典型案例解读

Altair二次开发答疑&典型案例解读

ALTAIR ALTAIR
¥10
MATLAB/ADAMS求解动力学

MATLAB/ADAMS求解动力学

伟_sss 伟_sss
¥25
基于OptiSturct的线性静力学分析和尺寸优化

基于OptiSturct的线性静力学分析和尺寸优化

Leon_sun Leon_sun
¥10
Abaqus在高科技与电子行业的应用(达索直播课程)

Abaqus在高科技与电子行业的应用(达索直播课程)

水木人CAE-林丽 水木人CAE-林丽
¥10
基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析系列课程第一章节——跌落分析总览

基于Hypermesh与ABAQUS联合仿真的摄像头模组跌落分析系列课程第一章节——跌落分析总览

北鲲 北鲲
¥99
AQWA软件企业培训(3)  通过ANSYS-APDL建立半潜平台混合模型及混合模型的拖曳力线性化

AQWA软件企业培训(3) 通过ANSYS-APDL建立半潜平台混合模型及混合模型的拖曳力线性化

Nutshell Nutshell
¥30