結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)_第1頁(yè)
結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)_第2頁(yè)
結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)_第3頁(yè)
結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)_第4頁(yè)
結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

結(jié)構(gòu)力學(xué)仿真軟件:ABAQUS:ABAQUS顯式動(dòng)力學(xué)分析技術(shù)1緒論1.1ABAQUS軟件簡(jiǎn)介ABAQUS是一款由DassaultSystèmes公司開發(fā)的高級(jí)有限元分析軟件,廣泛應(yīng)用于工程設(shè)計(jì)、產(chǎn)品開發(fā)和科學(xué)研究中。它能夠處理復(fù)雜的非線性問(wèn)題,包括材料非線性、幾何非線性和接觸非線性。ABAQUS分為兩個(gè)主要模塊:ABAQUS/Standard和ABAQUS/Explicit。其中,ABAQUS/Explicit特別適用于解決短時(shí)間內(nèi)的動(dòng)力學(xué)問(wèn)題,如沖擊、碰撞和爆炸等,它使用顯式時(shí)間積分方法,能夠快速求解高速動(dòng)力學(xué)問(wèn)題。1.2顯式動(dòng)力學(xué)分析概述顯式動(dòng)力學(xué)分析是一種數(shù)值模擬技術(shù),主要用于解決動(dòng)力學(xué)問(wèn)題,特別是那些涉及短時(shí)間尺度和高加速度的瞬態(tài)事件。在ABAQUS/Explicit中,分析基于顯式時(shí)間積分方案,這意味著每個(gè)時(shí)間步的解不需要求解大型線性方程組,而是直接通過(guò)前一時(shí)間步的解來(lái)計(jì)算。這種分析方法非常適合處理沖擊、碰撞和爆炸等動(dòng)力學(xué)問(wèn)題,因?yàn)樗鼈兺ǔI婕胺浅6痰臅r(shí)間尺度和快速變化的載荷。1.2.1顯式動(dòng)力學(xué)分析原理顯式動(dòng)力學(xué)分析的核心是顯式時(shí)間積分方法,它通過(guò)迭代計(jì)算來(lái)推進(jìn)時(shí)間。在每個(gè)時(shí)間步,ABAQUS/Explicit會(huì)計(jì)算結(jié)構(gòu)的加速度,然后根據(jù)加速度和當(dāng)前速度來(lái)更新結(jié)構(gòu)的速度和位移。這種方法不需要求解全局剛度矩陣,因此計(jì)算效率高,特別適合處理大規(guī)模的瞬態(tài)動(dòng)力學(xué)問(wèn)題。1.2.2顯式動(dòng)力學(xué)分析內(nèi)容材料模型:ABAQUS/Explicit提供了多種材料模型,包括彈性、塑性、粘彈性、損傷和失效模型,以準(zhǔn)確模擬不同材料在高速載荷下的行為。接觸算法:顯式動(dòng)力學(xué)分析中,接觸算法是關(guān)鍵,因?yàn)樗幚砹瞬煌矬w之間的相互作用。ABAQUS/Explicit使用高效的接觸算法,能夠處理復(fù)雜的接觸問(wèn)題,如摩擦、滑移和分離。載荷和邊界條件:在顯式動(dòng)力學(xué)分析中,載荷和邊界條件的定義至關(guān)重要。它們可以是時(shí)間依賴的,如沖擊載荷,也可以是空間依賴的,如爆炸載荷。網(wǎng)格和單元:選擇合適的網(wǎng)格和單元類型對(duì)于準(zhǔn)確模擬動(dòng)力學(xué)響應(yīng)至關(guān)重要。ABAQUS/Explicit支持多種單元類型,包括四面體、六面體和殼單元,以及自適應(yīng)網(wǎng)格細(xì)化技術(shù),以提高計(jì)算精度。1.2.3示例:ABAQUS/Explicit中的顯式動(dòng)力學(xué)分析假設(shè)我們想要模擬一個(gè)簡(jiǎn)單的沖擊問(wèn)題,一個(gè)質(zhì)量為1kg的物體以10m/s的速度撞擊一個(gè)固定在地面上的彈性板。我們將使用ABAQUS/Explicit來(lái)設(shè)置和運(yùn)行這個(gè)分析。建立模型首先,我們需要在ABAQUS中創(chuàng)建模型,定義幾何、材料和網(wǎng)格。假設(shè)彈性板的尺寸為1mx1m,厚度為0.01m,材料為鋼,彈性模量為200GPa,泊松比為0.3。定義材料和單元屬性在ABAQUS中,我們選擇合適的單元類型,如四面體單元,并定義材料屬性。對(duì)于鋼,我們使用彈性材料模型。設(shè)置邊界條件和載荷我們將彈性板的底部固定,以模擬其固定在地面上。對(duì)于撞擊物體,我們定義初始速度為10m/s。運(yùn)行分析在ABAQUS/Explicit中,我們?cè)O(shè)置時(shí)間步長(zhǎng)和總分析時(shí)間,然后運(yùn)行分析。時(shí)間步長(zhǎng)通常由軟件自動(dòng)確定,以確保計(jì)算的穩(wěn)定性。后處理分析完成后,我們使用ABAQUS/CAE的后處理功能來(lái)查看結(jié)果,包括位移、速度和應(yīng)力等。#以下是一個(gè)簡(jiǎn)化的ABAQUS/ExplicitPython腳本示例,用于設(shè)置上述沖擊問(wèn)題

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#創(chuàng)建模型

executeOnCaeStartup()

session.viewports['Viewport:1'].setValues(displayedObject=None)

model=mdb.models['Model-1']

#創(chuàng)建彈性板

plate=model.ConstrainedSketch(name='__profile__',sheetSize=2.0)

plate.rectangle(point1=(0.0,0.0),point2=(1.0,1.0))

platePart=model.Part(name='Plate',dimensionality=THREE_D,type=DEFORMABLE_BODY)

platePart.BaseShell(sketch=plate)

#創(chuàng)建撞擊物體

impactor=model.ConstrainedSketch(name='__profile__',sheetSize=2.0)

impactor.rectangle(point1=(0.5,0.5,1.0),point2=(0.5,0.5,1.01))

impactorPart=model.Part(name='Impactor',dimensionality=THREE_D,type=DEFORMABLE_BODY)

impactorPart.BaseSolidExtrude(sketch=impactor,depth=0.01)

#定義材料屬性

model.Material(name='Steel')

model.materials['Steel'].Elastic(table=((200e9,0.3),))

#定義截面

platePart.Section(name='PlateSection',material='Steel',thicknessType=UNIFORM,thickness=0.01)

platePart.assignSection(region=platePart.faces,sectionName='PlateSection')

#定義接觸

model.ContactProperty('IntProp')

eractionProperties['IntProp'].TangentialBehavior(formulation=FRICTIONLESS)

model.SurfaceToSurfaceContactStd(name='Contact',createStepName='Initial',master='Plate-1',slave='Impactor-1',sliding=FINITE,interactionProperty='IntProp')

#設(shè)置邊界條件

model.DisplacementBC(name='FixBottom',createStepName='Initial',region=platePart.sets['Bottom'],u1=0.0,u2=0.0,u3=0.0,amplitude=UNSET)

#設(shè)置初始速度

model.InitialVelocity(name='InitVel',createStepName='Initial',region=impactorPart.sets['Impactor'],velocity1=0.0,velocity2=0.0,velocity3=10.0,amplitude=UNSET)

#設(shè)置分析步

model.StaticStep(name='Impact',previous='Initial',timePeriod=0.01,nlgeom=ON)

#運(yùn)行分析

['Job-1'].submit(consistencyChecking=OFF)

['Job-1'].waitForCompletion()這個(gè)腳本示例展示了如何在ABAQUS/Explicit中設(shè)置一個(gè)簡(jiǎn)單的沖擊問(wèn)題,包括創(chuàng)建模型、定義材料和單元屬性、設(shè)置邊界條件和載荷,以及運(yùn)行分析。通過(guò)調(diào)整參數(shù)和模型細(xì)節(jié),可以模擬更復(fù)雜和實(shí)際的動(dòng)力學(xué)問(wèn)題。2ABAQUS顯式動(dòng)力學(xué)分析基礎(chǔ)2.1顯式動(dòng)力學(xué)分析原理顯式動(dòng)力學(xué)分析是一種數(shù)值模擬技術(shù),主要用于解決高速、短時(shí)、大變形的動(dòng)力學(xué)問(wèn)題。在顯式動(dòng)力學(xué)分析中,時(shí)間步長(zhǎng)由最短波長(zhǎng)和材料波速?zèng)Q定,通常非常小,這使得顯式分析能夠精確捕捉到高速?zèng)_擊、爆炸、碰撞等瞬態(tài)事件的動(dòng)態(tài)響應(yīng)。ABAQUS的顯式動(dòng)力學(xué)分析采用顯式時(shí)間積分方法,能夠處理非線性材料行為、接觸、大變形和高速率效應(yīng)。2.1.1關(guān)鍵概念時(shí)間步長(zhǎng):顯式動(dòng)力學(xué)分析中,時(shí)間步長(zhǎng)自動(dòng)確定,確保數(shù)值穩(wěn)定性。質(zhì)量縮放:通過(guò)調(diào)整模型的質(zhì)量分布,以減少計(jì)算時(shí)間而不影響結(jié)果的準(zhǔn)確性。接觸算法:顯式分析中,接觸算法處理接觸界面的非線性行為,如摩擦、分離和碰撞。2.2ABAQUS顯式模塊介紹ABAQUS/Explicit是ABAQUS軟件包中的一個(gè)模塊,專門用于解決動(dòng)力學(xué)問(wèn)題,尤其是那些涉及高速率效應(yīng)和大變形的問(wèn)題。它采用顯式時(shí)間積分方案,能夠快速求解瞬態(tài)動(dòng)力學(xué)問(wèn)題,而無(wú)需解決大型線性方程組,這在隱式分析中是必需的。2.2.1主要功能高速?zèng)_擊和碰撞:模擬高速?zèng)_擊和碰撞事件,如汽車碰撞測(cè)試。爆炸和燃燒:分析爆炸和燃燒過(guò)程中的材料響應(yīng)。材料非線性:處理復(fù)雜的材料模型,包括塑性、粘彈性、損傷和斷裂。接觸和摩擦:精確模擬接觸界面的非線性行為,包括摩擦和分離。2.3ABAQUS顯式動(dòng)力學(xué)分析流程2.3.1步驟1:模型建立在ABAQUS/CAE中創(chuàng)建幾何模型,定義材料屬性,設(shè)置邊界條件和載荷。2.3.2步驟2:網(wǎng)格劃分選擇合適的網(wǎng)格類型和尺寸,對(duì)于顯式動(dòng)力學(xué)分析,通常使用四面體網(wǎng)格。2.3.3步驟3:定義分析類型在分析設(shè)置中選擇“顯式動(dòng)力學(xué)”分析類型。2.3.4步驟4:設(shè)置時(shí)間步長(zhǎng)和分析步時(shí)間步長(zhǎng)由軟件自動(dòng)確定,但用戶可以設(shè)置最大時(shí)間步長(zhǎng)和總分析時(shí)間。2.3.5步驟5:定義輸出請(qǐng)求設(shè)置輸出頻率和輸出變量,如位移、應(yīng)力和應(yīng)變。2.3.6步驟6:提交分析運(yùn)行分析,ABAQUS/Explicit將根據(jù)設(shè)定的參數(shù)求解模型的動(dòng)力學(xué)響應(yīng)。2.3.7步驟7:后處理使用ABAQUS/CAE或第三方后處理軟件查看和分析結(jié)果。2.3.8示例:ABAQUS顯式動(dòng)力學(xué)分析代碼示例#ABAQUS顯式動(dòng)力學(xué)分析示例代碼

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#創(chuàng)建模型

