Changeset 3632 in Sophya for trunk/Cosmo/SimLSS


Ignore:
Timestamp:
May 25, 2009, 1:57:27 PM (16 years ago)
Author:
cmv
Message:

add lobe N-S pour dipole avec regroupement analogique, cmv 25/05/2009

Location:
trunk/Cosmo/SimLSS
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/Makefile

    r3584 r3632  
    2121       $(EXE)cmvtstsch $(EXE)cmvtstblack $(EXE)cmvtvarspec $(EXE)cmvdefsurv \
    2222       $(EXE)cmvtintfun $(EXE)cmvconcherr $(EXE)cmvtinterp $(EXE)cmvtstagn \
    23        $(EXE)cmvschdist
     23       $(EXE)cmvschdist $(EXE)cmvhshsns
    2424 
    2525PROGSOBJ = \
     
    2828          $(OBJ)cmvtstsch.o $(OBJ)cmvtstblack.o $(OBJ)cmvtvarspec.o $(OBJ)cmvdefsurv.o \
    2929          $(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
    3132 
    3233LIBROBJ = \
     
    272273
    273274##############################################################################
     275cmvhshsns: $(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  
    361361
    362362//-------------------------------------------------------------------
     363/*=========================================================
     364Antenne de longueur totale d (lue au milieu cad 2 brins de d/2)
     365see Jackson p401  (antenne selon Oz, centre z=0 en O)
     366k = 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#
     372Z=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#
     397La 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
     408double 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
     427double 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//-------------------------------------------------------------------
    363437
    364438static unsigned short IntegrateFunc_GlOrder = 0;
  • trunk/Cosmo/SimLSS/geneutils.h

    r3500 r3632  
    9494double SinNXsX_Sqr(double x,unsigned long N,bool app=false);
    9595
     96double AntCentFed(double L, double trad);
     97double AntDipole(double L, double trad);
     98
    9699//----------------------------------------------------
    97100double IntegrateFunc(GenericFunc& func,double xmin,double xmax
Note: See TracChangeset for help on using the changeset viewer.