📄 update_e_from_d_prepare.hpp
字号:
/* This file was automatically generated --- DO NOT EDIT */if (have_d_minus_p) { if (pol) { if (f[Er][0]) { // Am in cylindrical coordinates. FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } else { // not f[Er][0] if (f[Ey][0]) { if (f[Ez][0]) { if (stride_any_direction[Z]) { // Am in 3D FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } else { // not stride_any_direction[Z] // Am in 2D FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } } else { // not f[Ez][0] // Am in 2D TE FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } } else { // not f[Ey][0] if (f[Ex][0]) { // Am in 1D FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } else { // not f[Ex][0] // Am in 2D TM FOR_E_AND_D(ec,dc) if (f[ec][0]) { if (is_real) { for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; } } } else { // not is_real for (int i=0;i<ntot;i++) { for (polarization *np=pol,*op=olpol; np; np=np->next,op=op->next) { np->energy[ec][i] = op->energy[ec][i]; np->energy[ec][i] += (0.5)*(np->P[ec][0][i] - op->P[ec][0][i]) * f[ec][0][i]; np->energy[ec][i] += (0.5)*(np->P[ec][1][i] - op->P[ec][1][i]) * f[ec][1][i]; } } } DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; for (polarization *p = pol; p; p = p->next) { d_minus_p[ec][cmp][i] -= p->P[ec][cmp][i]; } } } } } } } } else { // not pol if (f[Er][0]) { // Am in cylindrical coordinates. FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } else { // not f[Er][0] if (f[Ey][0]) { if (f[Ez][0]) { if (stride_any_direction[Z]) { // Am in 3D FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } else { // not stride_any_direction[Z] // Am in 2D FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } } else { // not f[Ez][0] // Am in 2D TE FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } } else { // not f[Ey][0] if (f[Ex][0]) { // Am in 1D FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } else { // not f[Ex][0] // Am in 2D TM FOR_E_AND_D(ec,dc) if (f[ec][0]) { DOCMP { for (int i=0;i<ntot;i++) { d_minus_p[ec][cmp][i] = f[dc][cmp][i]; } } } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -