还剩4页未读,继续阅读
文本内容:
Abaqus模拟焊接一基于Fortran的热源子程序1概述Ab叫us的二次开发一般用Python,而Ab叫us中应用到的子程序(包括材料和载荷等)用Fortran编写Abaqus的子程序接口比较多,在模拟焊接时对热源的描述只能采用子程序的方式进行加载2热源焊接时的热源其实是比较复杂的,但是为了便于计算,比较常用的做法是将热源采用高斯函数的形式进行描述其形式如下,分别是直角坐标系下和极坐标系下6V3A/r,zg/z%=兀品%bc°皆哈卡}q=6lA/r0,J r7Ty[7ra bcr这个方程的坐标值是基于热源中心的坐标,热源形式如图1所示:图1热源分布3建模1Part建立一个矩形平板如图2图2Part2Property,,定义材料属性,热导率Conductuvity密度Density弹性模量Elastic,膨胀系数Expansion、塑性参数Plastic、比热容Specific HeatMaterialBehaviorsConductivityDensityElastic=Expansion LalPlastic▼[引General MechanicalThermal Electrical/Magnetic Other图3Property3Assembly建立组件4Step焊接模拟如果只求温度场,那么就建立Heat Transfer载荷步,如果需要热应力,那么就需要建立耦合分析步,Couple temp-displacement定义两个载荷步分别是焊接过程和冷却过程,同时打o开大变形Manager XNameProcedure NlgeomTime✓Initial InitialN/A N/A✓Flux Coupledtemp-displacement TramieON40✓Film Coupledtemp-displacement ijransieON3000图4Step根据需要设置Fieldoutput输出场数据和历史输出数据History Output5Interaction平板的所有表面与外界存在对流传热,需要定义对流传热属性,对流传热系数Filmcondition,定义的时候还需要指定外界的温度Name InitialFlux FilmEdit..图5InteractionCreated PropagatedMoveIMove R6LoadL_____二一——Activa焊接热源属于体热源,需要定义Body heatflux,热源只作用于第一个载荷步,体热源的Deactiv作用对象是所有的体,不单单是焊接那一部分定义热源时选择用户自定义,User-defined由子程序加载然后施加约束FieldName InitialFlux FilmVInitial TempeCreated ComputedComputed再然后通过Predefined FieldManager管理器定义初始温度Name:Initial TemperatureType:TemperatureStep:InitialEdit Predefined FieldDistribution:Direct specificationStepprocedure:Section variation:Constant throughregionPredefined Fieldtype:1图6Heat fluxMagnitude:20Predefined Fieldstatus:Create...片Region:Picked图7PredefinedField7Mesh单元类型同样根据载荷步选择,热结构耦合单元对应的CoupledTemperature-Displacement类型图8Mesh ElementType-Coupled Temperature-Displacement8Job创建Job,并且指定需要加载的用户子程序令Edit JobName:weldModel:Model-1Analysis product:Abaqus/StandardSubmission GeneralMemory ParallelizationPrecisionDescription:Preprocessor PrintoutPrintan echoof theinput dataPrint contactconstraint dataLJPrint modeldefinition dataPrint historydataScratch directory:[二?User subroutinefile:E:\CAE_Tech\process_files\Files\weld.forOK Cancel图9Job subroutine9Submit生成Input File,求解运算4用户子程序热源采用Fortran编写,主要格式如下工工SUBROUT NEDFLUXFLUX»SOL,JSTEPJ NgTIME,NOEL,NPT$COORDS,JLTYP,TEMP,PRESS,SNAMEINCLUDE ABAPARAM.INCparameterone=l.d0,three=
3.d0DIMENSION COORDS3,FLUX2,TIME2CHARACTER*80SNAMERETURN中间为过程中间为过程中间为过程end subroutineDFLUXUSTEPJINC为当前传到用户子程序的STEP和INCREMENT值;!TIME
1、TIME2为当前STEP TIME和INCREMENTTIME的值;!NOEL,NPT为积分点所在单元的编号和积分点的编号;1CORRDS为当前积分点的坐标;滁FLUX外其他都是Abaqus传到用户子程序中的通过速度、时间和坐标等即可编写具体的热源移动程序。