executeOnCaeStartup()

session.viewports['Viewport:1'].setValues(displayedObject=None)

session.Viewport(name='Viewport:1',origin=(0.0,0.0),width=128.0,height=96.0)

session.viewports['Viewport:1'].makeCurrent()

session.viewports['Viewport:1'].maximize()

session.viewports['Viewport:1'].partDisplay.setValues(sectionAssignments=ON,engineeringFeatures=ON)

session.viewports['Viewport:1'].partDisplay.geometryOptions.setValues(

referenceRepresentation=OFF)

session.viewports['Viewport:1'].partDisplay.setValues(step=OFF)

session.viewports['Viewport:1'].assemblyDisplay.setValues(

optimizationTasks=OFF,geometricRestrictions=OFF,stopConditions=OFF)

session.viewports['Viewport:1'].assemblyDisplay.setValues(step=OFF)

session.viewports['Viewport:1'].assemblyDisplay.setValues(loads=ON,bcs=ON,predefinedFields=ON,

interactions=ON,constraints=ON,engineeringFeatures=ON)

session.viewports['Viewport:1'].assemblyDisplay.setValues(odb=OFF)

#定義材料

model.Material(name='Steel')

model.materials['Steel'].Elastic(table=((200000,0.3),))

#創(chuàng)建零件

model.Part(name='Part-1',dimensionality=THREE_D,type=DEFORMABLE_BODY)

model.parts['Part-1'].BaseSolidExtrude(sketch=model.ConstrainedSketch(name='__profile__',sheetSize=200.0),

depth=10.0)

model.parts['Part-1'].DatumCsysByDefault(CARTESIAN)

#網(wǎng)格劃分

model.parts['Part-1'].setMeshControls(regions=model.parts['Part-1'].faces,technique=FREE)

model.parts['Part-1'].seedPart(size=1.0,deviationFactor=0.1,minSizeFactor=0.1)

model.parts['Part-1'].generateMesh()

#定義分析類型

model.ExplicitDynamicsStep(name='Step-1',previous='Initial',initialInc=1e-05,

maxInc=0.01,nlgeom=ON)

#設(shè)置輸出請(qǐng)求

model.HistoryOutputRequest(name='H-Output-1',createStepName='Step-1',variables=('U','RF','S','E','PE'),

sectionPoints=DEFAULT,rebar=EXCLUDE)

#提交分析

session.writeInput(consistencyChecking=OFF)

#后處理

session.openOdb(name='jobname.odb')

session.viewports['Viewport:1'].setValues(displayedObject=session.odbs['jobname.odb'])

session.viewports['Viewport:1'].odbDisplay.setFrame(step='Step-1',frame=1)

session.viewports['Viewport:1'].odbDisplay.display.setValues(plotState=(CONTOURS_ON_DEF,))

session.viewports['Viewport:1'].odbDisplay.setPrimaryVariable(variableLabel='S',outputPosition=INTEGRATION_POINT,refinement=(COMPONENT,'S11'))2.3.9解釋上述代碼示例展示了如何在ABAQUS中使用Python腳本進(jìn)行顯式動(dòng)力學(xué)分析的基本步驟。從創(chuàng)建模型、定義材料、網(wǎng)格劃分,到設(shè)置分析類型、輸出請(qǐng)求,最后提交分析和進(jìn)行后處理,每個(gè)步驟都通過(guò)PythonAPI調(diào)用ABAQUS的功能來(lái)實(shí)現(xiàn)。通過(guò)調(diào)整參數(shù),如材料屬性、網(wǎng)格尺寸和分析步的時(shí)間步長(zhǎng),可以模擬不同類型的顯式動(dòng)力學(xué)問(wèn)題。2.4結(jié)論ABAQUS/Explicit為解決高速、短時(shí)、大變形的動(dòng)力學(xué)問(wèn)題提供了強(qiáng)大的工具。通過(guò)理解其原理和掌握分析流程,可以有效地模擬和預(yù)測(cè)復(fù)雜動(dòng)力學(xué)事件的響應(yīng),為工程設(shè)計(jì)和安全評(píng)估提供關(guān)鍵信息。3ABAQUS顯式動(dòng)力學(xué)分析前處理3.1模型建立與網(wǎng)格劃分在進(jìn)行ABAQUS顯式動(dòng)力學(xué)分析前,首先需要建立模型并進(jìn)行網(wǎng)格劃分。模型建立包括定義幾何形狀、創(chuàng)建部件、裝配部件等步驟。網(wǎng)格劃分則是將模型離散化,以便進(jìn)行數(shù)值計(jì)算。3.1.1定義幾何形狀幾何形狀可以通過(guò)導(dǎo)入CAD模型或在ABAQUS/CAE中直接創(chuàng)建。例如,創(chuàng)建一個(gè)簡(jiǎn)單的立方體:fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

frompartimport*

fromsectionimport*

fromassemblyimport*

fromstepimport*

frominteractionimport*

fromloadimport*

frommeshimport*

fromjobimport*

fromsketchimport*

fromvisualizationimport*

fromconnectorBehaviorimport*

#創(chuàng)建一個(gè)新部件

myModel=mdb.models['Model-1']

myPart=myModel.Part(name='Cube',dimensionality=THREE_D,type=DEFORMABLE_BODY)

#創(chuàng)建一個(gè)草圖

mySketch=myPart.Sketch(name='__profile__',sheetSize=100.0)

mySketch.rectangle(point1=(0.0,0.0),point2=(10.0,10.0))

#通過(guò)拉伸草圖創(chuàng)建實(shí)體

myPart.BaseSolidExtrude(sketch=mySketch,depth=10.0)3.1.2網(wǎng)格劃分網(wǎng)格劃分需要選擇合適的單元類型和尺寸。對(duì)于顯式動(dòng)力學(xué)分析,通常使用四面體單元。例如,對(duì)上述立方體進(jìn)行網(wǎng)格劃分:#選擇單元類型

