Fortran Coder

标题: Error: Syntax error in array constructor [打印本页]

作者: Kong    时间: 2020-7-9 09:03
标题: Error: Syntax error in array constructor
请问我这样写的数组的code哪里出问题,是(/ /)不能有两段吗?
[Fortran] 纯文本查看 复制代码

    !! metric_p(:) = h(:)
    m_p_k(:, i, j, k) = ( (/ &
    ( (1._dl - 2._dl * xi) * f_x(1, i, j, k) ** 2 - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_XX_FLD(fields_fk, 1, i, j, k) + f_x(2, i, j, k) ** 2 ) , &
    ( (1._dl - 2._dl * xi) * f_y(1, i, j, k) ** 2 - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_YY_FLD(fields_fk, 1, i, j, k) + f_y(2, i, j, k) ** 2 ) , &
    ( (1._dl - 2._dl * xi) * f_z(1, i, j, k) ** 2 - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_ZZ_FLD(fields_fk, 1, i, j, k) + f_z(2, i, j, k) ** 2 ) , &
    ( (1._dl - 2._dl * xi) * f_y(1, i, j, k) * f_z(1, i, j, k) - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_YZ_FLD(fields_fk, 1, i, j, k) + f_y(2, i, j, k) * f_z(2, i, j, k) ) , &
    ( (1._dl - 2._dl * xi) * f_x(1, i, j, k) * f_z(1, i, j, k) - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_XZ_FLD(fields_fk, 1, i, j, k) + f_x(2, i, j, k) * f_z(2, i, j, k) ) , &
    ( (1._dl - 2._dl * xi) * f_x(1, i, j, k) * f_y(1, i, j, k) - 2._dl * xi * fields_fk(1, i, j, k) * I44_D2F_XY_FLD(fields_fk, 1, i, j, k) + f_x(2, i, j, k) * f_y(2, i, j, k) ) , &
    /) &
    / (metric%dx) ** 2 / 144._dl * (2._dl / Mplsq) / (1 - xi * fields_fk(1, i, j, k) ** 2 / Mplsq) &
    -(/ &
    (2._dl * h12_xy(i, j, k) + 2._dl * h13_xz(i, j, k) - h11_yy(i, j, k) - h11_zz(i, j, k) - h22_xx(i, j, k) - h33_xx(i, j, k) ) , &
    (2._dl * h12_xy(i, j, k) + 2._dl * h23_yz(i, j, k) - h22_xx(i, j, k) - h22_zz(i, j, k) - h11_yy(i, j, k) - h33_yy(i, j, k)) , &
    (2._dl * h13_xz(i, j, k) + 2._dl * h23_yz(i, j, k) - h33_xx(i, j, k) - h33_yy(i, j, k) - h11_zz(i, j, k) - h22_zz(i, j, k)) , &
    (h12_xz(i, j, k) + h13_xy(i, j, k) - h23_xx(i, j, k) - h11_yz(i, j, k)) , &
    (h12_yz(i, j, k) + h23_xy(i, j, k) - h13_yy(i, j, k) - h22_xz(i, j, k)) , &
    (h13_yz(i, j, k) + h23_xz(i, j, k) - h12_zz(i, j, k) - h33_xy(i, j, k)) , &
    /) &
    / (metric%dx) ** 2 / 144._dl ) / ak ** 2 - 3._dl * Hk * metric_pk(:, i, j, k) + (R / 6._dl * 4._dl - 2._dl * Hk ** 2) * metric_hk(:, i, j, k)


作者: Kong    时间: 2020-7-9 09:12
原来是最后打多了两个",",打扰大家了
作者: fcode    时间: 2020-7-9 18:28
(/   /)
在目前,可以写成
[]
更美观一些。
作者: Kong    时间: 2020-7-17 11:16
fcode 发表于 2020-7-9 18:28
(/   /)
在目前,可以写成
[]

谢谢提醒!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2