许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  抛物线型压力作用下悬臂梁的abaqus Python命令流

抛物线型压力作用下悬臂梁的abaqus Python命令流

阅读数 102
点赞 0
article_banner
from abaqus import *from abaqusConstants import *session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=222.166656494141,     height=132.252319335938)session.viewports['Viewport: 1'].makeCurrent()session.viewports['Viewport: 1'].maximize()from caeModules import *from driverUtils import executeOnCaeStartupexecuteOnCaeStartup()session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(    referenceRepresentation=ON)s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=4.0)g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraintss.setPrimaryObject(option=STANDALONE)s.rectangle(point1=(0.0, 0.0), point2=(1.0, 1.0))session.viewports['Viewport: 1'].view.fitView()p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,     type=DEFORMABLE_BODY)p = mdb.models['Model-1'].parts['Part-1']p.BaseSolidExtrude(sketch=s, depth=10.0)s.unsetPrimaryObject()p = mdb.models['Model-1'].parts['Part-1']session.viewports['Viewport: 1'].setValues(displayedObject=p)del mdb.models['Model-1'].sketches['__profile__']session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=ON,     engineeringFeatures=ON)session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(    referenceRepresentation=OFF)mdb.models['Model-1'].Material(name='Material-1')mdb.models['Model-1'].materials['Material-1'].Elastic(table=((210000000000.0,     0.3), ))mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',     material='Material-1', thickness=None)p = mdb.models['Model-1'].parts['Part-1']c = p.cellscells = c.getSequenceFromMask(mask=('[#1 ]', ), )region = p.Set(cells=cells, name='Set-1')p = mdb.models['Model-1'].parts['Part-1']p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0,     offsetType=MIDDLE_SURFACE, offsetField='',     thicknessAssignment=FROM_SECTION)a = mdb.models['Model-1'].rootAssemblysession.viewports['Viewport: 1'].setValues(displayedObject=a)session.viewports['Viewport: 1'].assemblyDisplay.setValues(    optimizationTasks=OFF, geometricRestrictions=OFF, stopConditions=OFF)a = mdb.models['Model-1'].rootAssemblya.DatumCsysByDefault(CARTESIAN)p = mdb.models['Model-1'].parts['Part-1']a.Instance(name='Part-1-1', part=p, dependent=ON)session.viewports['Viewport: 1'].assemblyDisplay.setValues(    adaptiveMeshConstraints=ON)mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial')session.viewports['Viewport: 1'].assemblyDisplay.setValues(step='Step-1')session.viewports['Viewport: 1'].assemblyDisplay.setValues(loads=ON, bcs=ON,     predefinedFields=ON, connectors=ON, adaptiveMeshConstraints=OFF)a = mdb.models['Model-1'].rootAssemblyf1 = a.instances['Part-1-1'].facesfaces1 = f1.getSequenceFromMask(mask=('[#10 ]', ), )region = a.Set(faces=faces1, name='Set-1')mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Step-1',     region=region, u1=0.0, u2=0.0, u3=0.0, ur1=UNSET, ur2=UNSET, ur3=UNSET,     amplitude=UNSET, fixed=OFF, distributionType=UNIFORM, fieldName='',     localCsys=None)mdb.models['Model-1'].ExpressionField(name='AnalyticalField-1', localCsys=None,     description='', expression='(10.0*Z-Z**2)/25.0')a = mdb.models['Model-1'].rootAssemblys1 = a.instances['Part-1-1'].facesside1Faces1 = s1.getSequenceFromMask(mask=('[#2 ]', ), )region = a.Surface(side1Faces=side1Faces1, name='Surf-1')mdb.models['Model-1'].Pressure(name='Load-1', createStepName='Step-1',     region=region, distributionType=FIELD, field='AnalyticalField-1',     magnitude=100.0, amplitude=UNSET)session.viewports['Viewport: 1'].view.setValues(nearPlane=19.0798,     farPlane=25.0859, width=10.8107, height=4.81076, cameraPosition=(21.7711,     -1.74495, 10.5173), cameraUpVector=(-0.218641, 0.963771, -0.152778),     cameraTarget=(0.324107, 0.238107, 5.43779))session.viewports['Viewport: 1'].view.setValues(nearPlane=19.8701,     farPlane=23.9758, width=11.2585, height=5.01002, cameraPosition=(22.3933,     1.74656, 4.89834), cameraUpVector=(-0.397193, 0.917732, 0.00237891),     cameraTarget=(0.322797, 0.230758, 5.44962))session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=ON, loads=OFF,     bcs=OFF, predefinedFields=OFF, connectors=OFF)session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(    meshTechnique=ON)p = mdb.models['Model-1'].parts['Part-1']session.viewports['Viewport: 1'].setValues(displayedObject=p)session.viewports['Viewport: 1'].partDisplay.setValues(sectionAssignments=OFF,     engineeringFeatures=OFF, mesh=ON)session.viewports['Viewport: 1'].partDisplay.meshOptions.setValues(    meshTechnique=ON)p = mdb.models['Model-1'].parts['Part-1']p.seedPart(size=0.3, deviationFactor=0.1, minSizeFactor=0.1)p = mdb.models['Model-1'].parts['Part-1']p.generateMesh()a1 = mdb.models['Model-1'].rootAssemblya1.regenerate()a = mdb.models['Model-1'].rootAssemblysession.viewports['Viewport: 1'].setValues(displayedObject=a)session.viewports['Viewport: 1'].assemblyDisplay.setValues(mesh=OFF)session.viewports['Viewport: 1'].assemblyDisplay.meshOptions.setValues(    meshTechnique=OFF)mdb.Job(name='Job-1', model='Model-1', description='', type=ANALYSIS,     atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90,     memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,     explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, echoPrint=OFF,     modelPrint=OFF, contactPrint=OFF, historyPrint=OFF, userSubroutine='',     scratch='', resultsFormat=ODB, multiprocessingMode=DEFAULT, numCpus=1,     numGPUs=0)mdb.jobs['Job-1'].submit(consistencyChecking=OFF)#: The job input file "Job-1.inp" has been submitted for analysis.#: Job Job-1: Analysis Input File Processor completed successfully.o3 = session.openOdb(name='https://www.gofarlic.com/SIMULIA/Abaqus/Commands/Job-1.odb')#: Model: https://www.gofarlic.com/SIMULIA/Abaqus/Commands/Job-1.odb#: Number of Assemblies: 1#: Number of Assembly instances: 0#: Number of Part instances: 1#: Number of Meshes: 1#: Number of Element Sets: 3#: Number of Node Sets: 3#: Number of Steps: 1session.viewports['Viewport: 1'].setValues(displayedObject=o3)session.viewports['Viewport: 1'].view.setValues(nearPlane=17.4595,     farPlane=26.7993, width=9.89258, height=4.40221, viewOffsetX=-0.0253098,     viewOffsetY=-0.109491)session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    CONTOURS_ON_DEF, ))#* There is no valid step data available on the database.If the analysis is #* running, the database must be closed and reopened once the results have been #* initialized. The requested operation has been cancelled.#: Job Job-1: Abaqus/Standard completed successfully.session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    CONTOURS_ON_DEF, ))#* rom_Transporter::GetClassBagForRead - Table for class "res_Frame" is missing #* from the database: https://www.gofarlic.com/SIMULIA/Abaqus/Commands/Job-1.odb. The database is #* corrupt.#: Job Job-1 completed successfully. a = mdb.models['Model-1'].rootAssemblysession.viewports['Viewport: 1'].setValues(displayedObject=a)mdb.jobs['Job-1'].submit(consistencyChecking=OFF)#: The job input file "Job-1.inp" has been submitted for analysis.#: Job Job-1: Analysis Input File Processor completed successfully.#: Job Job-1: Abaqus/Standard completed successfully.#: Job Job-1 completed successfully. o3 = session.openOdb(name='https://www.gofarlic.com/SIMULIA/Abaqus/Commands/Job-1.odb')#: Model: https://www.gofarlic.com/SIMULIA/Abaqus/Commands/Job-1.odb#: Number of Assemblies: 1#: Number of Assembly instances: 0#: Number of Part instances: 1#: Number of Meshes: 1#: Number of Element Sets: 3#: Number of Node Sets: 3#: Number of Steps: 1session.viewports['Viewport: 1'].setValues(displayedObject=o3)session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    CONTOURS_ON_DEF, ))session.viewports['Viewport: 1'].view.setValues(nearPlane=19.0454,     farPlane=25.3653, width=10.7912, height=4.80209, cameraPosition=(20.027,     9.52689, 9.56951), cameraUpVector=(-0.68922, 0.713857, -0.124034),     cameraTarget=(0.418928, 0.190362, 5.31944))session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(    variableLabel='U', outputPosition=NODAL, refinement=(INVARIANT,     'Magnitude'), )session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(    variableLabel='S', outputPosition=INTEGRATION_POINT, refinement=(INVARIANT,     'Mises'), )session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(    deformationScaling=UNIFORM, uniformScaleFactor=199671e6)session.viewports['Viewport: 1'].view.setValues(nearPlane=1.64533e+006,     farPlane=2.7173e+006, width=1.64375e+006, height=731471, cameraPosition=(    1.23737e+006, 591276, -1.42754e+006), cameraUpVector=(-0.927189,     -0.0765476, -0.366689), cameraTarget=(-15335.6, -463634, -9225.72))session.viewports['Viewport: 1'].view.setValues(nearPlane=1.71634e+006,     farPlane=2.65707e+006, width=1.7147e+006, height=763042, cameraPosition=(    507987, 406331, -1.92457e+006), cameraUpVector=(-0.882144, -0.464526,     -0.0776978), cameraTarget=(-20289.4, -464890, -12601.5))session.viewports['Viewport: 1'].view.setValues(nearPlane=1.66739e+006,     farPlane=2.70314e+006, width=1.6658e+006, height=741279, cameraPosition=(    904288, 606212, -1.65398e+006), cameraUpVector=(-0.903914, -0.324771,     -0.278322), cameraTarget=(-16627.7, -463043, -10101.3))session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(    uniformScaleFactor=1e6)session.viewports['Viewport: 1'].view.setValues(nearPlane=20.5443,     farPlane=30.189, width=14.4776, height=6.44255, cameraPosition=(-5.48937,     22.6453, 4.52367), cameraUpVector=(-0.241022, -0.400918, -0.88384))session.viewports['Viewport: 1'].view.setValues(nearPlane=20.3176,     farPlane=30.2275, width=14.3179, height=6.37147, cameraPosition=(17.5024,     16.4593, 1.87069), cameraUpVector=(-0.920027, 0.389416, -0.0436485),     cameraTarget=(0.119981, -2.29205, 4.59706))session.viewports['Viewport: 1'].view.setValues(nearPlane=22.0632,     farPlane=28.2401, width=15.548, height=6.91887, cameraPosition=(25.4518,     -2.16475, 8.01175), cameraUpVector=(-0.353072, 0.919761, 0.171407),     cameraTarget=(-0.018784, -1.96695, 4.48986))session.viewports['Viewport: 1'].view.setValues(nearPlane=21.2493,     farPlane=29.1067, width=14.9745, height=6.66364, cameraPosition=(24.0221,     6.8323, 6.46345), cameraUpVector=(-0.600098, 0.722462, -0.343412),     cameraTarget=(0.0131639, -2.168, 4.52446))session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(    variableLabel='U', outputPosition=NODAL, refinement=(INVARIANT,     'Magnitude'), )


  由于是用pyreader记录的 所以会有很多多于代码,viewpoints请忽视就好。
 


在Abaqus中模拟抛物线型压力作用下悬臂梁的Python命令流,是一段充满工程智慧与计算美学的代码诗篇。它以精确的语法为笔,以物理规律为墨,在虚拟的工程画布上勾勒出悬臂梁在复杂载荷下的力学行为。

这段命令流首先构建了一个静默而坚固的悬臂梁模型——从几何的精准切割,到材料属性的细致赋予,每一步都凝聚着对结构本质的理解。

随后,便是那如山峦起伏般的抛物线型压力场的施加。

通过精心编排的Python函数,压力值如同沿着曲线优雅滑落的水珠,在梁的表面形成富有韵律的分布,从一端的温柔触碰渐变为中间的沉稳承压,再缓缓过渡到另一端的轻柔释放。

这不仅仅是数值的叠加,更是一种动态平衡的艺术再现。接着,分析步的设置如同指挥家的节拍器,引导着求解器进行一场精密的力学交响乐。

接触对的定义、网格的划分(那些细密如蛛网的单元,捕捉着结构内部最细微的形变),以及求解参数的优化,共同编织出一张计算的巨网。

当求解器开始运转,屏幕上跳动的进度条仿佛是时间的脉搏,每一次迭代都是对真实世界的逼近。

最终,后处理阶段将抽象的数值转化为直观的云图与曲线——应力的红与蓝交织出结构的内在张力,变形的轮廓勾勒出材料的屈服与抵抗。

整个过程,Python命令流如同一位沉默的工程师,用逻辑与算法的语言,讲述着悬臂梁在抛物线压力下的坚韧与优雅,将复杂的力学现象浓缩为可计算、可预测、可优化的数字奇迹。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空