Abaqus低版本打开高版本的一般方法

我们知道,Abaqus CAE在进行前处理时会生成jnl文件,这是一个日志文件,包含用于复制已存储模型数据库的ABAQUS/CAE命令,因此我们可以利用jnl文件实现低版本打开高版本的方法。当然,如果你对Pyphon比较熟悉,对于理解jnl是很有帮助的,但这里不作为本文的重点,这里将主要突出强调如何实现结果。
以一个比较简单且具有代表性的模型为例,通过6.14版本Abaqus/CAE导入外部中性文件VersionSwitch.STEP ,但需要记住所导入文件夹的位置,然后进行分割、赋予材质、分网、工况等设置后保存,这样就会在工作目录中找到你所保存的.CAE和.JNL文件。
用记事本打开原.jnl文件并进行编辑,并找到其中所有标记为红色加粗的部分并删除。其中的from optimization import *一般在.jnl的开头部分,比较容易找到;而localCsys=None对于大型模型一般比较难找,可以通过记事本自带的“查找”功能实现,但是如果你细心观察,会发现它其实是在对模型定义边界条件的部分;而最后需要删除的就是文件末尾的部分,只要找到mdb.Job字样即可,如果细心观察,会发现它其实是对求解任务的相关设置。
另外找到其中蓝色加粗的部分,并确认外部中性文件VersionSwitch.STEP的路径是否正确,当然你也可以编辑蓝色部分以变更VersionSwitch.STEP所在的外部文件夹路径。特别注意,如果是直接用Abaqus/CAE直接建模就不会出现蓝色部分的字样。
# -*- coding: mbcs -*-
from part import *
from material import *
from section import *
from optimization import *
from assembly import *
from step import *
from interaction import *
from load import *
from mesh import *
from job import *
from sketch import *
from visualization import *
from connectorBehavior import *
mdb.openStep('D:/05-AbaqusTmp/a5-Abaqus_3D_Model/VersionSwitch.STEP',
scaleFromFile=OFF)
mdb.models['Model-1'].PartFromGeometryFile(combine=False,dimensionality=
THREE_D, geometryFile=mdb.acis, name='VersionSwitch',type=DEFORMABLE_BODY)
mdb.models.changeKey(fromName='Model-1', toName='SteelPart')
mdb.models['SteelPart'].Material(name='steel_plastic')
mdb.models['SteelPart'].materials['steel_plastic'].Elastic(table=((200000.0,
0.27), ))
mdb.models['SteelPart'].materials['steel_plastic'].Density(table=((7.85e-09,),
))
mdb.models['SteelPart'].materials['steel_plastic'].Plastic(table=((418.0,0.0),
(500.0, 0.01581), (605.0, 0.02983), (695.0, 0.056), (780.0, 0.095),(829.0,
0.15), (882.0, 0.25), (908.0, 0.35), (921.0, 0.45), (932.0, 0.55),(955.0,
0.65), (988.0, 0.75), (1040.0, 0.85)))
mdb.models['SteelPart'].materials['steel_plastic'].Expansion(table=((1.35e-05,
),))
mdb.models['SteelPart'].HomogeneousSolidSection(material='steel_plastic',name=
'solid_steel_plastic', thickness=None)
mdb.models['SteelPart'].parts['VersionSwitch'].SectionAssignment(region=(
mdb.models['SteelPart'].parts['VersionSwitch'].cells, ), sectionName=
'solid_steel_plastic')
mdb.models['SteelPart'].rootAssembly.DatumCsysByDefault(CARTESIAN)
mdb.models['SteelPart'].rootAssembly.Instance(dependent=ON,name=
'VersionSwitch-1', part=mdb.models['SteelPart'].parts['VersionSwitch'])
mdb.models['SteelPart'].StaticStep(initialInc=0.01,name='Step-1', nlgeom=ON,
previous='Initial')
mdb.models['SteelPart'].EncastreBC(createStepName='Initial', localCsys=None,
name='Fixed', region=Region(
faces=mdb.models['SteelPart'].rootAssembly.instances['VersionSwitch-1'].faces.getSequenceFromMask(
mask=('[#20 ]', ), )))
mdb.models['SteelPart'].SurfaceTraction(createStepName='Step-1',
directionVector=(
mdb.models['SteelPart'].rootAssembly.instances['VersionSwitch-1'].vertices[5],
mdb.models['SteelPart'].rootAssembly.instances['VersionSwitch-1'].vertices[2])
,distributionType=UNIFORM, field='', localCsys=None, magnitude=500.0,
name='Load-1', region=Region(
side1Faces=mdb.models['SteelPart'].rootAssembly.instances['VersionSwitch-1'].faces.getSequenceFromMask(
mask=('[#2 ]', ), )), traction=GENERAL)
mdb.models['SteelPart'].parts['VersionSwitch'].seedPart(deviationFactor=0.1,
minSizeFactor=0.1, size=2.0)
mdb.models['SteelPart'].parts['VersionSwitch'].generateMesh()
mdb.models['SteelPart'].rootAssembly.regenerate()
mdb.Job(atTime=None,contactPrint=OFF, description='', echoPrint=OFF,
explicitPrecision=SINGLE, getMemoryFromAnalysis=True, historyPrint=OFF,
memory=90, memoryUnits=PERCENTAGE, model='SteelPart', modelPrint=OFF,
multiprocessingMode=DEFAULT, name='Job1-VersionSwitch-Test',
nodalOutputPrecision=SINGLE, numCpus=4, numDomains=4, numGPUs=0,queue=None
, resultsFormat=ODB, scratch='', type=ANALYSIS, userSubroutine='',
waitHours=0, waitMinutes=0)
根据上述操作完了后另存该.jnl文件,并复制已经编辑过后的.jnl内容。打开低版本如6.12的Abaqus/CAE,找到分析树下侧即左下角的Kernal Command,待弹出 >>> 后粘贴刚刚所复制的.jnl内容并回车确认,会发现很快就打开了高版本的cae模型。低版本打开后可能需要补充部分工况等参数,在此不再赘述。
此方法大部分情况下都是没有问题的,但对于部分复杂模型,可能存在错误,使用者可以依据错误提示进行.jnl编辑再实现,若对Python比较熟悉的情况下将能更好的实现目标。如果最终实在无法成功,那就只能通过.inp导入实现了。

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
