@@ -62,20 +62,50 @@ __device__ __inline__ complex_float3 ray_launch(const complex_float3 & e_field,f
6262
6363
6464__device__ __inline__ complex_float3 em_wave (const float2 alpha_beta, const float4 & ray, const PointData& origin, const PointData& end, float wave_length) {
65-
65+ // printf(("package- alpha_beta = (%f, %f)\n", alpha_beta.x, alpha_beta.y);
66+ printf (" package- ray field %f +i%f, %f +i%f, %f +i%f\n " , origin.electric_field .x .x , origin.electric_field .x .y , origin.electric_field .y .x , origin.electric_field .y .y , origin.electric_field .z .x , origin.electric_field .z .y );
67+
68+
69+
6670 complex_float3 ray_field = ray_launch (origin.electric_field , make_float3 (ray.x , ray.y , ray.z ));
71+ printf (" package- ray_field after launch = (%f + %fi, %f + %fi, %f + %fi)\n " , ray_field.x .x , ray_field.x .y , ray_field.y .x , ray_field.y .y , ray_field.z .x , ray_field.z .y );
72+
73+
6774 float front = -(1 / (2 * CUDART_PI_F));
75+ // printf(("package- front = %f\n", front);
76+
6877 cuFloatComplex G;
78+ printf (" inputs to sincosf = (%f)\n " , -alpha_beta.y * ray.w );
79+ printf (" alpha = (%f)\n " , alpha_beta.x );
80+ printf (" beta = (%f)\n " , alpha_beta.y );
6981 sincosf (-alpha_beta.y * ray.w , &G.y , &G.x );
82+ printf (" dis2t %f \n " , ray.w );
83+ printf (" package- G after sincosf = (%f + %fi)\n " , G.x , G.y );
84+
7085 G *= (expf (-alpha_beta.x * ray.w ) * (1 / ray.w ));
86+ printf (" package- G after exp/log = (%f + %fi)\n " , G.x , G.y );
87+
7188 cuFloatComplex dG;
7289 dG.x = -alpha_beta.x - (1 / ray.w );
7390 dG.y = -alpha_beta.y ;
91+ // printf(("package- dG before mul = (%f + %fi)\n", dG.x, dG.y);
92+
7493 dG = cuCmulf (dG, G);
94+ printf (" package- dG after mul = (%f + %fi)\n " , dG.x , dG.y );
95+ // printf(("package- front = %f\n", front);
96+ // printf(("package- dG = (%f + %fi)\n", dG.x, dG.y);
97+ printf (" package- end.normal = (%f, %f, %f)\n " , end.normal .x , end.normal .y , end.normal .z );
98+
7599 float3 ray_dir = make_float3 (ray.x , ray.y , ray.z );
100+ printf (" package- ray direction = (%f, %f, %f)\n " , ray_dir.x , ray_dir.y , ray_dir.z );
101+
76102 float dot_val = dot (end.normal , ray_dir);
103+ printf (" package- dot(end.normal, ray_dir) = %f\n " , dot_val);
77104 cuFloatComplex loss = front * dG * dot (end.normal , make_float3 (ray.x , ray.y , ray.z ));
105+ printf (" package- loss = (%f + %fi)\n " , loss.x , loss.y );
106+
78107 ray_field *= loss;
108+ printf (" package- ray_field after loss = (%f + %fi, %f + %fi, %f + %fi)\n " , ray_field.x .x , ray_field.x .y , ray_field.y .x , ray_field.y .y , ray_field.z .x , ray_field.z .y );
79109
80110
81111 return ray_field;
0 commit comments