找回密码
 注册
查看: 2741|回复: 2

posdat和bcdefw的链接

[复制链接]
发表于 2007-12-17 21:10:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
请问从posdat得到的温度值如何链接到bcdefw里?[br][br][以下内容由 wangling0317 在 2007年12月17日 09:26pm 时添加] [br]
[br][br][以下内容由 wangling0317 在 2007年12月17日 09:28pm 时添加] [br]
C*************************************************************************
      SUBROUTINE POSDAT(KEY,VOL,U,TE,ED,T,P,VIST,DEN,CP,VISM,CON,
     *  F,ICLMAP,ICTID,RESOR,VF,FORCB,IRN,PREFM,LEVEL)
C     Post-process data
C*************************************************************************
C--------------------------------------------------------------------------*
C     STAR VERSION 3.20.000                                                *
C--------------------------------------------------------------------------*
      INCLUDE ';comdb.inc';

      COMMON/USR001/INTFLG(100)

      DIMENSION KEY(-NBMAXU:NCTMXU),VOL(NCTMXU),U(3,-NBMAXU:NCMAXU),
     * TE(-NBMAXU:NCMAXU),ED(-NBMAXU:NCMAXU),T(-NBMAXU:NCTMXU,1+NSCU),
     * P(-NBMAXU:NCMAXU),VIST(-NBMAXU:NCMAXU),DEN(-NBMAXU:NCTMXU),
     * CP(-NBMAXU:NCTMXU),VISM(-NBMXVU:NCMXVU),CON(-NBMXCU:NCMXCU),
     * F(3,-NBMAXU:NCMAXU),ICLMAP(NCTMXU),ICTID(NCTMXU),
     * RESOR(89,-100:100),VF(NCDMXU),FORCB(3,NWLMX),IRN(NWLMX)
      DOUBLE PRECISION P
      DIMENSION PREFM(4)
      INCLUDE ';usrdat.inc';
C-------------------------------------------------------------------------*
      DIMENSION TEMP(1000)
      INTEGER M
      M=1
      IP=1
20   TEMP(M)=T(IP)
      WRITE(*,*) TEMP(M)
      M=M+1
      IP=IP+1
      IF(M.LE.1000.AND.IP.LE.1000) THEN
      GOTO 20

      ENDIF   
这样写子程序可以实现1-1000的网格单元的温度输出吗?
      RETURN
      END
发表于 2007-12-18 00:44:49 | 显示全部楼层

posdat和bcdefw的链接

不對,您寫的程式有很大的問題
1. star與prostar的網格號碼是不同的
2. 可以寫個common傳值至bcdefw
3. 要在level.eq.1或leve.eq.2中
4. do ip=1,1000,1
5. 溫度是T(ip,1)
請參考POSDAT上面的例子
 楼主| 发表于 2007-12-18 15:28:06 | 显示全部楼层

posdat和bcdefw的链接

      INCLUDE ';../parm.inc/';
      COMMON /TEMP/TEMP1(1000)
      IF (LEVEL.EQ.1) THEN
          RETURN
      ENDIF
      N=1
      DO 10 IP=1,1000,1
         TEMP1(N)=T(IP,1)
10   CONTINUE
我没找到范例
帮我改为以上程序后,还有什么错误,谢谢啦!
建立COMMON以后,是不是在BCDEFW中就可以直接调用了,还是需要加个什么调用语句?
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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