.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)