void Gen_Soft_Dihedral_List_MD_High_T(void) { int Step, Idx, RecIdx, iPos, ia, ib, ic, id; Mol.Init_LangevinDynamics(T_Sim); nDihedral = Mol.nDihedral; for(Step=1; Step<=MAX_STEP; Step++) { Mol.LangevinDynamics(Step); if(Step%GAP==0) { RecIdx = Step/GAP - 1; for(Idx=0; Idx<nDihedral; Idx++) { dih_List[RecIdx][Idx] = Mol.dih_Phi_List[Idx]; } } } Cal_Sig(); Cal_Sig_Shift_PI2(); n_Soft_Dih = 0; for(Idx=0; Idx<nDihedral; Idx++) { if(IsRigidDih[Idx] == 0) { iPos = Idx*4; ia = Mol.DihedralList[iPos ]; ib = Mol.DihedralList[iPos+1]; ic = Mol.DihedralList[iPos+2]; id = Mol.DihedralList[iPos+3]; if(ib <= ic) { if(!Is_In_Soft_Dihedral_List(ib, ic)) { Dih_Bond[n_Soft_Dih][0] = ia; Dih_Bond[n_Soft_Dih][1] = ib; Dih_Bond[n_Soft_Dih][2] = ic; Dih_Bond[n_Soft_Dih][3] = id; n_Soft_Dih++; printf("%3d %3d %3d %3d \n", Mol.DihedralList[iPos]+1, Mol.DihedralList[iPos+1]+1, Mol.DihedralList[iPos+2]+1, Mol.DihedralList[iPos+3]+1); } } else { if(!Is_In_Soft_Dihedral_List(ic, ib)) { Dih_Bond[n_Soft_Dih][0] = id; Dih_Bond[n_Soft_Dih][1] = ic; Dih_Bond[n_Soft_Dih][2] = ib; Dih_Bond[n_Soft_Dih][3] = ia; n_Soft_Dih++; printf("%3d %3d %3d %3d \n", Mol.DihedralList[iPos]+1, Mol.DihedralList[iPos+1]+1, Mol.DihedralList[iPos+2]+1, Mol.DihedralList[iPos+3]+1); } } } } }