elemType1=ElemType(elemCode=C3D4,elemLibrary=STANDARD)

#設(shè)置網(wǎng)格劃分控制

myPart.setMeshControls(regions=myPart.cells,technique=FREE,sizingFactor=0.5)

#生成網(wǎng)格

myPart.seedPart(size=1.0,deviationFactor=0.1,minSizeFactor=0.1)

myPart.generateMesh()3.2材料屬性定義定義材料屬性是顯式動(dòng)力學(xué)分析的關(guān)鍵步驟,包括密度、彈性模量、泊松比等。例如,定義一個(gè)鋼材料:#定義材料

myModel.Material(name='Steel')

#定義材料屬性

myModel.materials['Steel'].Density(table=((7.85e-9,),))

myModel.materials['Steel'].Elastic(table=((200e3,0.3),))3.3邊界條件與載荷設(shè)置邊界條件和載荷的設(shè)置決定了模型的約束和激勵(lì)。例如,固定一個(gè)面并施加一個(gè)沖擊載荷:#創(chuàng)建面集

myPart.Set(name='Face-Set',faces=myPart.faces.findAt(((5.0,5.0,10.0),)))

#應(yīng)用固定邊界條件

myModel.DisplacementBC(name='Fixed',createStepName='Initial',region=myPart.sets['Face-Set'],u1=0.0,u2=0.0,u3=0.0,ur1=0.0,ur2=0.0,ur3=0.0,amplitude=UNSET,distributionType=UNIFORM,fieldName='',localCsys=None)

#創(chuàng)建節(jié)點(diǎn)集

myPart.Set(name='Node-Set',nodes=myPart.nodes.findAt(((5.0,5.0,0.0),)))

#應(yīng)用沖擊載荷

myModel.ConcentratedForce(name='Impact',createStepName='Step-1',region=myPart.sets['Node-Set'],cf1=1000.0,amplitude=UNSET,distributionType=UNIFORM,field='',localCsys=None)以上步驟為ABAQUS顯式動(dòng)力學(xué)分析的前處理部分,包括模型建立、網(wǎng)格劃分、材料屬性定義以及邊界條件和載荷的設(shè)置。通過(guò)這些步驟,可以為后續(xù)的顯式動(dòng)力學(xué)分析提供準(zhǔn)確的模型和條件。4ABAQUS顯式動(dòng)力學(xué)分析設(shè)置4.1分析步與時(shí)間步控制在ABAQUS中,顯式動(dòng)力學(xué)分析通常用于模擬高速、短時(shí)事件,如碰撞、沖擊或爆炸。這類分析要求高時(shí)間分辨率,以捕捉快速變化的動(dòng)力學(xué)行為。時(shí)間步的大小對(duì)分析的準(zhǔn)確性和計(jì)算效率至關(guān)重要。4.1.1原理顯式動(dòng)力學(xué)分析采用顯式時(shí)間積分方法,其中時(shí)間步大小由網(wǎng)格的最小尺寸和材料的波速?zèng)Q定,遵循CFL(Courant-Friedrichs-Lewy)條件。ABAQUS自動(dòng)計(jì)算時(shí)間步大小,但用戶可以設(shè)置最小和最大時(shí)間步,以及時(shí)間步的調(diào)整策略。4.1.2內(nèi)容定義分析步:在ABAQUS/CAE中,通過(guò)Step模塊創(chuàng)建分析步,指定分析類型為Explicit。時(shí)間步控制:在分析步中,可以設(shè)置Initialtimeincrement、Maximumtimeincrement和Minimumtimeincrement。此外,Timeincrementationmethod允許選擇Automatic或Fixed,前者根據(jù)模型的動(dòng)態(tài)響應(yīng)自動(dòng)調(diào)整時(shí)間步。示例代碼#創(chuàng)建顯式動(dòng)力學(xué)分析步

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

myModel=mdb.models['Model-1']

myStep=myModel.StaticStep(name='Step-1',previous='Initial',

description='ExplicitDynamicsAnalysis',

timePeriod=1.0,nlgeom=ON)

#設(shè)置時(shí)間步控制

myStep.setValues(initialInc=1e-6,maxInc=1e-4,minInc=1e-8,

timeIncrementationMethod=AUTOMATIC)4.2接觸定義與摩擦模型接觸定義在顯式動(dòng)力學(xué)分析中尤為重要,因?yàn)樗婕暗讲煌考g的相互作用,如碰撞和摩擦。ABAQUS提供了多種接觸類型和摩擦模型,以適應(yīng)不同的工程需求。4.2.1原理接觸定義包括接觸對(duì)的指定、接觸行為的設(shè)定(如滑動(dòng)、穿透限制)和摩擦模型的選擇。摩擦模型可以是干摩擦、粘性摩擦或用戶自定義的摩擦模型,其參數(shù)(如摩擦系數(shù))直接影響接觸面的動(dòng)態(tài)響應(yīng)。4.2.2內(nèi)容定義接觸對(duì):在ABAQUS/CAE中,通過(guò)Interaction模塊創(chuàng)建接觸對(duì),指定Master和Slave表面。設(shè)置摩擦模型:在接觸對(duì)的屬性中,選擇摩擦模型并輸入相應(yīng)的摩擦系數(shù)。示例代碼#定義接觸對(duì)

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

myModel=mdb.models['Model-1']

myContact=myModel.ContactProperty('Int-Prop-1')

myContact.Friction(formulation=SLIDING,frictionType=DRY,

frictionCoeff=0.3,pressureDependency=OFF,

temperatureDependency=OFF,dependencies=0)

#應(yīng)用接觸對(duì)

