首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Abaqus Python脚本-创建ODB而不提交作业

Abaqus Python脚本-创建ODB而不提交作业
EN

Stack Overflow用户
提问于 2015-05-03 23:49:53
回答 1查看 1.4K关注 0票数 0

我希望使用会话中的模型创建一个简单的ODB文件,以便可以在自定义字段中显示方向张量。我可以为2d零件(由s4元素组成)创建ODB,但是每当我为3d零件(由c3d8元素组成)加载ODB时,我的系统就会崩溃。

这是我的脚本。任何帮助都将不胜感激!

代码语言:javascript
复制
from abaqusConstants import * 
from odbAccess import *
from textRepr import *

odb = Odb(name='4',
    analysisTitle='derived data',
    description='test problem',
    path='4.odb')

sCat = odb.SectionCategory(name='solid', 
    description='Test')

part1 = odb.Part(name='part-1',embeddedSpace=THREE_D, type=DEFORMABLE_BODY)

nodeData = [(1, -5.0, -5.0, 10.0), (2, -5.0, 5.0, 10.0), (3, -5.0, -5.0, 0.0), (4, -5.0, 5.0, 0.0), (5, 5.0, -5.0, 10.0), (6, 5.0, 5.0, 10.0), (7, 5.0, -5.0, 0.0), (8, 5.0, 5.0, 0.0)]
part1.addNodes(nodeData=nodeData, nodeSetName='nset-1') 

elementData = [(1, 4, 5, 7, 6, 0, 1, 3, 2)]
part1.addElements(elementData=elementData, type='C3D8',
    elementSetName='eset-1', sectionCategory=sCat)

assembly = odb.rootAssembly
instance1 = assembly.Instance(name='part-1-1', object=part1)

# An element set on an instance
eLabels = [1]
elementSet = instance1.ElementSetFromElementLabels(
    name='eall',elementLabels=eLabels)
# A node set on the rootAssembly
instance1.NodeSetFromNodeLabels('nall', (1,2,3,4,5,6,7,8))

step1 = odb.Step(name='step-1', description='', domain=TIME, timePeriod=1.0)
frame1 = step1.Frame(incrementNumber=1, frameValue=0.1, description='')
fieldout = frame1.FieldOutput(name="FO", description="Fiber Orientation Data", type=TENSOR_3D_FULL, isEngineeringTensor=TRUE, validInvariants=[MAX_PRINCIPAL,])
elist = [1]
strs = [[0.72539, 0.19255, 0.082066, -0.12808, -0.1158, 0.042058]]
fieldout.addData(position=CENTROID, instance=instance1, labels=elist, data=strs)

odb.save()
odb.close()
EN

回答 1

Stack Overflow用户

发布于 2016-01-28 05:59:41

在您的命令"odb= Odb(...)“中,我认为有问题。Odb(...)方法是session对象的成员,所以我会像下面这样修改代码:

代码语言:javascript
复制
odb=session.Odb(name='4',analysisTitle='derived data', description='test  problem,path='C:\temp\4.odb')

另外,请注意您要创建的文件位置。写入完整的文件路径是一个很好的做法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30015880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档