for(i=0; i<=Ngroups-1; i++)//Ngroups { //printf("%d,%d,%d,%d,%d\n",i,Ngroups,Nsubgroups,Group[i].Nsubs,Group[i].LenType[4]); if(Group[i].Nsubs > 0) { offset_in_subgroup_stellar=0; for(j=offset_in_group; j<=offset_in_group+Group[i].Nsubs-1; j++) { //printf("i=%d,j=%d\n",i,j); //printf("%d,%d,%d\n",Group[i].Nsubs,Group[i].LenType[4],SubGroup[j].LenType[4]); //printf("%d,%d,%d\n",offset_in_group,offset_in_group_stellar,offset_in_subgroup_stellar); if(SubGroup[j].LenType[4] > 0) { for(k=offset_in_group_stellar+offset_in_subgroup_stellar; k<=offset_in_group_stellar+offset_in_subgroup_stellar+SubGroup[j].LenType[4]-1; k++) { //printf("k=%d\n",k); if( abs(periodic(Particle[k].Pos[0] - SubGroup[j].CM[0])) > 2*SubGroup[j].halfmassRadType[4] ) continue; if( abs(periodic(Particle[k].Pos[0] - SubGroup[j].CM[1])) > 2*SubGroup[j].halfmassRadType[4] ) continue; if( abs(periodic(Particle[k].Pos[0] - SubGroup[j].CM[2])) > 2*SubGroup[j].halfmassRadType[4] ) continue; for(N_R=0; N_R<100; N_R++) {} } offset_in_subgroup_stellar+=SubGroup[j].LenType[4]; } } offset_in_group += Group[i].Nsubs; offset_in_group_stellar += Group[i].LenType[4]; } }
时间: 2023-06-13 11:07:40 浏览: 154
Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt函数方式解析命令行参数)
这段代码主要是对不同的星系进行处理,其中包括了一些循环和判断条件。具体来说,这段代码会遍历所有的星系,然后进一步遍历每个星系中的所有亚组,最终针对每个亚组中的恒星粒子进行处理。在处理恒星粒子时,首先会检查其位置是否在亚组的半径范围内,如果在,则对其进行一些处理操作。最后,代码会更新一些偏移量,以便在下一次循环中正确处理数据。
阅读全文