myModel.SurfaceToSurfaceContactStd(name='Contact-1',

createStepName='Step-1',

master='Master-Surf',slave='Slave-Surf',

sliding=FINITE,

interactionProperty='Int-Prop-1')4.3輸出請(qǐng)求與監(jiān)控點(diǎn)設(shè)置輸出請(qǐng)求定義了ABAQUS在分析過(guò)程中需要記錄的數(shù)據(jù),如位移、應(yīng)力和應(yīng)變。監(jiān)控點(diǎn)則用于跟蹤特定位置的響應(yīng),如力或位移。4.3.1原理輸出請(qǐng)求通過(guò)FieldOutput和HistoryOutput來(lái)定義,可以指定輸出頻率和輸出的場(chǎng)變量。監(jiān)控點(diǎn)則通過(guò)在模型中定義特定的點(diǎn)或面,記錄其在分析過(guò)程中的響應(yīng)。4.3.2內(nèi)容定義輸出請(qǐng)求:在ABAQUS/CAE中,通過(guò)FieldOutput和HistoryOutput模塊設(shè)置輸出變量和頻率。設(shè)置監(jiān)控點(diǎn):在HistoryOutput中,可以定義監(jiān)控點(diǎn),選擇輸出的變量類型。示例代碼#定義輸出請(qǐng)求

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

myModel=mdb.models['Model-1']

myModel.fieldOutputRequests['F-Output-1'].setValues(variables=('U','S','E'),

frequency=100)

#設(shè)置監(jiān)控點(diǎn)

myModel.HistoryOutputRequest(name='H-Output-1',createStepName='Step-1',

variables=('RF','U'),region=myModel.rootAssembly.instances['Part-1-1'].nodes[1])以上示例展示了如何在ABAQUS中設(shè)置顯式動(dòng)力學(xué)分析的分析步、時(shí)間步控制、接觸定義與摩擦模型,以及輸出請(qǐng)求與監(jiān)控點(diǎn)。通過(guò)這些設(shè)置,可以精確地模擬和分析結(jié)構(gòu)在高速動(dòng)力學(xué)載荷下的行為。5ABAQUS顯式動(dòng)力學(xué)分析案例5.1沖擊動(dòng)力學(xué)分析5.1.1原理沖擊動(dòng)力學(xué)分析是ABAQUS顯式動(dòng)力學(xué)分析中的一種重要應(yīng)用,主要用于模擬高速碰撞、沖擊載荷下結(jié)構(gòu)的響應(yīng)。ABAQUS的顯式動(dòng)力學(xué)分析采用Lagrangian方法,能夠處理大變形、非線性材料行為以及復(fù)雜的接觸問(wèn)題。在沖擊分析中,時(shí)間步長(zhǎng)自動(dòng)調(diào)整,以確保計(jì)算的穩(wěn)定性,這在處理高速事件時(shí)尤為關(guān)鍵。5.1.2內(nèi)容模型建立幾何模型:使用CAD軟件創(chuàng)建或?qū)霂缀文P汀2牧蠈傩裕憾x材料的彈性、塑性、斷裂行為。邊界條件:設(shè)置固定邊界或施加外部載荷。接觸定義:定義接觸對(duì),包括接觸類型、摩擦系數(shù)等。分析設(shè)置時(shí)間步長(zhǎng):ABAQUS自動(dòng)計(jì)算,但可以設(shè)置最小和最大時(shí)間步長(zhǎng)。輸出請(qǐng)求:定義需要輸出的變量,如位移、應(yīng)力、應(yīng)變等。求解控制:設(shè)置求解器的收斂準(zhǔn)則、迭代次數(shù)等。示例#ABAQUSPythonScriptforImpactDynamicsAnalysis

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#ModelCreation

executeOnCaeStartup()

session.viewports['Viewport:1'].setValues(displayedObject=None)

a=mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=200.0)

g,v,d,c=a.geometry,a.vertices,a.dimensions,a.constraints

a.rectangle(point1=(0.0,0.0),point2=(100.0,10.0))

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=a,depth=10.0)

a.unsetPrimaryObject()

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

session.viewports['Viewport:1'].partDisplay.setValues(sectionAssignments=ON,

engineeringFeatures=ON)

#MaterialDefinition

mdb.models['Model-1'].Material(name='Steel')

mdb.models['Model-1'].materials['Steel'].Elastic(table=((200000.0,0.3),))

mdb.models['Model-1'].materials['Steel'].Plastic(table=((250.0,),))

#SectionAssignment

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

p.MaterialAssignment(region=p.sets['Set-1'],material='Steel',thickness=None)

#BoundaryConditions

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

p.DisplacementBC(name='BC-1',createStepName='Initial',region=p.sets['Set-2'],

u1=0.0,u2=0.0,u3=0.0,ur1=UNSET,ur2=UNSET,ur3=UNSET,amplitude=UNSET,

fixed=OFF,distributionType=UNIFORM,fieldName='',localCsys=None)

#ContactDefinition

session.viewports['Viewport:1'].assemblyDisplay.setValues(interactions=ON)

a=mdb.models['Model-1'].rootAssembly

session.viewports['Viewport:1'].setValues(displayedObject=a)

a.ContactProperty('IntProp-1')

mdb.models['Model-1'].interactionProperties['IntProp-1'].TangentialBehavior(

formulation=FINITE,directionality=ISOTROPIC,slipRateDependency=OFF,

pressureDependency=OFF,temperatureDependency=OFF,dependencies=0,

table=((0.3,),),shearStressLimit=None,maximumElasticSlip=FRACTION,

fraction=0.005,elasticSlipStiffness=None)

a.SurfaceToSurfaceContactStd(name='Contact-1',createStepName='Initial',

master=mdb.models['Model-1'].rootAssembly.surfaces['Surface-1'],

slave=mdb.models['Model-1'].rootAssembly.surfaces['Surface-2'],

sliding=FINITE,interactionProperty='IntProp-1',thickness=ON)

#AnalysisSettings

