【发布时间】:2020-10-26 19:59:16
【问题描述】:
我很困惑fortran代码子程序中的语法如下:
subroutine X(lr_orth_response)(mesh, st, lr, omega)
type(mesh_t), intent(in) :: mesh
type(states_t), intent(in) :: st
type(lr_t), intent(inout) :: lr
R_TYPE, intent(in) :: omega
integer :: ist, ik
PUSH_SUB(X(lr_orth_response))
do ik = st%d%kpt%start, st%d%kpt%end
do ist = 1, st%nst
call X(lr_orth_vector) (mesh, st, lr%X(dl_psi)(:,:, ist, ik), ist, ik, omega)
end do
end do
POP_SUB(X(lr_orth_response))
end subroutine X(lr_orth_response)
我检查了所有 Fortran 标准,但找不到任何有用的信息!有谁知道lr_orth_response 的标签是什么?另外,通过指针访问数据在lr%X(dl_psi)(:,:, ist, ik), ist, ik, omega)这一行也有点混乱,其中lr是用户定义的新类型lr_t,但没有名为X(dl_psi)的成员函数或变量。
【问题讨论】:
标签: syntax fortran subroutine