916115735 发表于 2020-11-3 10:47:41

数据传输

关于数据传输问题迫于其他要求,要根据COMMON对数据传输,传输的每个量在每个增量步后都进行更新,但是传输的量只是最后一次计算完成的量,
如图所示 ,温度传输最后传递的是最底层的温度
该怎么解决 SUBROUTINE UMATHT_MAT1(U,DUDT,DUDG,FLUX,DFDT,DFDG,

   1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,
   2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,
   3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),
   1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),
   2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)
C
      REAL rho_v, rho_f, phi_v, phi_f, A, E, n, R, h_s, h_g
   1 rho, M, delta_rho, f, Cv, Cf, Cp, Cpg, phi, mg,m_g
   2 delta_U, V, kv, kv2, kf, Qi, rho_g, rho_pro, kv1, kf1
   3 miu
      REAL k(3), DkDT(3), PRE(3), GAMA(3)
C   -------------------------------------------
C   定义公共块
      COMMON X, Z, W, B, BA
      REAL X, Z, W, B, BA
C 第二个程序
SUBROUTINE UMATHT_MAT2(U,DUDT,DUDG,FLUX,DFDT,DFDG,
   1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,
   2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,
   3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),
   1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),
   2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)
C
      REAL rho_v, rho_f, phi_v, phi_f, A, E, n, R, m_g,
   1 rho, M, delta_rho, f, Cv, Cf, Cp, Cpg, phi, delta_mg,
   2 delta_U, V, kv, kf, rho_g, rho_pro, kv1, kf1,
   3 miu,delta_rhog
      REAL GAMA(3)
C   
      COMMON L, K, S, NN, BBA
      REAL L, K, S, NN, BBA

fcode 发表于 2020-11-3 11:04:11

老生常谈,建议用 module 代替 common

916115735 发表于 2020-11-3 11:37:04

fcode 发表于 2020-11-3 11:04
老生常谈,建议用 module 代替 common

我看了很多帖子都这么说的 但是老板就是想用COMMON 没办法
请问有什么解决思路么

fcode 发表于 2020-11-3 13:13:03

换一个老板

916115735 发表于 2020-11-3 14:39:50

fcode 发表于 2020-11-3 13:13
换一个老板

:-L:-L那可就毕不了业了
页: [1]
查看完整版本: 数据传输