⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modslave.c

📁 su 的源代码库
💻 C
📖 第 1 页 / 共 4 页
字号:
      /* computing phase-shift matrix */      wThick.r = wC.r * (-2 * thick[iL]);      wThick.i = wC.i * (-2 * thick[iL]);      /* cexp (amI * wThick) */      auxm1 = amI.r * wThick.r - amI.i * wThick.i;      auxm2 = amI.r * wThick.i + amI.i * wThick.r;      E[0][0].r = exp(auxm1) * cos(auxm2);      E[0][0].i = exp(auxm1) * sin(auxm2);      /* cexp((amI + bmI) * (wThick * .5)) */      auxm1 = amI.r + bmI.r;      auxm2 = amI.i + bmI.i;      auxm3 = .5 * (auxm1 * wThick.r - auxm2 * wThick.i);      auxm4 = .5 * (auxm1 * wThick.i + auxm2 * wThick.r);      E[0][1].r = exp(auxm3) * cos(auxm4);      E[0][1].i = exp(auxm3) * sin(auxm4);      E[1][0] = E[0][1];      /* cexp (bmI * wThick) */      auxm1 = bmI.r * wThick.r - bmI.i * wThick.i;      auxm2 = bmI.r * wThick.i + bmI.i * wThick.r;      E[1][1].r = exp(auxm1) * cos(auxm2);      E[1][1].i = exp(auxm1) * sin(auxm2);	      /* applying phase-shift */      mT[0][0].r = mB[0][0].r * E[0][0].r - mB[0][0].i * E[0][0].i;      mT[0][0].i = mB[0][0].r * E[0][0].i + mB[0][0].i * E[0][0].r;      mT[0][1].r = mB[0][1].r * E[0][1].r - mB[0][1].i * E[0][1].i;      mT[0][1].i = mB[0][1].r * E[0][1].i + mB[0][1].i * E[0][1].r;      mT[1][0].r = mB[1][0].r * E[1][0].r - mB[1][0].i * E[1][0].i;      mT[1][0].i = mB[1][0].r * E[1][0].i + mB[1][0].i * E[1][0].r;      mT[1][1].r = mB[1][1].r * E[1][1].r - mB[1][1].i * E[1][1].i;      mT[1][1].i = mB[1][1].r * E[1][1].i + mB[1][1].i * E[1][1].r;      /* bottom-layer matrix - need a sequence of Ref and TRANS coeff. */      RTd(iL - 1, iL);      rD[0][0] = coeffD[0]; rD[0][1] = coeffD[1];       rD[1][0] = coeffD[2]; rD[1][1] = coeffD[3];            tD[0][0] = coeffD[4]; tD[0][1] = coeffD[5];       tD[1][0] = coeffD[6]; tD[1][1] = coeffD[7];      /* computing mT * tD */      mTtD[0][0].r = mT[0][0].r * tD[0][0].r - mT[0][0].i * tD[0][0].i	           + mT[0][1].r * tD[1][0].r - mT[0][1].i * tD[1][0].i;      mTtD[0][0].i = mT[0][0].r * tD[0][0].i + mT[0][0].i * tD[0][0].r	           + mT[0][1].r * tD[1][0].i + mT[0][1].i * tD[1][0].r;      mTtD[0][1].r = mT[0][0].r * tD[0][1].r - mT[0][0].i * tD[0][1].i	           + mT[0][1].r * tD[1][1].r - mT[0][1].i * tD[1][1].i;      mTtD[0][1].i = mT[0][0].r * tD[0][1].i + mT[0][0].i * tD[0][1].r	           + mT[0][1].r * tD[1][1].i + mT[0][1].i * tD[1][1].r;      mTtD[1][0].r = mT[1][0].r * tD[0][0].r - mT[1][0].i * tD[0][0].i                   + mT[1][1].r * tD[1][0].r - mT[1][1].i * tD[1][0].i;      mTtD[1][0].i = mT[1][0].r * tD[0][0].i + mT[1][0].i * tD[0][0].r      	           + mT[1][1].r * tD[1][0].i + mT[1][1].i * tD[1][0].r;      mTtD[1][1].r = mT[1][0].r * tD[0][1].r - mT[1][0].i * tD[0][1].i      	           + mT[1][1].r * tD[1][1].r - mT[1][1].i * tD[1][1].i;      mTtD[1][1].i = mT[1][0].r * tD[0][1].i + mT[1][0].i * tD[0][1].r      	           + mT[1][1].r * tD[1][1].i + mT[1][1].i * tD[1][1].r;      RTu(iL - 1, iL);      rU[0][0] = coeffU[0]; rU[0][1] = coeffU[1];       rU[1][0] = coeffU[2]; rU[1][1] = coeffU[3];            tU[0][0] = coeffU[4]; tU[0][1] = coeffU[5];       tU[1][0] = coeffU[6]; tU[1][1] = coeffU[7];      /* inv = (I - mT * rU)^-1 */      auxm1 = mT[0][0].r * rU[0][0].r - mT[0][0].i * rU[0][0].i;      auxm2 = mT[0][0].r * rU[0][0].i + mT[0][0].i * rU[0][0].r;      auxm3 = mT[0][1].r * rU[1][0].r - mT[0][1].i * rU[1][0].i;      auxm4 = mT[0][1].r * rU[1][0].i + mT[0][1].i * rU[1][0].r;      mAux[0][0].r = 1 - (auxm1 + auxm3);      mAux[0][0].i = - (auxm2 + auxm4);      auxm1 = mT[0][0].r * rU[0][1].r - mT[0][0].i * rU[0][1].i;      auxm2 = mT[0][0].r * rU[0][1].i + mT[0][0].i * rU[0][1].r;      auxm3 = mT[0][1].r * rU[1][1].r - mT[0][1].i * rU[1][1].i;      auxm4 = mT[0][1].r * rU[1][1].i + mT[0][1].i * rU[1][1].r;      mAux[0][1].r = - (auxm1 + auxm3);      mAux[0][1].i = - (auxm2 + auxm4);      auxm1 = mT[1][0].r * rU[0][0].r - mT[1][0].i * rU[0][0].i;      auxm2 = mT[1][0].r * rU[0][0].i + mT[1][0].i * rU[0][0].r;      auxm3 = mT[1][1].r * rU[1][0].r - mT[1][1].i * rU[1][0].i;      auxm4 = mT[1][1].r * rU[1][0].i + mT[1][1].i * rU[1][0].r;      mAux[1][0].r = - (auxm1 + auxm3);      mAux[1][0].i = - (auxm2 + auxm4);      auxm1 = mT[1][0].r * rU[0][1].r - mT[1][0].i * rU[0][1].i;      auxm2 = mT[1][0].r * rU[0][1].i + mT[1][0].i * rU[0][1].r;      auxm3 = mT[1][1].r * rU[1][1].r - mT[1][1].i * rU[1][1].i;      auxm4 = mT[1][1].r * rU[1][1].i + mT[1][1].i * rU[1][1].r;      mAux[1][1].r = 1 - (auxm1 + auxm3);      mAux[1][1].i = - (auxm2 + auxm4);      /* inverting */      auxm1 = mAux[0][0].r * mAux[1][1].r - mAux[0][0].i * mAux[1][1].i;      auxm2 = mAux[0][0].r * mAux[1][1].i + mAux[0][0].i * mAux[1][1].r;      auxm3 = mAux[0][1].r * mAux[1][0].r - mAux[0][1].i * mAux[1][0].i;      auxm4 = mAux[0][1].r * mAux[1][0].i + mAux[0][1].i * mAux[1][0].r;      aux1.r = auxm1 - auxm3;      aux1.i = auxm2 - auxm4;      /* 1 / aux1 */      aux = aux1.r * aux1.r + aux1.i * aux1.i;      aux1.r = aux1.r / aux;      aux1.i = -aux1.i / aux;      inv[0][0].r = mAux[1][1].r * aux1.r - mAux[1][1].i * aux1.i;      inv[0][0].i = mAux[1][1].r * aux1.i + mAux[1][1].i * aux1.r;      inv[0][1].r = -1 * (mAux[0][1].r * aux1.r - mAux[0][1].i * aux1.i);      inv[0][1].i = -1 * (mAux[0][1].r * aux1.i + mAux[0][1].i * aux1.r);      inv[1][0].r = -1 * (mAux[1][0].r * aux1.r - mAux[1][0].i * aux1.i);      inv[1][0].i = -1 * (mAux[1][0].r * aux1.i + mAux[1][0].i * aux1.r);      inv[1][1].r = mAux[0][0].r * aux1.r - mAux[0][0].i * aux1.i;      inv[1][1].i = mAux[0][0].r * aux1.i + mAux[0][0].i * aux1.r;            /* computing tU * inv */      tUinv[0][0].r = tU[0][0].r * inv[0][0].r - tU[0][0].i * inv[0][0].i  	            + tU[0][1].r * inv[1][0].r - tU[0][1].i * inv[1][0].i;      tUinv[0][0].i = tU[0][0].r * inv[0][0].i + tU[0][0].i * inv[0][0].r	            + tU[0][1].r * inv[1][0].i + tU[0][1].i * inv[1][0].r;      tUinv[0][1].r = tU[0][0].r * inv[0][1].r - tU[0][0].i * inv[0][1].i	            + tU[0][1].r * inv[1][1].r - tU[0][1].i * inv[1][1].i;      tUinv[0][1].i = tU[0][0].r * inv[0][1].i + tU[0][0].i * inv[0][1].r	            + tU[0][1].r * inv[1][1].i + tU[0][1].i * inv[1][1].r;      tUinv[1][0].r = tU[1][0].r * inv[0][0].r - tU[1][0].i * inv[0][0].i                    + tU[1][1].r * inv[1][0].r - tU[1][1].i * inv[1][0].i;      tUinv[1][0].i = tU[1][0].r * inv[0][0].i + tU[1][0].i * inv[0][0].r      	            + tU[1][1].r * inv[1][0].i + tU[1][1].i * inv[1][0].r;      tUinv[1][1].r = tU[1][0].r * inv[0][1].r - tU[1][0].i * inv[0][1].i      	            + tU[1][1].r * inv[1][1].r - tU[1][1].i * inv[1][1].i;      tUinv[1][1].i = tU[1][0].r * inv[0][1].i + tU[1][0].i * inv[0][1].r      	            + tU[1][1].r * inv[1][1].i + tU[1][1].i * inv[1][1].r;            /* finally the matrix */      auxm1 = mTtD[0][0].r * tUinv[0][0].r - mTtD[0][0].i * tUinv[0][0].i;      auxm2 = mTtD[0][0].r * tUinv[0][0].i + mTtD[0][0].i * tUinv[0][0].r;      auxm3 = mTtD[1][0].r * tUinv[0][1].r - mTtD[1][0].i * tUinv[0][1].i;      auxm4 = mTtD[1][0].r * tUinv[0][1].i + mTtD[1][0].i * tUinv[0][1].r;      mB[0][0].r = rD[0][0].r + (auxm1 + auxm3);      mB[0][0].i = rD[0][0].i + (auxm2 + auxm4);      auxm1 = mTtD[0][1].r * tUinv[0][0].r - mTtD[0][1].i * tUinv[0][0].i;      auxm2 = mTtD[0][1].r * tUinv[0][0].i + mTtD[0][1].i * tUinv[0][0].r;      auxm3 = mTtD[1][1].r * tUinv[0][1].r - mTtD[1][1].i * tUinv[0][1].i;      auxm4 = mTtD[1][1].r * tUinv[0][1].i + mTtD[1][1].i * tUinv[0][1].r;      mB[0][1].r = rD[0][1].r + (auxm1 + auxm3);      mB[0][1].i = rD[0][1].i + (auxm2 + auxm4);      auxm1 = mTtD[0][0].r * tUinv[1][0].r - mTtD[0][0].i * tUinv[1][0].i;      auxm2 = mTtD[0][0].r * tUinv[1][0].i + mTtD[0][0].i * tUinv[1][0].r;      auxm3 = mTtD[1][0].r * tUinv[1][1].r - mTtD[1][0].i * tUinv[1][1].i;      auxm4 = mTtD[1][0].r * tUinv[1][1].i + mTtD[1][0].i * tUinv[1][1].r;      mB[1][0].r = rD[1][0].r + (auxm1 + auxm3);      mB[1][0].i = rD[1][0].i + (auxm2 + auxm4);      auxm1 = mTtD[0][1].r * tUinv[1][0].r - mTtD[0][1].i * tUinv[1][0].i;      auxm2 = mTtD[0][1].r * tUinv[1][0].i + mTtD[0][1].i * tUinv[1][0].r;      auxm3 = mTtD[1][1].r * tUinv[1][1].r - mTtD[1][1].i * tUinv[1][1].i;      auxm4 = mTtD[1][1].r * tUinv[1][1].i + mTtD[1][1].i * tUinv[1][1].r;      mB[1][1].r = rD[1][1].r + (auxm1 + auxm3);      mB[1][1].i = rD[1][1].i + (auxm2 + auxm4);   }   /* computing final phase-shift matrix */   /* square-root of Pslowness^2 - uuC */       auxm1 = PSlowness[0].r - uuC.r;   auxm2 = PSlowness[0].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   am.r = auxm3 * cos(angle);   am.i = auxm3 * sin(angle);   /* am * I */   amI.r = -am.i;   amI.i = am.r;   /* square-root of SSlowness^2 - uuC */       auxm1 = SSlowness[0].r - uuC.r;   auxm2 = SSlowness[0].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   bm.r = auxm3 * cos(angle);   bm.i = auxm3 * sin(angle);   /* bm * I */   bmI.r = -bm.i;   bmI.i = bm.r;      /* computing phase-shift matrix */   wThick.r = wC.r * (-2 * thick[0]);   wThick.i = wC.i * (-2 * thick[0]);   /* cexp (amI * wThick) */   auxm1 = amI.r * wThick.r - amI.i * wThick.i;   auxm2 = amI.r * wThick.i + amI.i * wThick.r;   E[0][0].r = exp(auxm1) * cos(auxm2);   E[0][0].i = exp(auxm1) * sin(auxm2);   /* cexp((amI + bmI) * (wThick * .5)) */   auxm1 = amI.r + bmI.r;   auxm2 = amI.i + bmI.i;   auxm3 = .5 * (auxm1 * wThick.r - auxm2 * wThick.i);   auxm4 = .5 * (auxm1 * wThick.i + auxm2 * wThick.r);   E[0][1].r = exp(auxm3) * cos(auxm4);   E[0][1].i = exp(auxm3) * sin(auxm4);      E[1][0] = E[0][1];   /* cexp (bmI * wThick) */   auxm1 = bmI.r * wThick.r - bmI.i * wThick.i;   auxm2 = bmI.r * wThick.i + bmI.i * wThick.r;   E[1][1].r = exp(auxm1) * cos(auxm2);   E[1][1].i = exp(auxm1) * sin(auxm2);   /* applying phase-shift */   mT[0][0].r = mB[0][0].r * E[0][0].r - mB[0][0].i * E[0][0].i;   mT[0][0].i = mB[0][0].r * E[0][0].i + mB[0][0].i * E[0][0].r;   mT[0][1].r = mB[0][1].r * E[0][1].r - mB[0][1].i * E[0][1].i;   mT[0][1].i = mB[0][1].r * E[0][1].i + mB[0][1].i * E[0][1].r;   mT[1][0].r = mB[1][0].r * E[1][0].r - mB[1][0].i * E[1][0].i;   mT[1][0].i = mB[1][0].r * E[1][0].i + mB[1][0].i * E[1][0].r;   mT[1][1].r = mB[1][1].r * E[1][1].r - mB[1][1].i * E[1][1].i;   mT[1][1].i = mB[1][1].r * E[1][1].i + mB[1][1].i * E[1][1].r;   /* copying to matrix rm */   rm[0][0] = mT[0][0]; rm[0][1] = mT[0][1];   rm[1][0] = mT[1][0]; rm[1][1] = mT[1][1];}/**/void Rp(){   /* declaration of variables */   complex aux1, aux12;         /* auxiliar variables */   complex wThick;              /* auxiliar variable */   complex E[2][2];             /* phase shift matrix */   complex am, bm;              /* vertical slownesses for P and S waves */   complex amI, bmI;            /* amI = I * am, bmI = I * bm */   complex ambm;                /* = am * bm */   complex ambm4uu;             /* = 4 * am * bm * uC * uC */   complex den;                 /* denominator of coefficients */   /* square-root of PSlowness - uuC */       auxm1 = PSlowness[0].r - uuC.r;   auxm2 = PSlowness[0].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   am.r = auxm3 * cos(angle);   am.i = auxm3 * sin(angle);   /* am * I */   amI.r = -am.i;   amI.i = am.r;   /* square-root of SSlowness^2 - uuC */       auxm1 = SSlowness[0].r - uuC.r;   auxm2 = SSlowness[0].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   bm.r = auxm3 * cos(angle);   bm.i = auxm3 * sin(angle);   /* bm * I */   bmI.r = -bm.i;   bmI.i = bm.r;      aux1.r = SSlowness[0].r - uuC2.r;   aux1.i = SSlowness[0].i - uuC2.i;   aux12.r = aux1.r * aux1.r - aux1.i * aux1.i;   aux12.i = 2 * aux1.r * aux1.i;   /* let ambm = am * bm */   ambm.r = am.r * bm.r - am.i * bm.i;   ambm.i = am.r * bm.i + am.i * bm.r;   /* and ambm4uu = am * bm * 4 * uu */   ambm4uu.r = 4 * (ambm.r * uuC.r - ambm.i * uuC.i);   ambm4uu.i = 4 * (ambm.r * uuC.i + ambm.i * uuC.r);   den.r = aux12.r + ambm4uu.r;   den.i = aux12.i + ambm4uu.i;      /* 1/ den */   aux = den.r * den.r + den.i * den.i;   den.r = den.r / aux;   den.i = -den.i / aux;   auxm1 = ambm4uu.r - aux12.r;   auxm2 = ambm4uu.i - aux12.i;   rp[0][0].r = auxm1 * den.r - auxm2 * den.i;   rp[0][0].i = auxm1 * den.i + auxm2 * den.r;               /* Rpp */   auxm1 = bm.r * aux1.r - bm.i * aux1.i;   auxm2 = bm.r * aux1.i + bm.i * aux1.r;   auxm3 = 4 * (auxm1 * uC.r - auxm2 * uC.i);   auxm4 = 4 * (auxm1 * uC.i + auxm2 * uC.r);   rp[0][1].r = den.r * auxm3 - den.i * auxm4;   rp[0][1].i = den.r * auxm4 + den.i * auxm3;               /* Rsp */   auxm1 = am.r * aux1.r - am.i * aux1.i;   auxm2 = am.r * aux1.i + am.i * aux1.r;   auxm3 = -4 * (auxm1 * uC.r - auxm2 * uC.i);   auxm4 = -4 * (auxm1 * uC.i + auxm2 * uC.r);   rp[1][0].r = den.r * auxm3 - den.i * auxm4;   rp[1][0].i = den.r * auxm4 + den.i * auxm3;               /* Rsp */   rp[1][1].r = -rp[0][0].r;   rp[1][1].i = -rp[0][0].i;                                 /* Rss */   /* computing phase-shift matrix */   wThick.r = wC.r * (-2 * zs);   wThick.i = wC.i * (-2 * zs);   /* cexp (amI * wThick) */   auxm1 = amI.r * wThick.r - amI.i * wThick.i;   auxm2 = amI.r * wThick.i + amI.i * wThick.r;   E[0][0].r = exp(auxm1) * cos(auxm2);   E[0][0].i = exp(auxm1) * sin(auxm2);   /* cexp((amI + bmI) * (wThick * .5)) */   auxm1 = amI.r + bmI.r;   auxm2 = amI.i + bmI.i;   auxm3 = .5 * (auxm1 * wThick.r - auxm2 * wThick.i);   auxm4 = .5 * (auxm1 * wThick.i + auxm2 * wThick.r);   E[0][1].r = exp(auxm3) * cos(auxm4);   E[0][1].i = exp(auxm3) * sin(auxm4);   E[1][0] = E[0][1];   /* cexp (bmI * wThick) */   auxm1 = bmI.r * wThick.r - bmI.i * wThick.i;   auxm2 = bmI.r * wThick.i + bmI.i * wThick.r;   E[1][1].r = exp(auxm1) * cos(auxm2);   E[1][1].i = exp(auxm1) * sin(auxm2);	   /* applying phase-shift */   aux = rp[0][0].r * E[0][0].r - rp[0][0].i * E[0][0].i;   rp[0][0].i = rp[0][0].r * E[0][0].i + rp[0][0].i * E[0][0].r;   rp[0][0].r = aux;   aux = rp[0][1].r * E[0][1].r - rp[0][1].i * E[0][1].i;   rp[0][1].i = rp[0][1].r * E[0][1].i + rp[0][1].i * E[0][1].r;   rp[0][1].r = aux;   aux = rp[1][0].r * E[1][0].r - rp[1][0].i * E[1][0].i;   rp[1][0].i = rp[1][0].r * E[1][0].i + rp[1][0].i * E[1][0].r;   rp[1][0].r = aux;   aux = rp[1][1].r * E[1][1].r - rp[1][1].i * E[1][1].i;   rp[1][1].i = rp[1][1].r * E[1][1].i + rp[1][1].i * E[1][1].r;   rp[1][1].r = aux;}/*   Computation of reflection and transmission coefficients for    elastic propagation for a solid-solid boundary.   Two situations are considered:   1) Wave incident from layer above (medium 1) (Function RTd)   2) Wave incident from layer below (medium 2) (Function RTu)   Both functions return 1 if critical angle is reached   Input parameters:    alpha1:                P-wave velocity of layer1   beta1:                 S-wave velocity of layer1   rho1:                  Density of layer1   alpha2:                P-wave velocity of layer2   beta2:                 S-wave velocity of layer2   rho2:                  Density of layer2   u:                     horizontal slowness*/void RTd(int i1, int i2){   /* declaration of variables */   complex aux1, aux2, aux3, c;       complex cuu, caux3, aux1aux2;   /* auxiliar quantities */   complex a1, a2, b1, b2;         /* all vertical slownesses */   complex a1b1, a1b2, a2b1, a2b2; /* auxiliar quantities */   complex a1a2b1b2;               /* auxiliar quantities */   complex d1d, d2d;               /* auxiliar quantities */   complex dpda, dpdb;             /* auxiliar quantities */   /* square-root of Pslowness^2 - uuC */       auxm1 = PSlowness[i1].r - uuC.r;   auxm2 = PSlowness[i1].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   a1.r = auxm3 * cos(angle);   a1.i = auxm3 * sin(angle);   /* square-root of SSlowness^2 - uuC */       auxm1 = SSlowness[i1].r - uuC.r;   auxm2 = SSlowness[i1].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   b1.r = auxm3 * cos(angle);   b1.i = auxm3 * sin(angle);   /* square-root of PSlowness^2 - uuC */       auxm1 = PSlowness[i2].r - uuC.r;   auxm2 = PSlowness[i2].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   a2.r = auxm3 * cos(angle);   a2.i = auxm3 * sin(angle);   /* square-root of SSlowness^2 - uuC */       auxm1 = SSlowness[i2].r - uuC.r;   auxm2 = SSlowness[i2].i - uuC.i;   auxm3 = sqrt(auxm1 * auxm1 + auxm2 * auxm2);   auxm3 = sqrt(auxm3);   angle = atan2(auxm2, auxm1) / 2;   b2.r = auxm3 * cos(angle);   b2.i = auxm3 * sin(angle);   /* computing auxiliary quantities */   rho1rho2 = rho[i1] * rho[i2];   c.r = 2 * (rho[i1] * S2Velocity[i1].r - rho[i2] * S2Velocity[i2].r);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -