特定工况(如高温拉伸、疲劳加载) 或特定材料(如钛合金 HCP)_第1页
特定工况(如高温拉伸、疲劳加载) 或特定材料(如钛合金 HCP)_第2页
特定工况(如高温拉伸、疲劳加载) 或特定材料(如钛合金 HCP)_第3页
特定工况(如高温拉伸、疲劳加载) 或特定材料(如钛合金 HCP)_第4页
特定工况(如高温拉伸、疲劳加载) 或特定材料(如钛合金 HCP)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

特定工况(如高温拉伸、疲劳加载)

或特定材料(如钛合金HCP)一、钛合金HCP晶体适配(α-Ti,六方晶系)HCP晶体(如α-Ti)的滑移系以{0001}<11-20>(基面滑移,6个)和{10-10}<11-20>(柱面滑移,6个)为主,共12个主要滑移系,以下是核心适配模块:1.HCP材料参数(PROPS输入)PROPS序号参数名物理意义示例值(α-Ti)1-6C11,C12,C13,C14,C33,C44六方晶系弹性常数(GPa)162,92,69,0,181,467dot_gamma0参考剪切应变率1.0e-48m应变率敏感指数10.09tau_c0_base基面初始临界分切应力(MPa)15.010tau_c0_prism柱面初始临界分切应力(MPa)60.011h_ii_base基面自硬化系数300.012h_ii_prism柱面自硬化系数500.013h_ij潜硬化系数100.02.HCP滑移系施密特矩阵初始化fortran!子程序:初始化HCP{0001}<11-20>+{10-10}<11-20>滑移系施密特矩阵SUBROUTINEINIT_SCHMID_HCP(schmid,NS)INTEGER,INTENT(IN)::NSREAL*8,INTENT(OUT)::schmid(NS,6)!HCP晶胞参数(α-Ti:a=2.95Å,c=4.68Å,c/a=1.586)REAL*8::c_a=1.586D0,sqrt3=SQRT(3.0D0)REAL*8::base_plane(6,3),base_dir(6,3),prism_plane(6,3),prism_dir(6,3)REAL*8::m_vec(3),n_vec(3),schmid_factor(6)INTEGER::i,alpha!1.基面{0001}滑移系(6个)base_plane(:,1:3)=[0.0D0,0.0D0,1.0D0]!基面法向量(0001)!基面滑移方向<11-20>(6个)base_dir(1,:)=[1.0D0,1.0D0,0.0D0]/sqrt3![11-20]base_dir(2,:)=[1.0D0,0.0D0,-1.0D0]/sqrt3![10-10]base_dir(3,:)=[0.0D0,1.0D0,-1.0D0]/sqrt3![01-10]base_dir(4,:)=[-1.0D0,-1.0D0,0.0D0]/sqrt3![-1-120]base_dir(5,:)=[-1.0D0,0.0D0,1.0D0]/sqrt3![-1010]base_dir(6,:)=[0.0D0,-1.0D0,1.0D0]/sqrt3![0-110]!2.柱面{10-10}滑移系(6个)prism_plane(1,:)=[1.0D0,0.0D0,-1.0D0]/sqrt3!(10-10)prism_plane(2,:)=[0.0D0,1.0D0,-1.0D0]/sqrt3!(01-10)prism_plane(3,:)=[-1.0D0,1.0D0,0.0D0]/sqrt3!(-1100)prism_plane(4,:)=[-1.0D0,0.0D0,1.0D0]/sqrt3!(-1010)prism_plane(5,:)=[0.0D0,-1.0D0,1.0D0]/sqrt3!(0-110)prism_plane(6,:)=[1.0D0,-1.0D0,0.0D0]/sqrt3!(1-100)prism_dir=base_dir!柱面滑移方向同基面<11-20>!3.计算施密特因子(基面:1-6,柱面:7-12)!基面滑移系DOi=1,6alpha=in_vec=base_plane(i,:)m_vec=base_dir(i,:)schmid_factor(1)=m_vec(1)*n_vec(1)schmid_factor(2)=m_vec(2)*n_vec(2)schmid_factor(3)=m_vec(3)*n_vec(3)schmid_factor(4)=m_vec(2)*n_vec(3)+m_vec(3)*n_vec(2)schmid_factor(5)=m_vec(1)*n_vec(3)+m_vec(3)*n_vec(1)schmid_factor(6)=m_vec(1)*n_vec(2)+m_vec(2)*n_vec(1)schmid(alpha,:)=schmid_factor/2.0D0ENDDO!柱面滑移系DOi=1,6alpha=i+6n_vec=prism_plane(i,:)m_vec=prism_dir(i,:)schmid_factor(1)=m_vec(1)*n_vec(1)schmid_factor(2)=m_vec(2)*n_vec(2)schmid_factor(3)=m_vec(3)*n_vec(3)schmid_factor(4)=m_vec(2)*n_vec(3)+m_vec(3)*n_vec(2)schmid_factor(5)=m_vec(1)*n_vec(3)+m_vec(3)*n_vec(1)schmid_factor(6)=m_vec(1)*n_vec(2)+m_vec(2)*n_vec(1)schmid(alpha,:)=schmid_factor/2.0D0ENDDOENDSUBROUTINEINIT_SCHMID_HCP3.HCP弹性刚度矩阵构建fortran!构建HCP六方晶系弹性刚度矩阵(Voigt形式)C_elastic=0.0D0C_elastic(1,1)=PROPS(1)*1000.0D0!C11(MPa)C_elastic(2,2)=PROPS(1)*1000.0D0!C11C_elastic(3,3)=PROPS(5)*1000.0D0!C33C_elastic(1,2)=PROPS(2)*1000.0D0!C12C_elastic(2,1)=PROPS(2)*1000.0D0!C12C_elastic(1,3)=PROPS(3)*1000.0D0!C13C_elastic(3,1)=PROPS(3)*1000.0D0!C13C_elastic(2,3)=PROPS(3)*1000.0D0!C13C_elastic(3,2)=PROPS(3)*1000.0D0!C13C_elastic(4,4)=PROPS(6)*1000.0D0!C44C_elastic(5,5)=PROPS(6)*1000.0D0!C44C_elastic(6,6)=(PROPS(1)-PROPS(2))/2.0D0*1000.0D0!C66=(C11-C12)/2二、高温拉伸工况适配(α-Ti,600℃)1.热耦合硬化模型升级(饱和硬化+温度依赖)fortran!步骤7:温度依赖的饱和硬化模型(替换线性硬化)REAL*8::T_current,tau_cs_base,tau_cs_prism,h_base,h_prismREAL*8::Q_base,Q_prism,T_ref,R!读取热硬化参数(PROPS新增14-17)tau_cs_base=PROPS(14)!基面饱和临界分切应力(MPa)tau_cs_prism=PROPS(15)!柱面饱和临界分切应力(MPa)Q_base=PROPS(16)*1000.0D0!基面激活能(J/mol)Q_prism=PROPS(17)*1000.0D0!柱面激活能(J/mol)T_ref=298.0D0!参考温度(K)R=8.314D0!气体常数T_current=TEMP!当前温度(K)!温度修正饱和临界分切应力tau_cs_base=tau_cs_base*EXP(-Q_base/(R*T_current)+Q_base/(R*T_ref))tau_cs_prism=tau_cs_prism*EXP(-Q_prism/(R*T_current)+Q_prism/(R*T_ref))!更新临界分切应力(饱和硬化)DOalpha=1,NSYSTEMIF(alpha.LE.6)THEN!基面滑移系h_base=PROPS(11)!h_ii_basetau_c(alpha)=tau_cs_base-(tau_cs_base-PROPS(9))*EXP(-h_base*gamma(alpha))ELSE!柱面滑移系h_prism=PROPS(12)!h_ii_prismtau_c(alpha)=tau_cs_prism-(tau_cs_prism-PROPS(10))*EXP(-h_prism*gamma(alpha))ENDIF!潜硬化叠加DOj=1,NSYSTEMIF(alpha.NE.j)THENtau_c(alpha)=tau_c(alpha)+PROPS(13)*ABS(d_gamma(j))ENDIFENDDOENDDO2.Abaqus/CAE高温拉伸操作步骤步骤1:创建多晶体模型(Neper+Abaqus)用Neper生成α-Ti多晶体RVE模型:bash运行neper-T-n100-id1-regularization1-opoly_ti#100个晶粒neper-Vpoly_ti.tess-formatabaqus-opoly_ti.inp#导出Abaqus格式在Abaqus/CAE中导入poly_ti.inp,分配晶粒欧拉角(Neper输出的poly_ti.ori文件):进入Property模块,创建ORIENTATION,输入每个晶粒的欧拉角(φ1,Φ,φ2);为每个单元(晶粒)分配对应的取向。步骤2:定义热耦合材料属性进入Property模块,创建UserMaterial,输入PROPS参数(共17个,含HCP弹性、滑移、热硬化参数);关联UMAT子程序(umat_hcp_ti.f90);定义热膨胀系数(α-Ti:600℃时热膨胀系数≈10.5e-6/K)。步骤3:设置高温拉伸分析步进入Step模块,创建Static,General分析步,勾选“Coupledtemperature-displacement”;设置分析步参数:时间总长:100s(对应应变速率1e-3/s);自动步长:最小步长1e-5,最大步长1e-2;输出变量:应力(S)、应变(E)、温度(T)、状态变量(SDV)。步骤4:施加边界条件与载荷温度载荷:在Load模块,施加Temperature边界,设置升温速率5K/s,最终温度873K(600℃);位移载荷:约束RVE模型的刚体位移(如固定X/Y/Z平动,释放拉伸方向),在拉伸方向(Z轴)施加位移载荷(总位移=RVE边长×0.1,对应10%应变)。步骤5:提交作业与编译进入Job模块,创建作业,设置编译器:bash运行abaqusjob=ti_hcp_hightempinput=poly_ti.inpuser=umat_hcp_ti.f90-fortlib=/opt/intel/mkl/lib/intel64提交作业,查看.msg文件排查编译/收敛错误。三、后处理关键操作(提取高温拉伸结果)进入Visualization模块,提取以下结果:应力应变曲线:路径Tools→XYData→Create→Path,选择拉伸方向的积分点,提取S33-E33曲线;滑移系激活:查看状态变量SDV1-12(各滑移系累积剪切应变),基面滑移系(SDV1-6)应优先激活;温度分布:绘制温度云图,确认600℃均匀分布;晶粒取向演化:通过IPF(InversePoleFigure)图查看拉伸后晶粒取向旋转。结果校准:若模拟曲线与实验偏差大,调整以下参数:降低/提高基面临界分切应力(tau_c0_base),匹配屈服强度;调整饱和硬化系数(h_base),匹配加工硬化率;修正激活能(Q_base),匹配600℃的软化程度。四、完整UMAT文件(HCP钛合金高温拉伸)fortran!UMATforHCPTi(α-Ti)high-temperaturetension(600℃)INCLUDE'ABA_PARAM.INC'SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,1DDSDDT,DRPLDE,DRPLDT,2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)!变量声明REAL*8,PARAMETER::PI=3.141592653589793D0INTEGER,PARAMETER::NSYSTEM=12!HCP12个滑移系REAL*8::C_elastic(6,6),schmid(NSYSTEM,6),tau(NSYSTEM),dot_gamma(NSYSTEM)REAL*8::tau_c(NSYSTEM),gamma(NSYSTEM),d_gamma(NSYSTEM),L_p(6,6),D_ep(6,6)REAL*8::C_elastic_inv(6,6),T_current,tau_cs_base,tau_cs_prismREAL*8::Q_base,Q_prism,T_ref,R,h_base,h_prismINTEGER::i,j,alpha!步骤1:读取PROPS参数!PROPS(1-6):C11,C12,C13,C14,C33,C44(GPa)!PROPS(7):dot_gamma0,PROPS(8):m!PROPS(9):tau_c0_base,PROPS(10):tau_c0_prism!PROPS(11):h_ii_base,PROPS(12):h_ii_prism,PROPS(13):h_ij!PROPS(14):tau_cs_base,PROPS(15):tau_cs_prism!PROPS(16):Q_base,PROPS(17):Q_prismT_ref=298.0D0R=8.314D0T_current=TEMP!步骤2:初始化状态变量(gamma:SDV1-12,tau_c:SDV13-24)IF(KINC.EQ.1.AND.JSTEP.EQ.1)THENDOalpha=1,NSYSTEMSTATEV(alpha)=0.0D0IF(alpha.LE.6)THENSTATEV(alpha+NSYSTEM)=PROPS(9)!基面初始tau_cELSESTATEV(alpha+NSYSTEM)=PROPS(10)!柱面初始tau_cENDIFENDDOENDIFDOalpha=1,NSYSTEMgamma(alpha)=STATEV(alpha)tau_c(alpha)=STATEV(alpha+NSYSTEM)ENDDO!步骤3:构建HCP弹性刚度矩阵CALLBUILD_C_ELASTIC_HCP(PROPS,C_elastic)!步骤4:初始化HCP施密特矩阵CALLINIT_SCHMID_HCP(schmid,NSYSTEM)!步骤5:计算分切应力DOalpha=1,NSYSTEMtau(alpha)=DOT_PRODUCT(schmid(alpha,:),STRESS(1:6))ENDDO!步骤6:计算剪切应变率(幂律模型)DOalpha=1,NSYSTEMIF(ABS(tau_c(alpha)).LT.1e-6)THENdot_gamma(alpha)=0.0D0ELSEdot_gamma(alpha)=PROPS(7)*(ABS(tau(alpha)/tau_c(alpha)))**(1.0D0/PROPS(8))1*SIGN(1.0D0,tau(alpha))ENDIFd_gamma(alpha)=dot_gamma(alpha)*DTIMEENDDO!步骤7:温度依赖的饱和硬化tau_cs_base=PROPS(14)*EXP(-PROPS(16)*1000.0D0/(R*T_current)+PROPS(16)*1000.0D0/(R*T_ref))tau_cs_prism=PROPS(15)*EXP(-PROPS(17)*1000.0D0/(R*T_current)+PROPS(17)*1000.0D0/(R*T_ref))DOalpha=1,NSYSTEMIF(alpha.LE.6)THENh_base=PROPS(11)tau_c(alpha)=tau_cs_base-(tau_cs_base-PROPS(9))*EXP(-h_base*gamma(alpha))ELSEh_prism=PROPS(12)tau_c(alpha)=tau_cs_prism-(tau_cs_prism-PROPS(10))*EXP(-h_prism*gamma(alpha))ENDIF!潜硬化DOj=1,NSYSTEMIF(alpha.NE.j)tau_c(alpha)=tau_c(alpha)+PROPS(13)*ABS(d_gamma(j))ENDDOENDIF!步骤8:构建塑性本构矩阵L_p=0.0D0DOalpha=1,NSYSTEMIF(ABS(tau_c(alpha)).GT.1e-6)THENDOi=1,6DOj=1,6L_p(i,j)=L_p(i,j)+schmid(alpha,i)*schmid(alpha,j)*dot_gamma(alpha)/tau_c(alpha)ENDDOENDDOENDIFENDDO!步骤9:弹塑性切线刚度矩阵CALLINV_MATRIX_6X6(C_elastic,C_elastic_inv)D_ep=C_elastic_inv+L_pCALLINV_MATRIX_6X6(D_ep,DDSDDE)!步骤10:更新应力和状态变量DOi=1,6STRESS(i)=STRESS(i)+MATMUL(DDSDDE(i,:),DSTRAN(1:6))ENDDODOalpha=1,NSYSTEMSTATEV(alpha)=gamma(alpha)+d_gamma(alpha)STATEV(alpha+NSYSTEM)=tau_c(alpha)ENDDORETURNENDSUBROUTINEU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论