|
@@ -301,20 +301,12 @@ namespace shell_generator {
|
|
|
|
|
|
std::vector<double> ShellGenerator::IntegrateByComp() {
|
|
|
std::vector<double> integral = {0.0, 0.0, 0.0};
|
|
|
- //simple
|
|
|
for (unsigned int i=0; i<E_.size(); ++i) {
|
|
|
auto E = E_[i];
|
|
|
- //auto H = 377.0*H_[i];
|
|
|
auto H = H_[i];
|
|
|
- //auto vert = vertices_[i];
|
|
|
auto vert = face_centers_[i];
|
|
|
- // Vector to unit product
|
|
|
double r = norm(vert);
|
|
|
std::vector<double> n = { vert[0]/r, vert[1]/r, vert[2]/r};
|
|
|
- //std::cout<<"norm: " <<n[0]<<", "<< n[1] <<", "<<n[2] << std::endl;
|
|
|
-
|
|
|
- // std::cout << norm(unit) << std::endl;
|
|
|
- //const double pi = 3.1415926535897932384626433832795;
|
|
|
const std::vector< std::vector<double> > d = {{1.0, 0.0, 0.0},
|
|
|
{0.0, 1.0, 0.0},
|
|
|
{0.0, 0.0, 1.0}};
|
|
@@ -323,9 +315,10 @@ namespace shell_generator {
|
|
|
std::complex<double> S(0.0);
|
|
|
for (int ii = 0; ii < 3; ++ii)
|
|
|
S += E[ii]*std::conj(E[ii]) + H[ii]*std::conj(H[ii]);
|
|
|
- std::vector< std::vector<std::complex<double> > > T = {{0.0, 0.0, 0.0},
|
|
|
- {0.0, 0.0, 0.0},
|
|
|
- {0.0, 0.0, 0.0}};
|
|
|
+ std::vector< std::vector<std::complex<double> > >
|
|
|
+ T = {{0.0, 0.0, 0.0},
|
|
|
+ {0.0, 0.0, 0.0},
|
|
|
+ {0.0, 0.0, 0.0}};
|
|
|
for (int i = 0; i < 3; ++i) {
|
|
|
for (int j = 0; j < 3; ++j) {
|
|
|
T[i][j] = E[i]*std::conj(E[j]) + H[i]*std::conj(H[j])
|
|
@@ -333,12 +326,6 @@ namespace shell_generator {
|
|
|
F[i] += (1/(2.0/* *4.0*pi */))*real(T[i][j]*n[j]);
|
|
|
}
|
|
|
}
|
|
|
- // 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::cout<<"F: " <<F[0]<<", "<< F[1] <<", "<<F[2] << std::endl<< std::endl;
|
|
|
-
|
|
|
- //integral = integral + per_vertice_area_*F;
|
|
|
integral = integral + per_face_area_[i]*F;
|
|
|
}
|
|
|
return integral;
|