12.2.2                  Syntax of material UDOs commands

·       INSERTMEDIUM (<mediumname>, <type>) – Inserts a new medium into the project, if medium of the same name does not exist. The parameter type options are: ISOTROPIC, ANISOTROPIC, DIELECTRIC_DISPERSIVE, DIELECTRIC_DISPERSIVE_ANISOTROPIC, META_MATERIAL, FERRITE, METAL, PEC, PMC, COLD_PLASMA.

·       MEDIUMPAR (<mediumname>, <epsx>, <mux>, <sigx>, <msigx>, <epsy>, <muy>, <sigy>, <msigy>, <epsz>, <muz>, <sigz>, <msigz>, <density>) - Change the parameters of the medium “mediumname” to those specified by the subsequent parameters. These parameters should be self-explaining by comparison with those displayed in the Project Media dialogue. Note that the above instruction will not change the type of the medium. Thus for example if the considered medium was declared in the Project Media dialogue (or in INSERTMEDIUM command) as isotropic, the values of epsy, epsz, muy, muz etc. declared as arguments of MEDIUMPAR will be ignored. This command allows using material permittivity, permeability, etc. as UDO parameters. Thus it allows for example changing medium parameters in a quasi-continuous way, as variables modified in a loop.

·       FERRITEPAR (<mediumname>, <eps>, <mu>, <sigma>, <sigmaM>, <alpha>, <Ms>, <Hi>, <dens>) - Change the medium “mediumname” to Ferrite type (if it is not) and set the parameters to those specified by the subsequent parameters. These parameters should be self-explaining by comparison with those displayed in the Project Media dialogue.

·       THERMALPAR (<mediumname>, <ini_temp>, <spec_heat>, <therm_cond_X>, <therm_cond_Y>, <therm_cond_Z>) – analogous to MEDIUMPAR, but sets thermal parameters: initial temperature, specific heat, and thermal conductivity in the three coordinate directions.

·       VISCOSITY (<mediumname>, <viscosity>) – analogous toMEDIUMPAR, but sets viscosity parameter.

·       MEDIUMCOL (<mediumname>, <pen_R>, <pen_G>, <pen_B>, <pen_style>, <pen_width>, <brush_pen_R>, <brush_pen_G>, <brush_pen_B>, <brush_bkg_R>, <brush_bkg_G>, <brush_bkg_B>, <brush_style>) - Defines the pen and brush attributes associated with the medium “mediumname”.

<pen_R>, <pen_G>, <pen_B> - RGB parameters of the medium pen line colour

<pen_tyle> - the medium pen line style (0-continuous, 1-dashed, 2-dotted, 3-dashed/dotted, 4-dashed/double dotted)

<pen_width> - the medium pen line width

<brush_pen_R>, < brush_pen_G>, <brush_pen_B> - RGB parameters of the medium brush pen colour

<brush_bkg_R>, < brush_ bkg _G>, <brush_ bkg _B> - RGB parameters of the medium background brush colour

<brush_tyle> - the medium brush style (hatching style).

·       DISPERSION (<mediumname>,<model_name>,<par_1>,<par_2>,<par_3>,<par_4>) – sets dispersive dielectric parameters. The model_name options are: DRUDE, DEBYE, LORENTZ:

·      DRUDE: (<par_1>,…,<par_4>) – (eps_inf, v_c, f_p, 0)

·      DEBYE: (<par_1>,…,<par_4>) – (eps_inf, eps_s, tau, 0)

·      LORENTZ: (<par_1>,…,<par_4>) – (eps_inf, eps_s, v_c, f_p)

·       DISPERSION2 (<mediumname>, <model_name>, <par_1>, <par_2>, <par_3>, <par_4>, <par_5>, <par_6>, <par_7>, <par_8>, <par_9>, <par_10>, <par_11>) – sets multipole dispersive dielectric parameters. The model_name options are: DRUDE2, DEBYE2, LORENTZ2, DEBYE_DRUDE, DEBYE_LORENTZ, DRUDE_LORENTZ, DRUDE3, DEBYE3, LORENTZ3, DEBYE2_DRUDE, DEBYE2_LORENTZ, DEBYE_DRUDE2, LORENTZ_DRUDE2, DEBYE_LORENTZ2, LORENTZ2_DRUDE, DEBYE_DRUDE_LORENTZ, DEBYE_ANIS:

·      DRUDE2: (<par_1>,…,<par_11>) – (eps_inf, v_c, f_p, Amp1, v_c2, f_p2, Amp2, 0, 0, 0, 0)

·      DEBYE2: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, tau2, Amp2, 0, 0, 0, 0, 0)

·      LORENTZ2: (<par_1>,…,<par_11>) – (eps_inf, eps_s, v_c, f_p, Amp1, v_c2, f_p2, Amp2, 0, 0, 0)

·      DEBYE_DRUDE: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, v_c2, f_p2, Amp2, 0, 0, 0, 0)

·      DEBYE_LORENTZ: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, v_c2, f_p2, Amp2, 0, 0, 0, 0)

·      DRUDE_LORENTZ: (<par_1>,…,<par_11>) – (eps_inf, eps_s, v_c, f_p, Amp1, v_c2, f_p2, Amp2, 0, 0, 0)

·      DRUDE3: (<par_1>,…,<par_11>) –(eps_inf, v_c, f_p, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3, 0)

·      DEBYE3: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, tau2, Amp2, tau3, Amp3, 0, 0, 0)

·      LORENTZ3: (<par_1>,…,<par_11>) – (eps_inf, eps_s, v_c, f_p, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3)

·      DEBYE2_DRUDE: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, tau2, Amp2, v_c3, f_p3, Amp3, 0, 0)

·      DEBYE2_LORENTZ: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, tau2, Amp2, v_c3, f_p3, Amp3, 0, 0)

·      DEBYE_DRUDE2: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3, 0)

·      DEBYE_DRUDE_LORENTZ: (<par_1>,…,<par_11>) – (eps_inf, eps_s, tau, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3, 0)

·      LORENTZ_DRUDE2: (<par_1>,…,<par_11>) –(eps_inf, eps_s, v_c, f_p, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3)

·      LORENTZ2_DRUDE: (<par_1>,…,<par_11>) –(eps_inf, eps_s, v_c, f_p, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3)

·      DEBYE_LORENTZ2: (<par_1>,…,<par_11>) –(eps_inf, eps_s, tau, Amp1, v_c2, f_p2, Amp2, v_c3, f_p3, Amp3, 0)

·      DEBYE_ANIS: (<par_1>,…,<par_11>) – (eps_inf_x, eps_s_x, tau_x, eps_inf_y, eps_s_y, tau_y, eps_inf_z, eps_s_z, tau_z, 0)

·       DISPERSIONH (<mediumname>, <model_name>, <par_1>, <par_2>, <par_3>, <par_4>) – sets dispersive magnetic parameters. The model_name options are: DRUDEH, DEBYEH, LORENTZH.

·      DRUDEH: (<par_1>,…,<par_4>) – (mu_inf, v_cH, f_pH, 0)

·      DEBYEH: (<par_1>,…,<par_4>) – (mu_inf, mu_s, tauH, 0)

·      LORENTZH: (<par_1>,…,<par_4>) – (mu_inf, mu_s, v_cH, f_pH)

·       DISPERSIONH2 (<mediumname>, <model_name>, <par_1>, <par_2>, <par_3>, <par_4>, <par_5>, <par_6>, <par_7>, <par_8>, <par_9>, <par_10>, <par_11>) – sets multipole dispersive dielectric parameters. The model_name options are: DRUDEH2, DEBYEH2, LORENTZH2, DEBYEH_DRUDEH, DEBYEH_LORENTZH, DRUDEH_LORENTZH, DRUDEH3, DEBYEH3, LORENTZH3, DEBYEH2_DRUDEH, DEBYEH2_LORENTZH, DEBYEH_DRUDEH2, LORENTZH_DRUDEH2, DEBYEH_LORENTZH2, LORENTZH2_DRUDEH, DEBYEH_DRUDEH_LORENTZH.

·      DRUDEH2: (<par_1>,…,<par_11>) – (mu_inf, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, 0, 0, 0, 0)

·      DEBYEH2: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, tau2H, Amp2H, 0, 0, 0, 0, 0)

·      LORENTZH2: (<par_1>,…,<par_11>) – (mu_inf, mu_s, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, 0, 0, 0)

·      DEBYEH_DRUDEH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, v_c2H, f_p2H, Amp2H, 0, 0, 0, 0)

·      DEBYEH_LORENTZH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, v_c2H, f_p2H, Amp2H, 0, 0, 0, 0)

·      DRUDEH_LORENTZH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, 0, 0, 0)

·      DRUDEH3: (<par_1>,…,<par_11>) – (mu_inf, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H, 0)

·      DEBYEH3: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, tau2H, Amp2H, tau3H, Amp3H, 0, 0, 0)

·      LORENTZH3: (<par_1>,…,<par_11>) – (mu_inf, mu_s, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H)

·      DEBYEH2_DRUDEH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, tau2H, Amp2H, v_c3H, f_p3H, Amp3H, 0, 0)

·      DEBYEH2_LORENTZH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, tau2H, Amp2H, v_c3H, f_p3H, Amp3H, 0, 0)

·      DEBYEH_DRUDEH2: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H, 0)

·      DEBYEH_DRUDEH_LORENTZH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H, 0)

·      LORENTZH_DRUDEH2: (<par_1>,…,<par_11>) – (mu_inf, mu_s, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H)

·      LORENTZH2_DRUDEH: (<par_1>,…,<par_11>) – (mu_inf, mu_s, v_cH, f_pH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H)

·      DEBYEH_LORENTZH2: (<par_1>,…,<par_11>) – (mu_inf, mu_s, tauH, Amp1H, v_c2H, f_p2H, Amp2H, v_c3H, f_p3H, Amp3H, 0)

·       NONLINEARITY (<mediumname>,<model_name>, <hi3>, <tau1>, <tau2>, <alpha>) – sets dispersive nonlineality to medium <mediumname>. The model_name option should be KERR_RAMAN. If medium dispersion model is different than LORENTZ, LORENTZ2 or LORENTZ3 this command is ignored.

·       SETOBJMED (<obj_name>,<mediumname>) – Sets medium of object obj_name to medium mediumname, if mediumname exists in project.

 

See also: Media.

 

Go to next Variables, functions, arithmetic expressions and file reading chapter.

Back to Syntax of the User Defined Object (UDO) language chapter.