mdb.models['Model-1'].ExplicitDynamicsStep(name='Step-1',previous='Initial',

initialInc=1e-05,maxInc=0.01,nlgeom=ON,stabilizationMethod=DAMPING_FACTOR,

stabilizationMagnitude=0.05,timePeriod=0.01,amplitude=RAMP,

delaminationControl=DEFAULT,delaminationControlType=CRACK_TIP_ENRICHMENT,

delaminationGrowthCriterion=CRACK_TIP_ENERGY,delaminationGrowthRate=DEFAULT,

delaminationGrowthRateFactor=0.001,delaminationGrowthRateExponent=1.0,

delaminationGrowthRateMax=0.001,delaminationGrowthRateMin=1e-06,

delaminationGrowthRateType=LINEAR,delaminationGrowthRateValue=0.001,

delaminationGrowthRateVariable=TIME_INCREMENT,delaminationGrowthRateVariableExponent=1.0,

delaminationGrowthRateVariableValue=0.001,delaminationGrowthRateVariableType=LINEAR,

delaminationGrowthRateVariableExponentValue=1.0,delaminationGrowthRateVariableExponentType=LINEAR,

delaminationGrowthRateVariableExponentVariable=TIME_INCREMENT,

delaminationGrowthRateVariableExponentVariableExponent=1.0,

delaminationGrowthRateVariableExponentVariableType=LINEAR,

delaminationGrowthRateVariableExponentVariableValue=0.001)

#JobSubmission

mdb.Job(name='ImpactAnalysis',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,parallelizationMethodExplicit=DOMAIN,

numDomains=1,activateLoadBalancing=False,multiprocessingMode=DEFAULT,

numCpus=1,numGPUs=0)

['ImpactAnalysis'].submit(consistencyChecking=OFF)5.1.3解釋上述代碼示例展示了如何使用ABAQUS的PythonAPI進(jìn)行沖擊動(dòng)力學(xué)分析的設(shè)置。首先,創(chuàng)建了一個(gè)三維實(shí)體模型,然后定義了材料屬性(彈性模量和屈服強(qiáng)度)。接著,設(shè)置了邊界條件和接觸屬性,最后配置了顯式動(dòng)力學(xué)分析步驟,并提交了分析任務(wù)。5.2爆炸載荷模擬5.2.1原理爆炸載荷模擬是顯式動(dòng)力學(xué)分析的另一重要應(yīng)用,用于研究爆炸事件對(duì)結(jié)構(gòu)的影響。ABAQUS通過(guò)定義爆炸載荷(如壓力脈沖)和使用非線性材料模型來(lái)模擬這一過(guò)程。爆炸載荷通常以時(shí)間函數(shù)的形式施加,可以是用戶自定義的函數(shù)或預(yù)定義的爆炸載荷函數(shù)。5.2.2內(nèi)容模型建立幾何模型:創(chuàng)建或?qū)氡ㄔ春徒Y(jié)構(gòu)模型。材料屬性:定義材料的動(dòng)態(tài)響應(yīng),如動(dòng)態(tài)彈性模量、動(dòng)態(tài)屈服強(qiáng)度等。邊界條件:設(shè)置結(jié)構(gòu)的固定邊界或自由邊界。爆炸載荷定義載荷類型:使用預(yù)定義的爆炸載荷函數(shù)或自定義函數(shù)。載荷位置:定義載荷作用的區(qū)域。載荷參數(shù):設(shè)置載荷的強(qiáng)度、持續(xù)時(shí)間等。示例#ABAQUSPythonScriptforBlastLoadSimulation

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#ModelCreation

executeOnCaeStartup()

session.viewports['Viewport:1'].setValues(displayedObject=None)

a=mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=200.0)

g,v,d,c=a.geometry,a.vertices,a.dimensions,a.constraints

a.rectangle(point1=(0.0,0.0),point2=(100.0,10.0))

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=a,depth=10.0)

a.unsetPrimaryObject()

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

session.viewports['Viewport:1'].partDisplay.setValues(sectionAssignments=ON,

engineeringFeatures=ON)

#MaterialDefinition

mdb.models['Model-1'].Material(name='Concrete')

mdb.models['Model-1'].materials['Concrete'].Elastic(table=((30000.0,0.2),))

mdb.models['Model-1'].materials['Concrete'].Plastic(table=((3.0,),))

#SectionAssignment

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

p.MaterialAssignment(region=p.sets['Set-1'],material='Concrete',thickness=None)

#BlastLoadDefinition

mdb.models['Model-1'].Pressure(name='BlastLoad',createStepName='Step-1',

region=mdb.models['Model-1'].rootAssembly.instances['Part-1-1'].faces[1],

distributionType=UNIFORM,field='',magnitude=1000000.0,

amplitude=UNSET,fixed=OFF)

#AnalysisSettings

mdb.models['Model-1'].ExplicitDynamicsStep(name='Step-1',previous='Initial',

initialInc=1e-05,maxInc=0.01,nlgeom=ON,stabilizationMethod=DAMPING_FACTOR,

stabilizationMagnitude=0.05,timePeriod=0.01,amplitude=RAMP,

delaminationControl=DEFAULT,delaminationControlType=CRACK_TIP_ENRICHMENT,

delaminationGrowthCriterion=CRACK_TIP_ENERGY,delaminationGrowthRate=DEFAULT,

delaminationGrowthRateFactor=0.001,delaminationGrowthRateExponent=1.0,

delaminationGrowthRateMax=0.001,delaminationGrowthRateMin=1e-06,

delaminationGrowthRateType=LINEAR,delaminationGrowthRateValue=0.001,

delaminationGrowthRateVariable=TIME_INCREMENT,

delaminationGrowthRateVariableExponent=1.0,

delaminationGrowthRateVariableType=LINEAR,

delaminationGrowthRateVariableValue=0.001)

#JobSubmission

mdb.Job(name='BlastAnalysis',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,parallelizationMethodExplicit=DOMAIN,

numDomains=1,activateLoadBalancing=False,multiprocessingMode=DEFAULT,

numCpus=1,numGPUs=0)

