|
@@ -355,23 +355,24 @@ namespace shell_generator {
|
|
|
auto E = E_[i];
|
|
|
//auto H = 377.0*H_[i];
|
|
|
auto H = H_[i];
|
|
|
- auto Es = Es_[i];
|
|
|
- auto Hs = Hs_[i];
|
|
|
+ // auto Es = Es_[i];
|
|
|
+ // auto Hs = Hs_[i];
|
|
|
|
|
|
auto vert = face_centers_[i];
|
|
|
// Vector to unit product
|
|
|
double r = norm(vert);
|
|
|
- std::vector<std::complex<double> > unit = { vert[0]/r, vert[1]/r, vert[2]/r};
|
|
|
+ //std::vector<std::complex<double> > unit = { vert[0]/r, vert[1]/r, vert[2]/r};
|
|
|
// std::cout << norm(unit) << std::endl;
|
|
|
//const double pi = 3.1415926535897932384626433832795;
|
|
|
- std::vector<double> P = (1/(2.0))
|
|
|
- *real(
|
|
|
- dot(unit,E)*vconj(E) +
|
|
|
- dot(unit,H)*vconj(H) +
|
|
|
- (-1.0/2.0)*(dot(E,vconj(E))
|
|
|
- +dot(H,vconj(H))
|
|
|
- )*unit
|
|
|
- );
|
|
|
+ // std::vector<double> P = (1/(2.0))
|
|
|
+ // *real(
|
|
|
+ // dot(unit,E)*vconj(E) +
|
|
|
+ // dot(unit,H)*vconj(H) +
|
|
|
+ // (-1.0/2.0)*(dot(E,vconj(E))
|
|
|
+ // +dot(H,vconj(H))
|
|
|
+ // )*unit
|
|
|
+ // );
|
|
|
+
|
|
|
// std::vector<double> P = (1/(2.0))
|
|
|
// *real(
|
|
|
// Es[0]*vconj(E) +
|
|
@@ -393,7 +394,14 @@ namespace shell_generator {
|
|
|
// std::cout <<"E "<<E[0]<<", "<< E[1] <<", "<<E[2] << std::endl;
|
|
|
// std::cout <<"H "<<H[0]<<", "<< H[1] <<", "<<H[2] << std::endl;
|
|
|
// std::cout <<"vert "<<vert[0]<<", "<< vert[1] <<", "<<vert[2] << std::endl<<std::endl;
|
|
|
- integral = integral + per_face_area_[i]*P;
|
|
|
+ //integral = integral + per_face_area_[i]*P;
|
|
|
+
|
|
|
+ // Test Poynting vector integration
|
|
|
+ std::vector<double> unit = { vert[0]/r, vert[1]/r, vert[2]/r};
|
|
|
+ std::vector<double> P = (1/(2.0))
|
|
|
+ *real(cross(E,vconj(H)));
|
|
|
+ integral[0] = integral[0] + per_face_area_[i]*dot(P,unit);
|
|
|
+
|
|
|
}
|
|
|
return integral;
|
|
|
}
|