24 |
|
return(0.); |
25 |
|
return(sqrt(x)); |
26 |
|
} |
27 |
– |
#define sqrt(x) Sqrt(x) |
27 |
|
|
28 |
|
/* definitions de macros utiles */ |
29 |
|
|
102 |
|
|
103 |
|
/* Definition des routines */ |
104 |
|
|
105 |
< |
#define term(a,b) a/sqrt(a*a+b*b) |
105 |
> |
#define term(a,b) a/Sqrt(a*a+b*b) |
106 |
|
static |
107 |
|
prepare_matrices() |
108 |
|
{ |
208 |
|
FVECT v_temp; |
209 |
|
double det; |
210 |
|
|
211 |
< |
det = sqrt( (YY(v)*YY(v)+ZZ(v)*ZZ(v))*(YY(v)*YY(v)+ZZ(v)*ZZ(v))+ |
211 |
> |
det = Sqrt( (YY(v)*YY(v)+ZZ(v)*ZZ(v))*(YY(v)*YY(v)+ZZ(v)*ZZ(v))+ |
212 |
|
(XX(v)*XX(v)*YY(v)*YY(v))+(XX(v)*XX(v)*ZZ(v)*ZZ(v)) ); |
213 |
|
XX(v_temp) = (YY(v)*YY(v)+ZZ(v)*ZZ(v))/det; |
214 |
|
YY(v_temp) = -( XX(v)*YY(v) )/det; |
226 |
|
FVECT v_temp; |
227 |
|
double det; |
228 |
|
|
229 |
< |
det = sqrt( (ZZ(v)*ZZ(v)+YY(v)*YY(v)) ); |
229 |
> |
det = Sqrt( (ZZ(v)*ZZ(v)+YY(v)*YY(v)) ); |
230 |
|
XX(v_temp) = 0.; |
231 |
|
YY(v_temp) = -ZZ(v)/det; |
232 |
|
ZZ(v_temp) = YY(v)/det; |
426 |
|
{ |
427 |
|
double det; |
428 |
|
|
429 |
< |
det = sqrt(X(r)*X(r)+Y(r)*Y(r)+Z(r)*Z(r)); |
430 |
< |
sinus = sqrt(Y(r)*Y(r)+Z(r)*Z(r))/det; |
431 |
< |
cosinus = sqrt(X(r)*X(r))/det; |
429 |
> |
det = Sqrt(X(r)*X(r)+Y(r)*Y(r)+Z(r)*Z(r)); |
430 |
> |
sinus = Sqrt(Y(r)*Y(r)+Z(r)*Z(r))/det; |
431 |
> |
cosinus = Sqrt(X(r)*X(r))/det; |
432 |
|
if (r.n == 1.) rapport = prism.np * prism.np; |
433 |
|
else rapport = 1./(prism.np * prism.np); |
434 |
|
return; |
447 |
|
X(r_reflechi) = -X(r_incident); |
448 |
|
Y(r_reflechi) = Y(r_incident); |
449 |
|
Z(r_reflechi) = Z(r_incident); |
450 |
< |
if(sinus > sqrt(rapport) || r_incident.dest == tot_ref) |
450 |
> |
if(sinus > Sqrt(rapport) || r_incident.dest == tot_ref) |
451 |
|
{ |
452 |
|
r_reflechi.ppar1 = r_incident.ppar1; |
453 |
|
r_reflechi.pper1 = r_incident.pper1; |
457 |
|
} |
458 |
|
else |
459 |
|
{ |
460 |
< |
r_reflechi.ppar1 = r_incident.ppar1*(rapport*cosinus-sqrt(rapport- |
461 |
< |
(sinus*sinus)))/(rapport*cosinus+sqrt(rapport-(sinus*sinus))); |
462 |
< |
r_reflechi.pper1 = r_incident.pper1*(cosinus-sqrt |
463 |
< |
(rapport-(sinus*sinus)))/(cosinus+sqrt(rapport-(sinus*sinus))); |
464 |
< |
r_reflechi.ppar2 = r_incident.ppar2*(rapport*cosinus-sqrt(rapport- |
465 |
< |
(sinus*sinus)))/(rapport*cosinus+sqrt(rapport-(sinus*sinus))); |
466 |
< |
r_reflechi.pper2 = r_incident.pper2*(cosinus-sqrt |
467 |
< |
(rapport-(sinus*sinus)))/(cosinus+sqrt(rapport-(sinus*sinus))); |
460 |
> |
r_reflechi.ppar1 = r_incident.ppar1*(rapport*cosinus-Sqrt(rapport- |
461 |
> |
(sinus*sinus)))/(rapport*cosinus+Sqrt(rapport-(sinus*sinus))); |
462 |
> |
r_reflechi.pper1 = r_incident.pper1*(cosinus-Sqrt |
463 |
> |
(rapport-(sinus*sinus)))/(cosinus+Sqrt(rapport-(sinus*sinus))); |
464 |
> |
r_reflechi.ppar2 = r_incident.ppar2*(rapport*cosinus-Sqrt(rapport- |
465 |
> |
(sinus*sinus)))/(rapport*cosinus+Sqrt(rapport-(sinus*sinus))); |
466 |
> |
r_reflechi.pper2 = r_incident.pper2*(cosinus-Sqrt |
467 |
> |
(rapport-(sinus*sinus)))/(cosinus+Sqrt(rapport-(sinus*sinus))); |
468 |
|
r_reflechi.e = r_incident.e *(((r_reflechi.ppar1*r_reflechi.ppar1+ |
469 |
|
r_reflechi.pper1*r_reflechi.pper1)/(r_incident.ppar1*r_incident.ppar1+ |
470 |
|
r_incident.pper1*r_incident.pper1))+((r_reflechi.ppar2*r_reflechi.ppar2 |
486 |
|
|
487 |
|
r_transmis = r_incident; |
488 |
|
trigo(r_incident); |
489 |
< |
if (sinus <= sqrt(rapport) && r_incident.dest != tot_ref) |
489 |
> |
if (sinus <= Sqrt(rapport) && r_incident.dest != tot_ref) |
490 |
|
{ |
491 |
|
X(r_transmis) = (X(r_incident)/(fabs(X(r_incident))))* |
492 |
< |
(sqrt(1.-(Y(r_incident)*Y(r_incident)+Z(r_incident)* |
492 |
> |
(Sqrt(1.-(Y(r_incident)*Y(r_incident)+Z(r_incident)* |
493 |
|
Z(r_incident))/rapport)); |
494 |
< |
Y(r_transmis) = Y(r_incident)/sqrt(rapport); |
495 |
< |
Z(r_transmis) = Z(r_incident)/sqrt(rapport); |
496 |
< |
r_transmis.ppar1 = r_incident.ppar1*2.*sqrt(rapport)*cosinus/ |
497 |
< |
(sqrt(rapport-sinus*sinus)+rapport*cosinus); |
498 |
< |
r_transmis.pper1 = r_incident.pper1*2.*cosinus/(cosinus+sqrt(rapport |
494 |
> |
Y(r_transmis) = Y(r_incident)/Sqrt(rapport); |
495 |
> |
Z(r_transmis) = Z(r_incident)/Sqrt(rapport); |
496 |
> |
r_transmis.ppar1 = r_incident.ppar1*2.*Sqrt(rapport)*cosinus/ |
497 |
> |
(Sqrt(rapport-sinus*sinus)+rapport*cosinus); |
498 |
> |
r_transmis.pper1 = r_incident.pper1*2.*cosinus/(cosinus+Sqrt(rapport |
499 |
|
- sinus*sinus)); |
500 |
< |
r_transmis.ppar2 = r_incident.ppar2*2.*sqrt(rapport)*cosinus/ |
501 |
< |
(sqrt(rapport-sinus*sinus)+rapport*cosinus); |
502 |
< |
r_transmis.pper2 = r_incident.pper2*2.*cosinus/(cosinus+sqrt(rapport |
500 |
> |
r_transmis.ppar2 = r_incident.ppar2*2.*Sqrt(rapport)*cosinus/ |
501 |
> |
(Sqrt(rapport-sinus*sinus)+rapport*cosinus); |
502 |
> |
r_transmis.pper2 = r_incident.pper2*2.*cosinus/(cosinus+Sqrt(rapport |
503 |
|
- sinus*sinus)); |
504 |
< |
r_transmis.e = (r_incident.e/2)*(sqrt(rapport-sinus*sinus)/cosinus) |
504 |
> |
r_transmis.e = (r_incident.e/2)*(Sqrt(rapport-sinus*sinus)/cosinus) |
505 |
|
*(((r_transmis.ppar1*r_transmis.ppar1+r_transmis.pper1* |
506 |
|
r_transmis.pper1) |
507 |
|
/(r_incident.ppar1*r_incident.ppar1+r_incident.pper1* |