Changeset 3632 in Sophya for trunk/Cosmo/SimLSS/geneutils.cc
- Timestamp:
- May 25, 2009, 1:57:27 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/geneutils.cc
r3615 r3632 361 361 362 362 //------------------------------------------------------------------- 363 /*========================================================= 364 Antenne de longueur totale d (lue au milieu cad 2 brins de d/2) 365 see Jackson p401 (antenne selon Oz, centre z=0 en O) 366 k = w/C = 2 Pi Nu / C = 2 Pi / Lambda 367 - densite de courant: J = I sin(kd/2 - k|z|)*delta(x)*delta(y) 368 (selon Oz) et pour |z|<d/2 369 I current peak value if kd>=Pi 370 - current at gap (center): I0 = I sin(kd/2) 371 # 372 Z=sqrt(Mu/Epsilon) is the impedance of the vacum (376.7 Ohms) 373 cad pour le vecteur de pointing: |S| = |E0|^2/Z 374 - Time average radiated power by solid angle unit: 375 t is theta the polar angle, t=0 along antenna, Pi/2 perpendicular 376 dP/dOmega = Z*I^2/(8Pi^2) * (cos(kd/2*cos(t)) - cos(kd/2))^2 / sin(t)^2 377 if we define L = d/lambda , kd/2= Pi * L 378 dP/dOmega = Z*I^2/(8Pi^2) * (cos(Pi*L*cos(t)) - cos(Pi*L))^2 / sin(t)^2 379 # 380 - pour t -> 0 381 dP/dOmega = Z*I^2/(8Pi^2) * ( 1/4 * (Pi*L*sin(Pi*L)*t)^2 ) 382 - pour t -> Pi 383 dP/dOmega = Z*I^2/(8Pi^2) * ( 1/4 * (Pi*L*sin(Pi*L)*(t-Pi))^2 ) 384 # 385 - Polarisation in plane containing antenna and the direction of propagation 386 # 387 - pour kd << 1 (L->0) -> approximation du dipole: 388 dP/dOmega = Z*I^2/(8Pi^2) * ( (Pi*L)^4/4 * sin(t)^2 ) 389 - pour kd=Pi (L=1/2) -> half-wave length: 390 dP/dOmega = Z*I^2/(8Pi^2) * cos(Pi/2*cos(t))^2/sin(t)^2 391 - pour kd=2*Pi (L=1) -> full-wave length: 392 dP/dOmega = Z*I^2/(8Pi^2) * 4*cos(Pi/2*cos(t))^4/sin(t)^2 393 # 394 - Le programme retourne Val tel que: dP/dOmega = Z*I^2/(8Pi^2) * Val 395 L<0 (arg[0]<0) alors Val est normalise tel que le maximum = 1 396 # 397 La carte antenne fournie par Peterson: 398 d=8cm, distance entre 2 centres consecutifs 10cm 399 # 400 # ---- AntCentFed et AntDipole 401 # Input: 402 # t = angle entre la direction de la radiation et le fil de l'antenne (radian) 403 # L = d/Lambda (d=longueur totale de l'antenne) 404 # Output: 405 # (8Pi^2) dP/dOmega / (Z*I^2) 406 ========================================================= */ 407 408 double AntCentFed(double L, double trad) 409 { 410 double pil = M_PI*L; 411 double st = sin(trad), ct = cos(trad); 412 // L'antenne standing-wave 413 double v = 0.; 414 if(fabs(st)<1e-3) { 415 if(ct>0.) { // theta ~= 0 416 v = pil*sin(pil)*trad/2.; v *= v; 417 } else { // theta ~= 180 418 v = -pil*sin(pil)*(trad-M_PI)/2.; v *= v; 419 } 420 } else { 421 v = (cos(pil*ct) - cos(pil))/st; v *= v; 422 } 423 424 return v; 425 } 426 427 double AntDipole(double L, double trad) 428 { 429 double pil = M_PI*L; 430 double st = sin(trad); 431 // L'approximation du dipole 432 double vd = pil*pil*st/2.; vd *= vd; 433 return vd; 434 } 435 436 //------------------------------------------------------------------- 363 437 364 438 static unsigned short IntegrateFunc_GlOrder = 0;
Note:
See TracChangeset
for help on using the changeset viewer.