MR |
MR |
---|
BSCoupler bsc_i, bsc_o double R double lambda Polarization pol Cvector BSAmpbsc_i Cvector BSAmpbsc_o double xc0, xc1, zc0, zc1 int Nxc, Nzc double hxc, hzc Cvector Ap, Bp, Cp, Dp, Am, Bm, Cm, Dm Cvector ap, bp, cp, dp, am, bm, cm, dm double L1, L2 bool set_amp_flag MR(BSCoupler &bsc_i_, BSCoupler &bsc_o_, double xc0_, double xc1_, int Nxc_, double zc0_, double zc1_, int Nzc_, Cvector MRA_in_, Cvector MRA_add_) int coupler_check(void) void set_amp(int proj, double z) Complex field(Fcomp cp, double x, double z) double field(Fcomp cp, Afo foa, double x, double z) Cmatrix field(Fcomp cp, interval dwx, int npx, interval dwz, int npz) Dmatrix field(Fcomp cp, Afo foa, interval dwx, int npx, interval dwz, int npz) Cmatrix field(Fcomp cp, interval dwx, int npx, interval dwz, int npz, double& fmax) void plot(Fcomp cp, Afo foa, double xbeg, double xend, double zbeg, double zend, int npx, int npz, char ext0, char ext1) void movie(double xbeg, double xend, double zbeg, double zend, int npx, int npz, int ntfr, char ext0, char ext1) void viewer(double xbeg, double xend, double zbeg, double zend, int npx, int npz, char ext0, char ext1) double get_pd(int mode_index) double get_pt(int mode_index) |
BSCoupler bsc_i, bsc_o
bsc_i = input coupler, bsc_o = addport coupler
double R
Radius of the cavity
double lambda
Wavelength of the microresonator
Polarization pol
Polarization
Cvector BSAmpbsc_i
Input amplitudes for input coupler
Cvector BSAmpbsc_o
Input amplitudes for output coupler
double xc0, xc1, zc0, zc1
Microresonator computational window.
In x direction = [xc0, xc1] and in z direction =[zc0, zc1].
int Nxc, Nzc
Discretization points : in x direction = Nxc, in z direction = Nzc.
double hxc, hzc
Discretization step size : in x direction = hxc, in z direction = hzc.
Cvector Ap, Bp, Cp, Dp, Am, Bm, Cm, Dm
Cvector ap, bp, cp, dp, am, bm, cm, dm
Following variables (and their notations) are based on the model of MR
presented by Manfred in the NAIS document dated Sept. 12'th, 2002.
size of these matrices is determined by no. of modes of bend waveguide
and straight waveguide. See constractor() for details. p/m= plus / minus
double L1, L2
Length of the bend segments which is not included in the couplers
L1 = Through port to Add port
L2 = In port to drop port
bool set_amp_flag
MR(BSCoupler &bsc_i_,
BSCoupler &bsc_o_,
double xc0_, double xc1_, int Nxc_,
double zc0_, double zc1_, int Nzc_,
Cvector MRA_in_, Cvector MRA_add_)
Constructor
int coupler_check(void)
Check whether two coupler are compatible with each other.
void set_amp(int proj, double z)
Set amplitudes (direct method)
Complex field(Fcomp cp, double x, double z)
Complex valued MR field at a point (x,z).
cp: ER, EY, EP, HR, HY, HP, SR, SY, SP
double field(Fcomp cp, Afo foa, double x, double z)
Real valued MR field at a point (x,z)
cp: ER, EY, EP, HR, HY, HP, SR, SY, SP
foa: MOD, ORG, REP, IMP, SQR
Cmatrix field(Fcomp cp, interval dwx, int npx,
interval dwz, int npz)
The optical field, discretized on a regular rectangular mesh,
npx x npz points on a display window dwx x dwz
cp: one of E?, H?, S? ... ?
foa: ORG, MOD, SQR, REP, IMP (ORG = REP)
Dmatrix field(Fcomp cp, Afo foa, interval dwx, int npx,
interval dwz, int npz)
Cmatrix field(Fcomp cp, interval dwx, int npx,
interval dwz, int npz, double& fmax)
void plot(Fcomp cp, Afo foa,
double xbeg, double xend, double zbeg, double zend,
int npx, int npz, char ext0, char ext1)
Visualization: output to MATLAB .m files
evaluation of the mode interference pattern in the display window
xbeg <= x <= xend, zbeg <= z <= zend
npx, npz: number of plot points in the output mesh
ext0, ext1: filename id characters for the m.file
assumption: uniform polarization wavelength of all included modes
image plot corresponding to field component cp
cp: one of E?, H?, S? ... ?
foa: ORG, MOD, SQR, REP, IMP (ORG = REP)
void movie(double xbeg, double xend, double zbeg, double zend,
int npx, int npz, int ntfr, char ext0, char ext1)
Animation of the light propagation the frames show images of EY (TE) resp. HY (TM), at
ntfr equidistant times over one time period.
void viewer(double xbeg, double xend, double zbeg, double zend,
int npx, int npz, char ext0, char ext1)
Export full field data ("everything") into a viewer MATLAB file
double get_pd(int mode_index)
Gives power dropped for mode with index=mode_index.
double get_pt(int mode_index)
Gives power transmitted mode with index=mode_index.