Changeset 3632 in Sophya for trunk/Cosmo/SimLSS
- Timestamp:
- May 25, 2009, 1:57:27 PM (16 years ago)
- Location:
- trunk/Cosmo/SimLSS
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Cosmo/SimLSS/Makefile
r3584 r3632 21 21 $(EXE)cmvtstsch $(EXE)cmvtstblack $(EXE)cmvtvarspec $(EXE)cmvdefsurv \ 22 22 $(EXE)cmvtintfun $(EXE)cmvconcherr $(EXE)cmvtinterp $(EXE)cmvtstagn \ 23 $(EXE)cmvschdist 23 $(EXE)cmvschdist $(EXE)cmvhshsns 24 24 25 25 PROGSOBJ = \ … … 28 28 $(OBJ)cmvtstsch.o $(OBJ)cmvtstblack.o $(OBJ)cmvtvarspec.o $(OBJ)cmvdefsurv.o \ 29 29 $(OBJ)cmvtintfun.o $(OBJ)cmvtinterp.o \ 30 $(OBJ)cmvconcherr.o $(OBJ)cmvtluc.o $(OBJ)cmvtstagn.o $(OBJ)cmvschdist.o 30 $(OBJ)cmvconcherr.o $(OBJ)cmvtluc.o $(OBJ)cmvtstagn.o $(OBJ)cmvschdist.o \ 31 $(OBJ)cmvhshsns.o 31 32 32 33 LIBROBJ = \ … … 272 273 273 274 ############################################################################## 275 cmvhshsns: $(EXE)cmvhshsns 276 echo $@ " done" 277 $(EXE)cmvhshsns: $(OBJ)cmvhshsns.o $(LIBR) 278 $(CXXLINK) $(CXXREP) -o $@ $(OBJ)cmvhshsns.o $(MYLIB) 279 $(OBJ)cmvhshsns.o: cmvhshsns.cc 280 $(CXXCOMPILE) $(CXXREP) -I$(MYEXTINC) -o $@ cmvhshsns.cc 281 282 ############################################################################## -
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; -
trunk/Cosmo/SimLSS/geneutils.h
r3500 r3632 94 94 double SinNXsX_Sqr(double x,unsigned long N,bool app=false); 95 95 96 double AntCentFed(double L, double trad); 97 double AntDipole(double L, double trad); 98 96 99 //---------------------------------------------------- 97 100 double IntegrateFunc(GenericFunc& func,double xmin,double xmax
Note:
See TracChangeset
for help on using the changeset viewer.