请教下面fortran代码是什么意思?

force = 0.0_dp do i = 1,numnp if (id(1,i).eq.1.and.x(2,i).gt.0.0_dp) force=force-dr(1,i) enddo
2024-12-30 20:15:57
推荐回答(2个)
回答1:

.eq. 是 ==
gt 是 >=
0.0_dp 是 double precision

是if (id(1,i).eq.1.and.x(2,i).gt.0.0_dp) force=force-dr(1,i)里的条件不懂?
id(1,i).==1.and.x(2,i)>=0.0_dp
.and.两边是两个条件,只有这两个条件都满足时才是‘真’。也就是
当id(1,i)=1,x(2,i)>=0时,执行一次force=force-dr(1,i)

回答2: