Fortran Coder

查看: 10795|回复: 1
打印 上一主题 下一主题

[流程控制] 新人求帮助,热源模型参数循环加载问题

[复制链接]

2

帖子

2

主题

0

精华

新人

F 币
16 元
贡献
10 点
跳转到指定楼层
楼主
发表于 2014-10-8 15:41:48 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
2F 币
[Fortran] 纯文本查看 复制代码
TABLE : abc (Medium)
1 / FORTRAN
      FUNCTION F(X)
C
C   F = QC * V1 * V2 * V3 with
C   V1 = exp( -( YY-Y0-VY*TT )^2/AC^2 )
C   V2 = exp( -( XX-X0 )^2/B^2 )
C   V3 = exp( -( ZZ-Z0 )^2/C^2 )
C   if ( -YY + Y0 +VY*TT ) greater than 0
C     QC = QF et AC = AF
C   else
C     QC = QR et AC = AR
C
      DIMENSION X(4)
C
C Input
C
      XX = X(1)   ; X Coordinate
      YY = X(2)   ; Y Coordinate
      ZZ = X(3)   ; Z Coordinate
      TT = X(4)   ; Time
C
C Variables
C
      QF = 72.1725997925    ; Maximal front source intensity
      QR = 36.0862998962    ; Maximal rear  source intensity
      AF = 3    ; Gaussian parameter
      AR = 4    ; Gaussian parameter
      B  = 2    ; Gaussian parameter
      C  = 3    ; Gaussian parameter
      X0 = 0    ; X initial location of source center
      Y0 = 0    ; Y initial location of source center
      Z0 = 0   ; Z initial location of source center
      VY = 0   ; Source displacement velocity
      AY = 0    ; Angle of torch [deg.]
C
C Constant
C
      M1 = -1
      PIDEG = ATAN(1.)
      PIDEG = PIDEG / 45.
      AY = AY * PIDEG
C
C Transformation of global to local coordinates
C
      XD   = XX - X0
      YD   = VY * TT
      YD   = YD + Y0
      ZD   = ZZ - Z0
C
C Source rotation about Y axis 
C
      SA   = SIN( AY )
      SA   = - SA
      CA   = COS( AY )
      A1   = XD * CA
      A2   = ZD * SA
      XL   = A1 + A2
      YL   = YY - YD
      A1   = ZD * CA
      A2   = XD * SA
      ZL   = A1 - A2
C
C Condition computation, QC and AC initialisation
C
      COND = VY * YL
      IF (VY .EQ. 0.) COND = YL
      QC   = QR
      AC   = AR
      IF( COND .GT. 0. ) QC = QF
      IF( COND .GT. 0. ) AC = AF
C
C V1 computation
C
      A1   = YL * YL
      A2   = AC * AC
      A2   = A1 / A2
      A2   = M1 * A2
      V1   = EXP( A2 )
C
C V2 computation
C
      A1   = XL * XL
      A2   = B * B
      A2   = A1 / A2
      A2   = M1 * A2
      V2   = EXP( A2 )
C
C V3 computation
C
      A1   = ZL * ZL
      A2   = C * C
      A2   = A1 / A2
      A2   = M1 * A2
      V3   = EXP( A2 )
C
C F computation
C
      F    = QC * V1
      F    = F * V2
      F    = F * V3
C
      RETURN
      END
FIN TABLE


这是一个双椭球体热源模型,我是用来模焊接过程用的,C Variables下面的那些参数就是双椭球的参数,我想再弄另一组双椭球的参数,让这个程序在第一组参数下运行19ms,然后换到第二组参数下运行4ms,再换到第一组参数下运行19ms,一直循环下去,实现循环加载。

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-10 18:23

Powered by Tencent X3.4

© 2013-2024 Tencent

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