找回密码
 注册
Simdroid-非首页
查看: 135|回复: 0

[子程序/二次开发] 采用该子程序计算

[复制链接]
发表于 2017-12-9 16:43:54 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 51465 于 2017-12-9 16:45 编辑

      subroutine flux(f,temflu,mibody,time)
      include 'C:\MSC.Software\Marc\2013.0.0\marc2013\common\implicit'
      include 'C:\MSC.Software\Marc\2013.0.0\marc2013\common\bclabel'
      dimension f(2),mibody(*),temflu(*)
c* * * * * *
c
c     user subroutine for non-uniform flux input.
c
c     f(1)         flux value (to be defined)
c     f(2)         derivative of flux with respect to temperature
c                  (to be defined; optional, this might improve the
c                   convergence behavior)
c
c     temflu(1)    estimated temperature
c     temflu(2)    previous volumetric flux
c     temflu(3)    temperature at beginning of increment
c     temflu(4,5,6)integration point coordinates
c     mibody(1)    element number
c     mibody(2)    flux type
c     mibody(3)    integration point number
c     mibody(4)    flux index
c     mibody(5)    not used
c     mibody(6)    =1 : heat transfer
c                  =2 : joule
c                  =3 : bearing
c                  =4 : electrostatic
c                  =5 : magnetostatic
c                  =6 : acoustic
c     mibody(8)    layer number for heat transfer shells elements
c                  and volume flux
c     time         time
c
c* * * * * *
      real a,Qs,rs,pi,Qv,H,b,rv,Q,aa,x0,y0,z0
c     Qs为面热源功率, a为面热源能量集中系数,rs为面热源作用范围
c     Qv为体热源功率,H为体热源深度,b为体热源能量衰减系数,rv为体热源有效作用半径
c     Q为热源功率,aa为热源有效吸收系数,(x0,y0,z0)为当前热源中心位置
        Q=7140765;        
        aa=0.8;        Qs=Q*aa*0.806;        Qv=Q-Qs
        a=3;        rs=6        
        H=2.78;        b=1;        rv=2.5
        x0=50;        y0=100/60*time;        z0=4
        pi=3.14        
        OPEN(UNIT=10,FILE='text.txt')
      WRITE(10,*) MIBODY(2)


        if (mibody(2).eq.3) then
            d1=(temflu(4)-x0)**2+(temflu(5)-y0)**2              
                if(d1.le.2.5**2)  then
                        f(1)=Qv/(pi*rv*rv*H)       //搅拌针体热源密度

                end if
        end if
        if (mibody(2).eq.6) then
        d1=(temflu(4)-x0)**2+(temflu(5)-y0)**2
                if(d1.gt.2.5**2.and.d1.le.6**2)  then
                        f(1)=3*Qs*sqrt(d1)/(2*pi*(rs-rv))   //轴肩面热源密度
                end if
        end if
        return
      end

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-27 04:56 , Processed in 0.029122 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表