['BlastAnalysis'].submit(consistencyChecking=OFF)5.2.3解釋此代碼示例展示了如何在ABAQUS中設(shè)置爆炸載荷模擬。首先,創(chuàng)建了一個(gè)混凝土結(jié)構(gòu)模型,然后定義了材料屬性。接著,定義了一個(gè)均勻分布的爆炸壓力載荷作用于結(jié)構(gòu)的特定面。最后,配置了顯式動(dòng)力學(xué)分析步驟,并提交了分析任務(wù)。5.3碰撞仿真5.3.1原理碰撞仿真用于研究?jī)蓚€(gè)或多個(gè)物體在高速下的相互作用。ABAQUS的顯式動(dòng)力學(xué)分析能夠處理這種瞬態(tài)事件,通過(guò)精確的時(shí)間步長(zhǎng)控制和接觸算法來(lái)模擬碰撞過(guò)程。碰撞仿真通常涉及多個(gè)物體的相互作用,需要定義接觸對(duì)和碰撞載荷。5.3.2內(nèi)容模型建立幾何模型:創(chuàng)建或?qū)肱鲎参矬w的幾何模型。材料屬性:定義每個(gè)物體的材料屬性。邊界條件:設(shè)置物體的初始速度或加速度。接觸定義接觸對(duì):定義哪些物體之間會(huì)發(fā)生接觸。接觸屬性:設(shè)置接觸的摩擦系數(shù)、滑動(dòng)行為等。示例#ABAQUSPythonScriptforCollisionSimulation

fromabaqusimport*

fromabaqusConstantsimport*

fromcaeModulesimport*

fromdriverUtilsimportexecuteOnCaeStartup

#ModelCreation

executeOnCaeStartup()

session.viewports['Viewport:1'].setValues(displayedObject=None)

a=mdb.models['Model-1'].ConstrainedSketch(name='__profile__',sheetSize=200.0)

g,v,d,c=a.geometry,a.vertices,a.dimensions,a.constraints

a.rectangle(point1=(0.0,0.0),point2=(100.0,10.0))

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=a,depth=10.0)

a.unsetPrimaryObject()

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

session.viewports['Viewport:1'].partDisplay.setValues(sectionAssignments=ON,

engineeringFeatures=ON)

#MaterialDefinition

mdb.models['Model-1'].Material(name='Aluminum')

mdb.models['Model-1'].materials['Aluminum'].Elastic(table=((70000.0,0.33),))

mdb.models['Model-1'].materials['Aluminum'].Plastic(table=((100.0,),))

#SectionAssignment

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

p.MaterialAssignment(region=p.sets['Set-1'],material='Aluminum',thickness=None)

#InitialVelocity

p=mdb.models['Model-1'].parts['Part-1']

session.viewports['Viewport:1'].setValues(displayedObject=p)

p.InitialVelocity(name='IV-1',createStepName='Initial',region=p.sets['Set-2'],

v1=100.0,v2=0.0,v3=0.0,vr1=0.0,vr2=0.0,vr3=0.0,amplitude=UNSET,

distributionType=UNIFORM,field='',fixed=OFF)

#ContactDefinition

session.viewports['Viewport:1'].assemblyDisplay.setValues(interactions=ON)

a=mdb.models['Model-1'].rootAssembly

session.viewports['Viewport:1'].setValues(displayedObject=a)

a.ContactProperty('IntProp-1')

mdb.models['Model-1'].interactionProperties['IntProp-1'].TangentialBehavior(

formulation=FINITE,directionality=ISOTROPIC,slipRateDependency=OFF,

pressureDependency=OFF,temperatureDependency=OFF,dependencies=0,

table=((0.3,),),shearStressLimit=None,maximumElasticSlip=FRACTION,

fraction=0.005,elasticSlipStiffness=None)

a.SurfaceToSurfaceContactStd(name='Contact-1',createStepName='Initial',

master=mdb.models['Model-1'].rootAssembly.surfaces['Surface-1'],

slave=mdb.models['Model-1'].rootAssembly.surfaces['Surface-2'],

sliding=FINITE,interactionProperty='IntProp-1',thickness=ON)

#AnalysisSettings

mdb.models['Model-1'].ExplicitDynamicsStep(name='Step-1',previous='Initial',

initialInc=1e-05,maxInc=0.01,nlgeom=ON,stabilizationMethod=DAMPING_FACTOR,

stabilizationMagnitude=0.05,timePeriod=0.01,amplitude=RAMP,

delaminationControl=DEFAULT,delaminationControlType=CRACK_TIP_ENRICHMENT,

delaminationGrowthCriterion=CRACK_TIP_ENERGY,delaminationGrowthRate=DEFAULT,

delaminationGrowthRateFactor=0.001,delaminationGrowthRateExponent=1.0,

delaminationGrowthRateMax=0.001,delaminationGrowthRateMin=1e-06,

delaminationGrowthRateType=LINEAR,delaminationGrowthRateValue=0.001,

delaminationGrowthRateVariable=TIME_INCREMENT,

delaminationGrowthRateVariableExponent=1.0,

delaminationGrowthRateVariableType=LINEAR,

delaminationGrowthRateVariableValue=0.001)

#JobSubmission

mdb.Job(name='CollisionAnalysis',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='',

#ABAQUS顯式動(dòng)力學(xué)分析后處理

##結(jié)果可視化

在ABAQUS中,顯式動(dòng)力學(xué)分析的結(jié)果可視化是一個(gè)關(guān)鍵步驟,它幫助工程師理解模型在瞬態(tài)載荷下的行為。ABAQUS/CAE提供了強(qiáng)大的后處理工具,可以生成動(dòng)畫、云圖、等值線圖等,以直觀展示應(yīng)力、應(yīng)變、位移等結(jié)果。

###示例:生成位移動(dòng)畫

假設(shè)我們已經(jīng)完成了一個(gè)顯式動(dòng)力學(xué)分析,現(xiàn)在想要在ABAQUS/CAE中生成位移動(dòng)畫。

1.打開ABAQUS/CAE,加載已完成的分析結(jié)果。

2.在**歷史**菜單中選擇**顯示**->**變形**,設(shè)置**變形比例**為1,以真實(shí)比例顯示位移。

3.選擇**動(dòng)畫**->**時(shí)間**,設(shè)置動(dòng)畫的時(shí)間范圍和步長(zhǎng)。

4.點(diǎn)擊**播放**按鈕,生成位移動(dòng)畫。

##應(yīng)力應(yīng)變分析

ABAQUS的顯式動(dòng)力學(xué)分析能夠提供結(jié)構(gòu)在瞬態(tài)載荷下的應(yīng)力和應(yīng)變分布。這些數(shù)據(jù)對(duì)于評(píng)估材料的損傷和結(jié)構(gòu)的穩(wěn)定性至關(guān)重要。

###示例:提取最大主應(yīng)力

假設(shè)我們想要從ABAQUS結(jié)果中提取最大主應(yīng)力(Mises應(yīng)力)的分布。

```python

#導(dǎo)入ABAQUS后處理模塊

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

fromvisualizationimport*

#打開ODB文件

odb=openOdb('myAnalysis.rst')

#選擇要分析的步

step=odb.steps['Step-1']

#選擇要分析的幀

frame=step.frames[-1]

#選擇要分析的場(chǎng)輸出

stressField=frame.fieldOutputs['S']

#提取最大主應(yīng)力

misesStress=stressField.getScalarField(componentLabel='MISES')

#關(guān)閉ODB文件

odb.close()

#打印最大主應(yīng)力的最小值和最大值

print('MinimumMisesStress:',min(misesStress.values))

print('MaximumMisesStress:',max(misesStress.values))5.4能量與動(dòng)力響應(yīng)分析顯式動(dòng)力學(xué)分析中,能量守恒和動(dòng)力響應(yīng)是評(píng)估模型準(zhǔn)確性和性能的重要指標(biāo)。ABAQUS提供了工具來(lái)監(jiān)控和分析這些數(shù)據(jù)。5.4.1示例:提取動(dòng)能和勢(shì)能假設(shè)我們想要從ABAQUS顯式動(dòng)力學(xué)分析中提取動(dòng)能和勢(shì)能的變化。#導(dǎo)入ABAQUS后處理模塊

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

fromvisualizationimport*

#打開ODB文件

odb=openOdb('myAnalysis.rst')

#創(chuàng)建一個(gè)空列表來(lái)存儲(chǔ)能量數(shù)據(jù)

energyData=[]

#遍歷所有幀

forframeinodb.steps['Step-1'].frames:

#提取動(dòng)能和勢(shì)能

kineticEnergy=frame.historyRegions['Assembly'].historyOutputs['KINETICENERGY'].data[-1][1]

potentialEnergy=frame.historyRegions['Assembly'].historyOutputs['TOTALELASTICSTRAINENERGY'].data[-1][1]

#將能量數(shù)據(jù)添加到列表中

energyData.append((frame.frameValue,kineticEnergy,potentialEnergy))

#關(guān)閉ODB文件

odb.close()

#打印能量數(shù)據(jù)的前幾行

foriinrange(5):

print('Time:',energyData[i][0],'KineticEnergy:',energyData[i][1],'PotentialEnergy:',energyData[i][2])通過(guò)上述代碼,我們可以監(jiān)控模型在分析過(guò)程中的動(dòng)能和勢(shì)能變化,這對(duì)于理解能量分配和動(dòng)力學(xué)行為非常有幫助。6高級(jí)ABAQUS顯式動(dòng)力學(xué)分析技術(shù)6.1非線性動(dòng)力學(xué)問(wèn)題處理6.1.1原理在ABAQUS中,非線性動(dòng)力學(xué)問(wèn)題的處理主要涉及材料非線性、幾何非線性和接觸非線性。顯式動(dòng)力學(xué)分析采用Lagrangian或ArbitraryLagrangian-Eulerian(ALE)方法,通過(guò)顯式時(shí)間積分技術(shù)求解動(dòng)力學(xué)方程,特別適用于短時(shí)間、大變形和高速率的動(dòng)態(tài)問(wèn)題。6.1.2內(nèi)容材料非線性:使用Johnson-Cook模型等描述材料在高速率下的塑性行為。幾何非線性:考慮大變形和大位移對(duì)結(jié)構(gòu)行為的影響。接觸非線性:處理不同物體間的接觸,包括摩擦、間隙和碰撞。6.1.3示例假設(shè)我們有一個(gè)簡(jiǎn)單的碰撞問(wèn)題,一個(gè)金屬球以高速撞擊一個(gè)固定金屬板。我們將使用ABAQUS的Python接口來(lái)設(shè)置和運(yùn)行分析。#ABAQUSPythonScriptforNonlinearExplicitDynamicsAnalysis

fromabaqusimport*

fromabaqusConstantsimport*

fromodbAccessimport*

fromvisualizationimport*

#創(chuàng)建模型

model=mdb.models['Model-1']

#定義材料屬性

model.Material(name='Steel')

model.materials['Steel'].Density(table=((7.85e-9,),))

model.materials['Steel'].Elastic(table=((200e3,0.3),))

#Johnson-Cook模型參數(shù)

model.materials['Steel'].Plastic(table=((235,0,0,0,0),))

model.materials['Steel'].johnsonCookFlow(table=((1,0,0,0,0),))

model.materials['Steel'].johnsonCookFailure(table=((1,0,0,0,0),))

#創(chuàng)建部分

model.Part(name='Ball',dimensionality=THREE_D,type=DEFORMABLE_BODY)

model.parts['Ball'].BaseSolidSphere(radius=0.01,point=(0,0,0))

model.Part(name='Plate',dimensionality=THREE_D,type=DEFORMA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論