微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 电磁仿真讨论 > meep metal ctl

meep metal ctl

时间:03-24 整理:3721RD 点击:
Hi!
I'm using Meep and what I want to do is simulating two antennas,
one tansmitting and the other receiving, and
make a comparison between the transmitted and the
received pulse. How can I be sure I'm considering the
distorsin introduced by antennas? and how can I be
sure my antenna is indeed radiating? Is it correct the
way I feed the antenna?
It follows my .ctl file; with this implementation, what
I see when I plot the output data is indeed the
transmitted and the received pulses due to the two
antennas?
Thank you so much!

Best,
Federica

Code:
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
;   Fiorese Federica
;      13-02-08

;***********************************************
;                                              
;  Planar Differential Elliptical UWB Antenna  
;                                              
;***********************************************

;------------------------------
;   definizione parametri     |
;------------------------------

;fattore di scala a=10e-3 ---> tutto espresso in unità di mm
;dimensioni lungo X
(define-param Rx1 20.320) ; raggio ellisse maggiore lungo X
(define-param Rx2 9.906) ; raggio ellisse media lungo X
(define-param Rx3 2.8448) ; raggio ellisse piccola lungo X
(define-param s1 0.3302) ; distanza ellisse maggiore da bordo piastra lungo X

;dimensioni lungo Z
(define-param Rz1 15.240) ; raggio ellisse maggiore lungo Z
(define-param Rz2 9.8806) ; raggio ellisse media lungo Z
(define-param Rz3 4.2164) ; raggio ellisse piccola lungo Z
(define-param h1 5.080) ; semi-distanza tra le 2 ellissi maggiori
(define-param h2 0.4318) ; distanza minima tra ellisse media ed ellisse piccola
(define-param h3 8.5598) ; distanza ellisse maggiore da bordo piastra lungo Z
(define-param w 0.254) ; feeding gap

;parametri substrato a 5GHZ
(define-param h 0.1016) ; spessore del substrato dielettrico
(define-param eps_r 3.36) ; costante dielettrica
 enclose
(define-param tan_delta 0.0037) ; loss tangent

;spessore piano metallico
(define-param hm 0.035052)

;spessore PML
(define-param dpml 10)

(define D 600) ; distanza antenne

;dimensioni computational cell
(define Cx 100) ; dimensione cella lungo X
(define Cy 625) ; dimensione cella lungo Y
(define Cz 110) ; dimensione cella lungo Z

;definizione dimensioni geometria

;ground plane
(define Cgp_Y (- 0 (/ D 2) (/ hm 2) h hm))

;blocco dielettrico
(define Ld_X (* 2 (+ Rx1 s1)))
(define-param Ld_Y h)
(define Ld_Z (* 2 (+ h3 h1 (* 2 Rz1))))
(define Cd_Y (+ (/ D 2) (/ h 2) hm)); coord. y_dielettrico antenna RX
(define minus_Cd_Y (- 0 Cd_Y)); coord. y_dielettrico antenna TX

;blocco metallo
(define Lm_X (* 2 (+ Rx1 s1)))
(define-param Lm_Y hm)
(define Lm_Z (* 2 (+ h3 h1 (* 2 Rz1))))
(define Cm_Y (+ (/ D 2) (/ hm 2))); coord. y_metallo antenna RX
(define minus_Cm_Y (- 0 Cm_Y)); coord. y_metallo antenna TX

;ellisse maggiore
(define LE_X (* 2 Rx1)); asse ellisse maggiore lungo x
(define LE_Y hm) ; spessore
(define LE_Z (* 2 Rz1)); asse ellisse maggiore lungo z
(define CE_X 0)
(define CE_Y Cm_Y)
(define minus_CE_Y minus_Cm_Y)
(define CE_Z (+ h1 Rz1))

;ellisse media
(define LEm_X (* 2 Rx2))
(define LEm_Y hm)
(define LEm_Z (* 2 Rz2))
(define CEm_X 0)
(define CEm_Y Cm_Y)
(define minus_CEm_Y minus_Cm_Y)
(define CEm_Z (+ h1 w Rz2))

;ellisse minore
(define Le_X (* 2 Rx3)); asse ellisse minore lungo x
(define Le_Y hm)
(define Le_Z (* 2 Rz3)); asse ellisse minore lungo z
(define Ce_X 0)
(define Ce_Y Cm_Y)
(define minus_Ce_Y minus_Cm_Y)
(define Ce_Z (+ h1 w h2 Rz3))

;------------------------------
;    definizione geometria    |
;------------------------------

(set! geometry-lattice (make lattice (size Cx Cy Cz)))

(set! geometry (list

; antenna TX

        ; ground plane
                (make block(center 0 Cgp_Y 0)
                           (size Lm_X Lm_Y Lm_Z)
                           (material (make perfect-metal)))

        ; blocco dielettrico
                (make block (center 0 minus_Cd_Y 0)
                            (size Ld_X  Ld_Y  Ld_Z)
                            (material (make dielectric (epsilon eps_r))))

        ; blocco metallo
                (make block (center 0 minus_Cm_Y 0)
                            (size Lm_X Lm_Y Lm_Z)
                            (material (make perfect-metal)))

        ; ellisse maggiore 1-2 quadrante
                (make ellipsoid (center CE_X minus_CE_Y CE_Z)
                                (size LE_X LE_Y LE_Z)
                                (material (make dielectric (epsilon eps_r))))

        ; ellisse media 1-2 quadrante
                (make ellipsoid (center CEm_X minus_CEm_Y CEm_Z)
                                (size LEm_X LEm_Y LEm_Z)
                                (material (make perfect-metal)))

        ; ellisse minore 1-2 quadrante
                (make ellipsoid (center Ce_X minus_Ce_Y Ce_Z)
                                (size Le_X Le_Y Le_Z)
                                (material (make dielectric (epsilon eps_r))))

        ; ellisse maggiore 3-4 quadrante
                 (make ellipsoid (center CE_X minus_CE_Y (- 0 CE_Z))
                                 (size LE_X LE_Y LE_Z)
                                 (material (make dielectric(epsilon eps_r))))

        ; ellisse media 3-4 quadrante
                (make ellipsoid (center CEm_X minus_CEm_Y (- 0 CEm_Z))
                                (size LEm_X LEm_Y LEm_Z)
                                (material (make perfect-metal)))

        ; ellisse minore 3-4 quadrante
                (make ellipsoid (center Ce_X minus_Ce_Y (- 0 Ce_Z))                                                                                           (size Le_X Le_Y Le_Z)
                                        (material (make dielectric (epsilon eps_r))))
        ; feeding
                (make cylinder (center 0 minus_Cd_Y 0)
                               (radius 0.01)
                               (height (+ h hm))
                               (axis 0 1 0)
                               (material (make perfect-metal)))


; antenna RX

        ; blocco dielettrico
                (make block (center 0 Cd_Y 0)
                            (size Ld_X  Ld_Y  Ld_Z)
                            (material (make dielectric (epsilon eps_r))))
        ; blocco metallo
                (make block (center 0 Cm_Y 0)
                            (size Lm_X Lm_Y Lm_Z)
                            (material (make perfect-metal)))

        ; ellisse maggiore 1-2 quadrante
                (make ellipsoid (center CE_X CE_Y CE_Z)
                                (size LE_X LE_Y LE_Z)
                                (material (make dielectric (epsilon eps_r))))

        ; ellisse media 1-2 quadrante
                (make ellipsoid (center CEm_X CEm_Y CEm_Z)
                                (size LEm_X LEm_Y LEm_Z)
                                (material (make perfect-metal)))

        ; ellisse minore 1-2 quadrante
                (make ellipsoid (center Ce_X Ce_Y Ce_Z)
                                (size Le_X Le_Y Le_Z)
                                (material (make dielectric (epsilon eps_r))))
 enclose
        ; ellisse maggiore 3-4 quadrante
                (make ellipsoid (center CE_X CE_Y (- 0 CE_Z))
                                (size LE_X LE_Y LE_Z)
                                (material (make dielectric(epsilon eps_r))))

        ; ellisse media 3-4 quadrante
                (make ellipsoid (center CEm_X CEm_Y (- 0 CEm_Z))
                                (size LEm_X LEm_Y LEm_Z)
                                (material (make perfect-metal)))

        ; ellisse minore 3-4 quadrante
                (make ellipsoid (center Ce_X Ce_Y (- 0 Ce_Z))
                              (size Le_X Le_Y Le_Z)
                                (material (make dielectric (epsilon eps_r))))

));end geometry

;------------------------------
;     definizione sorgente    |
;------------------------------

(define 2PIsqr (sqrt (* 2 pi)))
(define-param W 15.3) ; in unità di tempo --> equivale a 51 ps
(define ((GM_5 sigma on_time) t1)
(begin;
(let ((t (- t1 (/ on_time 2))))
(if (and (<= t1 on_time) (>= t1 0))

                                 (- 0 (* (- (/ (* 10 ( expt t 3)) (* 2PIsqr (expt sigma 9)))
                                 (/ ( expt t 5) (* 2PIsqr (expt sigma 11)))                                                                    (/ (* 15 t) (* 2PIsqr (expt sigma 7))))
                                 (exp (/ (- 0 (expt t 2)) (* 2 (expt sigma 2))))))
                                (+ 0 0))                                                                                                                                                                                          ) ))


(define Cs_z (/ (+ h1 w) 2)); coord. z centro sorgente
(define Cs_y minus_Cd_Y); coord. y centro sorgente
(define Cr_y (/ D 2)); coordinata y punto ricezione

(set! sources (list (make source (src (make custom-src (src-func (GM_5 W 300)) (end-time 1000)))
                (component Ey) (center 0 Cs_y 0))))


;inseriamo un PML per ridurre le riflessini
(set! pml-layers (list (make pml (thickness dpml))))

;definiamo la simmetria
(set! symmetries (list (make mirror-sym (direction X))
                       (make mirror-sym (direction Z))))


(set! resolution 1)

(define (my_func)
        (print (get-field-point Ey (vector3 0 Cs_y 0)) "        "
(get-field-point Ey (vector3 0 Cr_y 0)) "\n"))

(run-until 1200 (at-every 1 my_func))

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top