<table><tr><td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><tr></table>[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />Â == Standard Python Operators ==Â {| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description|-| style="width:80px;" | -p| style="width:150px;" | Std. Python operator| style="width:270px;" | negative of p|-| style="width:80px;" | p=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is equal to q|-| style="width:80px;" | p+q| style="width:150px;" | Std. Python operator| style="width:270px;" | sum of p and q|-| style="width:80px;" | p-q| style="width:150px;" | Std. Python operator| style="width:270px;" | difference p and q|-| style="width:80px;" | p*q| style="width:150px;" | Std. Python operator| style="width:270px;" | product of p and q|-| style="width:80px;" | p/q| style="width:150px;" | Std. Python operator| style="width:270px;" | quotient of p over q|-| style="width:80px;" | p**q| style="width:150px;" | Std. Python operator| style="width:270px;" | p to the power of q|-| style="width:80px;" | p%q| style="width:150px;" | Std. Python operator| style="width:270px;" | p modulus q|-| style="width:80px;" | p==q| style="width:150px;" | Std. Python operator| style="width:270px;" | p logically equal to q|-| style="width:80px;" | p>q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is greater than q|-| style="width:80px;" | p>=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is greater than or equal to q|-| style="width:80px;" | p<q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is less than q|-| style="width:80px;" | p<=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is less than or equal to q|-| style="width:80px;" | !p| style="width:150px;" | Std. Python operator| style="width:270px;" | Logical not p|-| style="width:80px;" | p and q| style="width:150px;" | Std. Python operator| style="width:270px;" | p Boolean and q|-| style="width:80px;" | p or q| style="width:150px;" | Std. Python operator| style="width:270px;" | p Boolean or q|-|}Â == Basic Mathematical Python Functions ==
{| class="wikitable"
| style="width:270px;" | Absolute value function
| style="width:270px;" | x if x>0, -x if x<0
|-
| ceiling(x)
| Std. Python function
| Ceiling function
| Nearest integer >= x
|-
| floor(x)
| Std. Python function
| Floor function
| Nearest integer <= x
|-
| pow(x,y)
| Std. Python function
| Factorial
| For for integer values of x: n! = n(n-1)(n-2)...3.2.1
|-
| max(x,y)
| -
|-
| asinhnp.arcsinh(x)
| Std. Python function
| Inverse hyperbolic sine function
| -
|-
| acoshnp.arccosh(x)
| Std. Python function
| Inverse hyperbolic cosine function
| -
|-
| atanhnp.arctanh(x)
| Std. Python function
| Inverse hyperbolic tangent function
| -
|-
| np.floor(x)
| Std. Python function
| Floor function
| nearest integer <= x
|}
| style="width:150px;" | Std. Python function
| style="width:270px;" | Sine and cosine integral functions
| style="width:270px;" | See see [https://en.wikipedia.org/wiki/Trigonometric_integral Trigonometric Integrals on Wikipedia.]
|-
| sp.fresnel(x)
| Std. Python function
| Sine and cosine Fresnel integral functions
| See see [https://en.wikipedia.org/wiki/Fresnel_integral Fresnel Integrals on Wikipedia.]
|-
| sp.ellipe(x)
| Std. Python function
| Elliptic function of the first kind
| See see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
|-
| sp.ellipk(x)
| Std. Python function
| Elliptic function of the second kind
| See see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
|-
| sp.expi(x)
| Std. Python function
| Exponential integral function
| See see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
|-
| sp.expn(n,x)
| Std. Python function
| Generalized exponential integral function of order n
| See see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
|-
| sp.erf(x)
| Std. Python function
| Error function
| See see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
|-
| sp.erfc(x)
| Std. Python function
| Complementary error function
| See see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
|-
| sp.gamma(x)
| Std. Python function
| Gamma function
| See see [https://en.wikipedia.org/wiki/Gamma_function Gamma Function on Wikipedia.]
|-
| sp.airy(x)
| Std. Python function
| Airy function of the first (Ai) and second (Bi) kind and their derivatives
| See see [https://en.wikipedia.org/wiki/Airy_function Airy Functions on Wikipedia.]
|-
| sp.j0(x)
| Std. Python function
| Bessel function of the first kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.j1(x)
| Std. Python function
| Bessel function of the first kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.jv(n,x)
| Std. Python function
| Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.y0(x)
| Std. Python function
| Bessel function of the second kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.y1(x)
| Std. Python function
| Bessel function of the second kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.yv(n,x)
| Std. Python function
| Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.i0(x)
| Std. Python function
| Modified Bessel function of the first kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.i1(x)
| Std. Python function
| Modified Bessel function of the first kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.iv(n,x)
| Std. Python function
| Modified Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.k0(x)
| Std. Python function
| Modified Bessel function of the second kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.k1(x)
| Std. Python function
| Modified Bessel function of the second kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.kv(n,x)
| Std. Python function
| Modified Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_jn(n,x)
| Std. Python function
| Spherical Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_yn(n,x)
| Std. Python function
| Spherical Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_in(n,x)
| Std. Python function
| Modified spherical Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_kn(n,x)
| Std. Python function
| Modified spherical Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.lpn(n,x)
| Std. Python function
| Legendre function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
|-
| sp.lqn(n,x)
| Std. Python function
| Legendre function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.lpmn(m,n,x)
| Std. Python function
| Associated Legendre function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
|-
| sp.lqmn(m,n,x)
| Std. Python function
| Associated Legendre function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.eval_chebyt(n,x)
| Std. Python function
| Chebyshev polynomial of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
|-
| sp.eval_chebyu(n,x)
| Std. Python function
| Chebyshev polynomial of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
|-
| sp.eval_legendre(n,x)
| Std. Python function
| Legendre polynomial of order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.eval_laguerre(n,x)
| Std. Python function
| Laguerre polynomial of order n
| See see [https://en.wikipedia.org/wiki/Laguerre_polynomials Laguerre Polynomials on Wikipedia.]
|-
| sp.eval_hermite(n,x)
| Std. Python function
| Hermite polynomial of order n
| See see [https://en.wikipedia.org/wiki/Hermite_polynomials Hermite Polynomials on Wikipedia.]
|-
| Math_cesp.mathieu_cem(n,rq,x)
| Std. Python function
| Even periodic (cosine) Mathieu function of order nand its derivative| See see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
|-
| Math_sesp.mathieu_sem(n,rq,x)
| Std. Python function
| Odd periodic (sine) Mathieu function of order nand its derivative| See see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
|}
== EM.Cube's Miscellaneous Native Python Functions ==
{| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description!scopeactivate="col"| Notes|-| style="width:80px;" | rect(x)| style="width:150px;" | EMAG Python function| style="width:270px;" | Rectangle function| style="width:270px;" | 1 if |x|≤0.5, 0 elsewhere |-| tri(x)| EMAG Python function| Triangle function| 1 if |1-x|≤1, 0 elsewhere |-| spline2(x)| EMAG Python function| Quadratic spline function| -|-| spline3(x)| EMAG Python function| Cubic spline function| -|-| step(x)| EMAG Python function| Step function| 1 if x>0, 0 if x<0|-| sgn(x)| Std. Python function| Sign function| 1 if x>0, -1 if x<0|-| ramp(x)| EMAG Python function| Ramp function| -|-| sqr_wave(x)| EMAG Python function| Square wave function| -|-| tri_wave(x)| EMAG Python function| Triangle wave function| -|-| sawtooth(x)| EMAG Python function| Sawtooth wave function| -|-| sinc(x)| EMAG Python function| Sinc function| sin(pi*x)/(pi*x)|-| gauss(x)| Std. Python function| Gaussian function| -|-| rand(x,y)| EMAG Python function| Random function| -|}
== EM.Cube's Design Python Functions ==SYNTAX: activate({{ArgTypeString}} group_node_label)
{| classEXAMPLE: ''activate("Color_1")'' DESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube]] module for insertion of new objects.  ====add_variable==== SYNTAX: add_variable({{ArgTypeString}} var_name, {{ArgTypeAny}} value) EXAMPLE: ''add_variable("wikitableMyVar",1)'' DESCRIPTION: Adds a new variable to [[EM.Cube]]'s variable list. !scope====array==== SYNTAX: array({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing) EXAMPLE: ''array("colArray_1"| Syntax,"Rect_Strip_1",4,4,1,50,50,0)'' DESCRIPTION: Creates or modifies an array object. !scope====array_custom==== SYNTAX: array_custom({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z) EXAMPLE: ''array_custom("colArray_1"| Type,"Rect_Strip_1",4,4,1,50,50,0,100,100,20,0,0,45)'' DESCRIPTION: Creates or modifies an array object and sets its local coordinate system and rotation angles. !scope====background_layer==== SYNTAX: background_layer({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness) EXAMPLE: ''background_layer("colMid_Layer"| Description,3.3,0.001,1,1.5)'' DESCRIPTION: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup. !scope====base_point_group==== SYNTAX: base_point_group({{ArgTypeString}} label) EXAMPLE: ''base_point_set("colBP_Set_1"| Notes)''|DESCRIPTION: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already exists, the group is activated. ====bh_step==== SYNTAX: bh_step({{ArgTypeReal}} x, {{ArgTypeReal}} T) EXAMPLE: ''bh_step(0.5,1)'' DESCRIPTION: Computes and returns the Blackman-Harris step function.| microstrip_design====bh_window==== SYNTAX: bh_window(z0{{ArgTypeReal}} x,er{{ArgTypeReal}} T)| EMAG Python EXAMPLE: ''bh_window(0.5,1)'' DESCRIPTION: Computes and returns the Blackman-Harris window function.| Returns ====box==== SYNTAX: box({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: ''box("Box_1",0,0,0,50,50,100)'' DESCRIPTION: Draws a box object in the widthproject workspace under the currently activated material group node, or modifies the box named 'label' if it already exists. ====capacitance==== SYNTAX: capacitance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4) EXAMPLE: ''capacitance("FI_1",-to10,-height ratio of 10,5,10,10,10,0,0,-10,0,0,10)'' DESCRIPTION: Creates a microstrip transmission line capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.| z0====capacitor==== SYNTAX: characteristic impedance capacitor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} capacitance_pF) EXAMPLE: ''capacitor("Cap_1","Line_1",25,10)'' DESCRIPTION: Creates a capacitor in Ohms[[EM.Tempo]]. If the capacitor 'label' already exists, erits properties are modified. ====charge_group==== SYNTAX: substrate permittivitycharge_group({{ArgTypeString}} label, {{ArgTypeAny}} density)|EXAMPLE: ''charge_group("Charge_1",-1e-5)''| microstrip_z0DESCRIPTION: Creates a volume charge source group in [[EM.Ferma]]. If the charge group 'label' already exists, the group is activated. ====circ_strip==== SYNTAX: circ_strip(w{{ArgTypeString}} label,h{{ArgTypeAny}} x0,er{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])| EMAG Python function| Returns EXAMPLE: ''circ_strip("cs_1",0,0,0,50,0)'' DESCRIPTION: Draws a circle strip object in the characteristic impedance of project workspace under the currently activated material group node, or modifies the circle strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a microstrip transmission line sweep about the circle strip's azimuth axis. ====circle==== SYNTAX: circle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle) EXAMPLE: ''circle("pyramid_1",0,0,0,10,10,100)'' DESCRIPTION: Draws a circular curve object in Ohms the project workspace under the currently activated material group node, or modifies the circle named 'label' if it already exists. The parameters start_angle and end_angle are in degrees.| w====clone==== SYNTAX: microstrip widthclone({{ArgTypeString}} label, h {{ArgTypeString}} object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0) EXAMPLE: substrate height''clone("NewObj", er"MyObj",10,10,0)'' DESCRIPTION: substrate permittivityCreates a copy of the specified object and repositions it at the given coordinates. |-| microstrip_eps_eff====close_curve==== SYNTAX: close_curve(w{{ArgTypeString}} label,h{{ArgTypeString}} close_state) EXAMPLE: ''close_curve("Curve_1",1)'' DESCRIPTION: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve. ====coaxial_design==== SYNTAX: coaxial_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er)| EMAG Python function| Returns EXAMPLE: ''coaxial_design(50,2.2)'' DESCRIPTION: Computes and returns the effective permittivity ratio of the radius of the outer conductor to the radius of the inner conductor of a microstrip coaxial transmission line of characteristic impedance z0 (in Ohms) with core relative permittivity er. ====coaxial_src==== SYNTAX: coaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''coaxial_src("COAX_1","Cyl_1",1.5,"+z")'' DESCRIPTION: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified. ====color_group==== SYNTAX: color_group({{ArgTypeString}} label) EXAMPLE: ''color_group("Color_1")'' DESCRIPTION: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated.| w====conduction_current_integral==== SYNTAX: microstrip widthconduction_current_integral({{ArgTypeString}} label, h{{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: substrate ''conduction_current_integral("FI_1",-10,-10,0,10,10,0)'' DESCRIPTION: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====conductive_sheet_group==== SYNTAX: conductive_sheet_group({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness) EXAMPLE: ''conductive_sheet_group("Cond_1",100, 0.01)'' DESCRIPTION: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated. ====cone==== SYNTAX: cone({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_radius, {{ArgTypeAny}} height[, er{{ArgTypeAny}} top_radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: substrate permittivity''cone("Cone_1",0,0,0,30,40,20,0,180)''|-| microstrip_lambda_gDESCRIPTION: Draws a cone object in the project workspace under the currently activated material group node, or modifies the cone named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axis. ====consolidate==== SYNTAX: consolidate({{ArgTypeString}} object) EXAMPLE: ''consolidate("Poly_1")'' DESCRIPTION: Consolidates a specified object. ====cpw_design_s==== SYNTAX: cpw_design_s({{ArgTypeReal}} z0, {{ArgTypeReal}} w,{{ArgTypeReal}} h,{{ArgTypeReal}} er) EXAMPLE: ''cpw_design_s(50,freq_hertz2,0.5,2.2)''| EMAG Python function| Returns DESCRIPTION: Computes and returns the guide wavelength center strip width (in meters) of a microstrip CPW transmission line in meters| w: microstrip of characteristic impedance z0 with slot widthw, h: substrate height, er: h and substrate relative permittivity, freq_hertz: frequency in Hzer.|-| ====cpw_design_w==== SYNTAX: cpw_design_w({{ArgTypeReal}} z0,{{ArgTypeReal}} s,{{ArgTypeReal}} h,{{ArgTypeReal}} er)| EMAG Python function| Returns EXAMPLE: ''cpw_design_w(50,1,0.5,2.2)'' DESCRIPTION: Computes and returns the slot width (in meters) of a coplanar waveguide (CPW) transmission line | z0: of characteristic impedance in Ohms, s: z0 with center strip width s, substrate height h and substrate relative permittivity er. ====cpw_src==== SYNTAX: cpw_src(or slot {{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''cpw_src("CPW_1", h"Rect_1",1.5,"+x")'' DESCRIPTION: substrate Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already exists, its properties are modified. ====cubecad_mesh_settings==== SYNTAX: cubecad_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol) EXAMPLE: ''cubecad_mesh_settings(5,10)'' DESCRIPTION: Sets the parameters of CubeCAD's mesh generator. ====current_dist==== SYNTAX: current_dist({{ArgTypeString}} label) EXAMPLE: ''current_dist("CD_1")'' DESCRIPTION: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified. ====current_integral==== SYNTAX: current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''current_integral("FI_1",-10,-10,0,10,10,0)'' DESCRIPTION: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====cylinder==== SYNTAX: cylinder({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, er{{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: substrate permittivity''cylinder("Cylinder_1",0,0,0,10,100)''|DESCRIPTION: Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis. ====delete==== SYNTAX: delete({{ArgTypeString}} node_name) EXAMPLE: ''delete("Box_1")'' DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.  ====delete_background_layer==== SYNTAX: delete_background_layer({{ArgTypeString}} label) EXAMPLE: ''delete_background_layer("Mid_Layer")'' DESCRIPTION: Deletes a finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup.| cpw_design_s====dielectric_group==== SYNTAX: dielectric_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho) EXAMPLE: ''dielectric_group("Dielectric_1","my_eps",0,1,0)'' DESCRIPTION: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated. ====diode==== SYNTAX: diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor) EXAMPLE: ''diode("Diode_1","Line_1",25,0,10,300,1)'' DESCRIPTION: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modified. ====distributed_src==== SYNTAX: distributed_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''distributed_src("DS_1","Rect_1","+y","uniform")'' DESCRIPTION: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified. ====ellipse_strip==== SYNTAX: ellipse_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0,w{{ArgTypeAny}} radius_x,h{{ArgTypeAny}} radius_y[,er{{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])| EMAG Python function| Returns EXAMPLE: ''ellipse_strip("es_1",0,0,0,50,0)'' DESCRIPTION: Draws a ellipse strip object in the center project workspace under the currently activated material group node, or modifies the ellipse strip width object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse strip's azimuth axis. ====ellipsoid==== SYNTAX: ellipsoid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]) EXAMPLE: ''ellipsoid("Ellipsoid_1",0,0,0,100,100,50,0,360)'' DESCRIPTION: Draws an ellipsoid object in the project workspace under the currently activated material group node, or slot spacingmodifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipsoid's azimuth axis. ====emferma_engine_settings==== SYNTAX: emferma_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)  EXAMPLE: ''emferma_engine_settings("bicg-stab",1e-3,100)'' DESCRIPTION: Sets the parameters of [[EM.Ferma]]'s electrostatic and magnetostatic simulation engines. ====emferma_mesh_settings==== SYNTAX: emferma_mesh_settings({{ArgTypeAny}} cell_size_x, {{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z) EXAMPLE: ''emferma_mesh_settings(0.5,0.5,0.5)'' DESCRIPTION: Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator. ====emillumina_engine_settings==== SYNTAX: emillumina_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} is_fixed_iteration, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''emillumina_engine_settings("ipo",0,1e-2,20)'' DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine. ====emillumina_mesh_settings==== SYNTAX: emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''emillumina_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s mesh generator. ====emlibera_engine_settings_smom==== SYNTAX: emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha) EXAMPLE: ''emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s surface MoM simulation engines. ====emlibera_engine_settings_wmom==== SYNTAX: emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''emlibera_engine_settings_wmom("bicg",1e-3,1000)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s wire MoM simulation engines. ====emlibera_mesh_settings==== SYNTAX: emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''emlibera_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s mesh generator. ====empicasso_engine_settings==== SYNTAX: empicasso_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''empicasso_engine_settings("bicg",1e-3,1000)'' DESCRIPTION: Sets the parameters of [[EM.Picasso]]'s planar MoM simulation engine. ====empicasso_mesh_settings==== SYNTAX: empicasso_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''empicasso_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Picasso]]'s planar hybrid mesh generator. ====emtempo_engine_settings==== SYNTAX: emtempo_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps) EXAMPLE: ''emtempo_engine_settings("single-precision",-50,20000)'' DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s FDTD simulation engine. ====emtempo_mesh_settings==== SYNTAX: emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambda, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs) EXAMPLE: ''emtempo_mesh_settings(30,0.1,0.1,0.02)'' DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator. ====emterrano_engine_settings==== SYNTAX: emterrano_engine_settings({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold) EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine. ====emterrano_mesh_settings==== SYNTAX: emterrano_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol) EXAMPLE: ''emterrano_mesh_settings(5,10)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s facet mesh generator. ====energy_electric==== SYNTAX: energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_electric("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====energy_magnetic==== SYNTAX: energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates a coplanar waveguide magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====explode==== SYNTAX: explode(CPW{{ArgTypeString}} object) transmission line  EXAMPLE: ''explode("MyArray")'' DESCRIPTION: Explodes an object into its basic primitives. ====export_dxf==== SYNTAX: export_dxf({{ArgTypeString}} file_name) EXAMPLE: ''export_dxf("MyDXFModel.DXF")'' DESCRIPTION: Exports the physical structure of the project workspacean to a DXF model file. If the file path is not specified, the current project folder is assumed as the path. ====export_py==== SYNTAX: export_py({{ArgTypeString}} file_name) EXAMPLE: ''export_py("MyPYModel.PY")'' DESCRIPTION: Exports the physical structure of the project workspace or the current object selection to a Python geometry file. The default path is the Python subfolder under "Documents → EMAG". ====export_stl==== SYNTAX: export_stl({{ArgTypeString}} file_name) EXAMPLE: ''export_stl("MySTLModel.STL")'' DESCRIPTION: Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified, the current project folder is assumed as the path. ====extrude==== SYNTAX: extrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends) EXAMPLE: ''extrude("Extrude_1","Rect_Strip1",50)'' DESCRIPTION: Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object, the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the face's normal.| ====farfield==== SYNTAX: farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr) EXAMPLE: ''farfield("FF_1",1,1)'' DESCRIPTION: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified. ====field_probe==== SYNTAX: field_probe({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: characteristic impedance in Ohms''field_probe("FS_1", w0,0,50)'' DESCRIPTION: slot widthCreates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, hits properties are modified. ====field_sensor==== SYNTAX: substrate heightfield_sensor({{ArgTypeString}} label, er{{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples) EXAMPLE: substrate permittivity''field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''|DESCRIPTION: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.| coaxial_design====field_sensor_grid==== SYNTAX: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''field_sensor_grid("FS_1",er"z",0,0,0)''| EMAG Python function| Returns DESCRIPTION: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the ratio observable 'label' already exists, its properties are modified. ====fill_curve==== SYNTAX: fill_curve({{ArgTypeString}} object) EXAMPLE: ''fill_curve("Curve_1")'' DESCRIPTION: Fill the interior of the specified closed curve object. ====fillet==== fillet({{ArgTypeString}} object, {{ArgTypeAny}} radius ) EXAMPLE: ''fillet("Rect_1",5)'' DESCRIPTION: Fillets the corners of the outer conductor to specified surface or curve object by the specified radius of . ====flux_electric==== SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_electric("FI_1",-10,-10,5,10,10,10)'' DESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the inner condutcor of observable 'label' already exists, its properties are modified. ====flux_magnetic==== SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_magnetic("FI_1",0,0,-10,10,0,10)'' DESCRIPTION: Creates a coaxial transmission line magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.| ====fractal_tree==== SYNTAX: fractal_tree({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} key_type, {{ArgTypeAny}} key_size, {{ArgTypeAny}} n_level, {{ArgTypeAny}} sep_angle, {{ArgTypeAny}} n_gen, {{ArgTypeAny}} prune_factor, {{ArgTypeAny}} thickness, {{ArgTypeAny}} thick_factor) EXAMPLE: characteristic impedance ''fractal_tree("Fractal_1",0,0,0,"line",10,3,30,3,0,0,0)'' DESCRIPTION: Generates a fractal tree in Ohmsthe project workspace under the currently activated material group node, eror modifies the fractal tree named 'label' if it already exists. ====freeze==== SYNTAX: core permittivityfreeze({{ArgTypeString}} object, {{ArgTypeReal}} freeze_state)|-| waveguide_designEXAMPLE: ''freeze(er"MyObj",freq_hertz1)''| EMAG Python DESCRIPTION: Sets the freeze state of an object (0/1).  ====gauss==== SYNTAX: gauss({{ArgTypeReal}} x, ArgTypeReal}} mu, ArgTypeReal}} sigma) EXAMPLE: ''gauss(0.5,0,1)'' DESCRIPTION: Computes and returns the Gaussian functionof mean mu and standard deviation sigma: exp(-0.5*((x-mu)/sigma)**2)/sigma/sqrt(2*pi).| ====gauss_beam==== SYNTAX: gauss_beam({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode) EXAMPLE: ''gauss_beam("PW_1",180,0,"tm",0,0,0,20,0,0)'' DESCRIPTION: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modified. ====generate_input_files==== SYNTAX: generate_input_files() EXAMPLE: ''generate_input_files()'' DESCRIPTION: Generates all the input files for the simulation engine of the current module without running a simulation. ====geo==== SYNTAX: geo({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''geo(1,2)'' DESCRIPTION: Computes and returns the geometric mean of x and y: sqrt(x*y). ====get_area==== SYNTAX: get_area({{ArgTypeString}} object) EXAMPLE: ''get_area("ellipse_1")'' DESCRIPTION: Returns the minimum larger dimension in meter area of a surface object or the cross section total surface area of a hollow rectangular waveguide above cutoff solid object.| er====get_axis==== SYNTAX: filling permittivityget_axis({{ArgTypeString}} object, freq_hertz{{ArgTypeString}} axis, {{ArgTypeString}} coordinate) EXAMPLE: frequency in Hz''get_axis("pyramid_1","x","y")''|DESCRIPTION: Returns the specified coordinate of the unit vector along the specified local axis of an object. ====get_domain_extent==== SYNTAX: get_domain_extent({{ArgTypeString}} coordinate) EXAMPLE: ''get_domain_extent("x")'' DESCRIPTION: Returns the size of the computational domain along the specified direction. ====get_extent==== SYNTAX: get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_extent("pyramid_1","x")'' DESCRIPTION: Returns the size of the bounding box of an object along the specified direction. ====get_lcs==== SYNTAX: get_lcs({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_lcs("pyramid_1","x")'' DESCRIPTION: Returns the specified coordinate of the LCS of an object. ====get_lcs_offset==== SYNTAX: get_lcs_offset({{ArgTypeString}} object, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinate) EXAMPLE: ''get_lcs_offset("box_1",50,50,0,"x")'' DESCRIPTION: Returns the specified coordinate of the LCS of an object after being translated by the specified offset values along the three principal axes. ====get_length==== SYNTAX: get_length({{ArgTypeString}} object) EXAMPLE: ''get_length("helix_1")'' DESCRIPTION: Returns the length of a curve object. ====get_rot==== SYNTAX: get_rot({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_rot("pyramid_1","x")'' DESCRIPTION: Returns the specified rotation angle of an object. ====get_standard_output==== SYNTAX: get_standard_output({{ArgTypeString}} output_name)  EXAMPLE: ''get_standard_output("S11M")'' DESCRIPTION: Returns the computed value of the specified standard output parameter at the end of a simulation. ====get_vertex==== SYNTAX: get_vertex({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate) EXAMPLE: ''get_vertex("pyramid_1",0,"x")'' DESCRIPTION: Returns the specified coordinate of the specified vertex of the bounding box of an object. The vertices are specified by node indices. The lower front left corner has an index of 0, while the upper back right corner has an index of 7. The indices are numbered counterclockwise, with the bottom face first and top face next.  ====get_volume==== SYNTAX: get_volume({{ArgTypeString}} object) EXAMPLE: ''get_volume("pyramid_1")'' DESCRIPTION: Returns the volume of a solid object. ====global_ground==== SYNTAX: global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''global_ground(1,3.3,0.001)'' DESCRIPTION: Set the state of [[EM.Terrano]]'s global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0.  ====group==== SYNTAX: group({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...) EXAMPLE: ''group("Composite_1","Box_1","Box_2","Box_3")'' DESCRIPTION: Groups a number of objects into a composite object with the given label. ====harm==== SYNTAX: harm({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''harm(1,2)'' DESCRIPTION: Computes and returns the harmonic mean of x and y: 2/(1/x+1/y). ====helix==== SYNTAX: helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir) EXAMPLE: ''helix("Helix_1",0,0,0,15,15,10,0)'' DESCRIPTION: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwise.| ====horn_design_a==== SYNTAX: horn_design_a({{ArgTypeReal}} D0_dB,{{ArgTypeReal}} a_lambda,{{ArgTypeReal}} b_lambda)| EMAG Python function| Returns EXAMPLE: ''horn_design_a(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna | D0_dB: with directivity d, a_lambda: D0_dB and wavelength-normalized larger dimension of the feed waveguidedimensions a_lambda and b_lambda. ====horn_design_b==== SYNTAX: horn_design_b({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda) EXAMPLE: ''horn_design_b(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.|-| horn_design_b====horn_design_l==== SYNTAX: horn_design_l({{ArgTypeReal}} D0_dB,{{ArgTypeReal}} a_lambda,{{ArgTypeReal}} b_lambda)| EMAG Python function| Returns EXAMPLE: ''horn_design_l(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture length of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda. ====huygens_src==== SYNTAX: huygens_src({{ArgTypeString}} label, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot]) EXAMPLE: ''huygens_src("HS_1","Huygens_1.HUY",1,100,100,0,0,0,0)'' DESCRIPTION: Creates a Huygens source. If the Huygens source 'label' already exists, its properties are modified. ====huygens_surface==== SYNTAX: huygens_surface({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples) EXAMPLE: ''huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)'' DESCRIPTION: Creates a Huygens surface observable. If the observable 'label' already exists, its properties are modified. ====huygens_surface_grid==== SYNTAX: huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''huygens_surface_grid("HS_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified. ====hyperbola==== SYNTAX: hyperbola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only) EXAMPLE: ''hyperbola("Hyperbola _1",0,0,0,50,40,20,0)'' DESCRIPTION: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn. | D0_dB====impedance_surface_group==== SYNTAX: directivity dimpedance_surface_group({{ArgTypeString}} label, a_lambda{{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag) EXAMPLE: wavelength''impedance_surface_group("IMP_1",100,-normalized larger dimension 100)'' DESCRIPTION: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated. ====impenetrable_surface_group==== SYNTAX: impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''impenetrable_surface_group("Impenet_1",2.2,0.0001)'' DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated. ====import_dxf==== SYNTAX: import_dxf({{ArgTypeString}} file_name) EXAMPLE: ''import_dxf("MyDXFModel.DXF")'' DESCRIPTION: Imports an external DXF model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_igs==== SYNTAX: import_igs({{ArgTypeString}} file_name) EXAMPLE: ''import_igs("MyIGSModel.IGS")'' DESCRIPTION: Imports an external IGES model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_py==== SYNTAX: import_py({{ArgTypeString}} file_name) EXAMPLE: ''import_py("MyPYModel.PY")'' DESCRIPTION: Imports a Python geometry file to the project workspace. The default path is the Python subfolder under "Documents → EMAG". ====import_stl==== SYNTAX: import_stl({{ArgTypeString}} file_name) EXAMPLE: ''import_stl("MySTLModel.STL")'' DESCRIPTION: Imports an external STL model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_stp==== SYNTAX: import_stp({{ArgTypeString}} file_name) EXAMPLE: ''import_stp("MySTPModel.STP")'' DESCRIPTION: Imports an external STEP model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====inductance==== SYNTAX: inductance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4) EXAMPLE: ''inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)'' DESCRIPTION: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====inductor==== SYNTAX: inductor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH) EXAMPLE: ''inductor("Cap_1","Line_1",25,10)'' DESCRIPTION: Creates a inductor in [[EM.Tempo]]. If the inductor 'label' already exists, its properties are modified. ====intersect==== SYNTAX: intersect({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2) EXAMPLE: ''intersect("Intersection_Object","Rect_Strip1","Rect_Strip2")'' DESCRIPTION: Creates a Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists. ====line==== SYNTAX: line({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir]) EXAMPLE: ''line("my_line",0,0,0,100,"x")'' DESCRIPTION: Draws a Line object in the project workspace under the currently activated material group node, or modifies the line named 'label' if it already exists. Without the argument "dir", a vertical line is drawn by default.  ====loft==== SYNTAX: loft({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} loft_height, {{ArgTypeAny}} cap_base) EXAMPLE: ''loft("Loft_1","Rect_Strip1",50)'' DESCRIPTION: Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object, the pre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face's normal. ====lumped_src==== SYNTAX: lumped_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''lumped_src("LS_1","Line_1",50,0)'' DESCRIPTION: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified. ====magnet_group==== SYNTAX: magnet_group({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz) EXAMPLE: ''magnet_group("Magnet_1",1,0,0,100)'' DESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already exists, the group is activated. ====mcos==== SYNTAX: mcos({{ArgTypeReal}} x, {{ArgTypeReal}} r) EXAMPLE: ''mcos(0.5,2)'' DESCRIPTION: Computes and returns the super-quadratic cosine function of order r. ====mean==== SYNTAX: mean({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''mean(1,2)'' DESCRIPTION: Computes and returns the feed waveguidearithmetic mean of x and y: 0.5*(x+y). ====merge_curve==== SYNTAX: merge_curve({{ArgTypeString}} object_1, b_lambda{{ArgTypeString}} object_2) EXAMPLE: ''merge_curve("Curve_1","Curve_2")'' DESCRIPTION: Merges two specified curve objects into a single curve. ====mesh==== SYNTAX: mesh() DESCRIPTION: Generates and displays the mesh of the physical structure. ====microstrip_design==== SYNTAX: microstrip_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_design(50,2.2)'' DESCRIPTION: Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er. ====microstrip_eps_eff==== SYNTAX: microstrip_eps_eff({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_eps_eff(2,0.5,2.2)'' DESCRIPTION: Computes and returns the effective permittivity of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er. ====microstrip_lambda_g==== SYNTAX: microstrip_lambda_g({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_lambda_g(2,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the guide wavelength(in meters) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz. ====microstrip_src==== SYNTAX: microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''microstrip_src("MS_1","Rect_1",1.5,"+x")'' DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modified. ====microstrip_z0==== SYNTAX: microstrip_z0({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_z0(2,0.5,2.2)'' DESCRIPTION: Computes and returns the characteristic impedance (in Ohms) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er. ====microstrip_zoc==== SYNTAX: microstrip_zoc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_zoc(2,25,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the input reactance (in Ohms) of an open-normalized smaller dimension circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz. ====microstrip_zsc==== SYNTAX: microstrip_zsc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_zsc(2,25,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the feed waveguide input reactance (in Ohms) of a short-circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.|====mirror==== SYNTAX: mirror({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ) EXAMPLE: ''mirror("pyramid_1",0,0,0,1,0,0)'' DESCRIPTION: Mirrors an object in a plane defined by the specified point coordinates and specified normal vector components. ====move_to==== SYNTAX: move_to({{ArgTypeString}} object, {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name]) EXAMPLE: ''move_to("NewObj","MyObj",10,10,0)'' DESCRIPTION: Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module.  ====msin==== SYNTAX: msin({{ArgTypeReal}} x, {{ArgTypeReal}} r) EXAMPLE: ''msin(0.5,2)'' DESCRIPTION: Computes and returns the super-quadratic sine function of order r. ====nurbs_curve==== SYNTAX: nurbs_curve({{ArgTypeString}} label, {{ArgType| horn_design_l3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''nurbs_curve(D0_dB"nc_1",a_lambda(0,b_lambda0,0),(1,0,0),(1,0,0))''| EMAG DESCRIPTION: Creates or modifies a NURBS Curve object in the project workspace. Each point is represented with a Python functiontuple type. The curve is closed if p0 is specified again as pn, otherwise, it is open. ====nurbs_strip==== SYNTAX: nurbs_strip({{ArgTypeString}} label, {{ArgType| Returns 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0,0))'' DESCRIPTION: Creates or modifies a NURBS Strip object in the wavelengthproject workspace. Each point is represented with a Python tuple type. The nurbs_strip function is 'self-normalized length closing' -- there is no need to supply the first point again at the end of the point list. ====ohmic_loss==== SYNTAX: ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''ohmic_loss("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates an optimal pyramidal horn antenna ohmic loss integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====parabola==== SYNTAX: parabola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only) EXAMPLE: ''parabola("Parabola _1",0,0,0,50,20,0)'' DESCRIPTION: Draws a parabola object in the project workspace under the currently activated material group node, or modifies the parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the parabola will be drawn. | D0_dB====param_curve==== SYNTAX: directivity dparam_curve({{ArgTypeString}} label, a_lambda{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)]) EXAMPLE: wavelength''param_curve("Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")'' DESCRIPTION: Generates a parametric curve in the project workspace under the currently activated material group node, or modifies the parametric curve named 'label' if it already exists. ====param_surface==== SYNTAX: param_surface({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function) EXAMPLE: ''param_surface("Surf_1",0,0,0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")'' DESCRIPTION: Generates a parametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already exists. ====pec_group==== SYNTAX: pec_group({{ArgTypeString}} label) EXAMPLE: ''pec_group("PEC_1")'' DESCRIPTION: Creates a PEC material group in the current module. If the PEC group 'label' already exists, the group is activated. ====pec_via_group==== SYNTAX: pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer) EXAMPLE: ''pec_via_group("PEC_1",10)'' DESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already exists, the group is activated. ====pec_voltage_group==== SYNTAX: pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage) EXAMPLE: ''pec_voltage_group("PEC_1",10)'' DESCRIPTION: Creates a fixed-normalized larger dimension potential PEC object group in the current module. If the PEC group 'label' already exists, the group is activated. ====penetrable_surface_group==== SYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness) EXAMPLE: ''penetrable_surface_group("Penet_1",2.2,0.0001, 1)'' DESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activated. ====penetrable_volume_group==== SYNTAX: penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''penetrable_volume_group("Vol_Penet_1",2.2,0.0001)'' DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated. ====pipe_sweep==== SYNTAX: pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius) EXAMPLE: ''pipe_sweep("Curve_1",5)'' DESCRIPTION: Creates a pipe version of a given curve object. ====planewave==== SYNTAX: planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization) 'EXAMPLE: ''planewave("PW_1",180,0,"tm")'' DESCRIPTION: Creates a plane wave source. If the feed waveguideplane wave source 'label' already exists, b_lambdaits properties are modified. ====plot_file==== SYNTAX: wavelength-normalized smaller dimension plot_file({{ArgTypeString}} filename)  EXAMPLE: ''plot_file("D0.DAT")'' DESCRIPTION: Plots the contents of a specified data file in EM.Grid. ====pmc_group==== SYNTAX: pmc_group({{ArgTypeString}} label) EXAMPLE: ''pmc_group("PMC_1")'' DESCRIPTION: Creates a PMC material group in the feed waveguide current module. If the PMC group 'label' already exists, the group is activated. ====point==== SYNTAX: point({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''point("Point_1",0,0,10)'' DESCRIPTION: Draws a point in the project workspace under the currently activated material group node, or modifies the point named 'label' if it already exists. ====polygon_reg==== SYNTAX: polygon_reg({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides) EXAMPLE: ''polygon_reg("ts_1",0,0,0,50,100,80,1)'' DESCRIPTION: Draws a regular polygon object in the project workspace under the currently activated material group node, or modifies the regular polygon object named 'label' if it already exists.  ====polygonize==== SYNTAX: polygonize({{ArgTypeString}} object, {{ArgTypeAny}} side_length) EXAMPLE: ''polygonize("Cric_1",2)'' DESCRIPTION: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline. ====polyline==== SYNTAX: polyline({{ArgTypeString}} label, {{ArgType|3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))'' DESCRIPTION: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open. ====polymesh==== SYNTAX: polymesh({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} edge_length) EXAMPLE: ''polymesh("Poly_1","Cric_1",2)'' DESCRIPTION: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object. ====polystrip==== SYNTAX: polystrip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''polystrip("ps_1",(0,0,0),(1,0,0),(1,0,0))'' DESCRIPTION: Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list. ====port_definition_custom==== SYNTAX: port_definition_custom({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, ..., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...) EXAMPLE: ''port_definition_custom("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))'' DESCRIPTION: Creates a custom port definition observable. If the observable 'label' already exists, its properties are modified. ====port_definition_default==== SYNTAX: port_definition_default({{ArgTypeString}} label) EXAMPLE: ''port_definition_default("PD_1")'' DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified. ====probe_gap_src==== SYNTAX: probe_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''probe_gap_src("Probe_1","Via_1",0)'' DESCRIPTION: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, its properties are modified. ====pyramid==== SYNTAX: pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height) EXAMPLE: ''pyramid("Pyramid_1",0,0,0,10,10,100)'' DESCRIPTION: Draws a pyramid object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists. ====radial_strip==== SYNTAX: radial_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)
== EM.CubeEXAMPLE: ''radial_strip("Radial_1",0,0,0,50,0,90)''s Python Functions for Geometric Object Creation ==
====box({{ArgTypeString}} DESCRIPTION: Draws a radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip object named 'label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])====' if it already exists.
''Example:box("Box_1",0,0,0,50,50,100)''====rail_sweep====
DescriptionSYNTAX: Draws a box object in the project workspace under the currently activated material group noderail_sweep({{ArgTypeString}} rail_object, or modifies the box named 'label' if it already exists.{{ArgTypeString}} sweep_object)
====cylinderEXAMPLE: ''rail_sweep({{ArgTypeString}} label"Curve_1", {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]"Curve_2")====''
''ExampleDESCRIPTION:cylinder("Cylinder_1",0,0,0,10,100)''Rail-sweeps the specified sweep object along the specified curve object.
Description: Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis.====ramp====
====coneSYNTAX: ramp({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} top_radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]x)====
EXAMPLE: ''Example:coneramp("Cone_1",0,0,0,30,40,20,0,180.5)''
DescriptionDESCRIPTION: Draws a cone object in Computes and returns the project workspace under the currently activated material group noderamp function: x if x>0, or modifies the cone named 'label' 0 if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axisx<0.
====pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)rand====
''ExampleSYNTAX:pyramidrand("Pyramid_1"{{ArgTypeReal}} x,0,0,0,10,10,100{{ArgTypeReal}} y)''
DescriptionEXAMPLE: Draws a pyramid object in the project workspace under the currently activated material group node''rand(0, or modifies the pyramid named 1)'label' if it already exists.
====sphere({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])====DESCRIPTION: Computes and returns a random number between x and y using an uniform distribution.
''Example:sphere("Sphere_1",0,0,0,10,0,180)''====random_group====
DescriptionSYNTAX: Draws a sphere object in the project workspace under the currently activated Material Group node, or modifies the sphere named 'random_group({{ArgTypeString}} label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the sphere's azimuth axis., {{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)
====ellipsoidEXAMPLE: ''random_group({{ArgTypeString}} label"Rand_1", {{ArgTypeAny}} x0"Rect_1", {{ArgTypeAny}} y0"Box_1", {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]100)====''
''ExampleDESCRIPTION:ellipsoid("Ellipsoid_1",0,0,0,100,100,50,0,360)''Creates a random group using the specified key object and confines them in the specified container object.
Description: Draws an ellipsoid object in the project workspace under the currently activated material group node, or modifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipsoid's azimuth axis.====rcs_bistatic====
====torusSYNTAX: rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} x0theta_incr, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minorphi_incr[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_anglefrequency])====
EXAMPLE: ''Example:torusrcs_bistatic("Torus_1RCS_1",0,0,0,501,201)''
DescriptionDESCRIPTION: Draws an torus object in Creates a bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the torus named observable 'label' if it already exists. The arguments start_angle and end_angle , its properties are in degrees and specify a sweep about the torus's azimuth axismodified.
====rect_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)rcs_monostatic====
''ExampleSYNTAX:rect_striprcs_monostatic("my_rectangle"{{ArgTypeString}} label,0{{ArgTypeAny}} theta_incr,0{{ArgTypeAny}} phi_incr[,0,50,20{{ArgTypeAny}} frequency])''
DescriptionEXAMPLE: Draws a rectangle Strip object in the project workspace under the currently activated material group node''rcs_monostatic("RCS_1",1, or modifies the rectangle strip object named 1)'label' if it already exists.
====circ_strip({{ArgTypeString}} DESCRIPTION: Creates a monostatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])====its properties are modified.
''Example:circ_strip("cs_1",0,0,0,50,0)''====receiver_set====
DescriptionSYNTAX: Draws a circle strip object in the project workspace under the currently activated material group node, or modifies the circle strip object named 'receiver_set({{ArgTypeString}} label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the circle strip's azimuth axis., {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
====radial_stripEXAMPLE: ''receiver_set({{ArgTypeString}} label"TX_1", {{ArgTypeAny}} x0"PT_1", {{ArgTypeAny}} y0"DPL_STD.RAD", {{ArgTypeAny}} z00, {{ArgTypeAny}} radius90, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle0)====''
DESCRIPTION: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label'Example:radial_strip("Radial_1"already exists,0,0,0,50,0,90)''its properties are modified.
Description: Draws a radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip object named 'label' if it already exists. ====rect====
====ellipse_stripSYNTAX: rect({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]x)====
EXAMPLE: ''Example:ellipse_striprect("es_1",0,0,0,50,0.1)''
DescriptionDESCRIPTION: Draws a ellipse strip object in Computes and returns the project workspace under the currently activated material group node, or modifies the ellipse strip object named 'label' rectangular window function: 1 if it already existsx<0. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse strip's azimuth axis5, 0 elsewhere.
====triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)rect_gap_src====
''ExampleSYNTAX:triangle_striprect_gap_src("ts_1"{{ArgTypeString}} label,0{{ArgTypeAny}} rect_object,0{{ArgTypeAny}} offset,0{{ArgTypeAny}} polarity[,50{{ArgTypeAny}} amplitude,100{{ArgTypeAny}} phase,90{{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Draws a triangle strip object in the project workspace under the currently activated material group node''rect_gap_src("GAP_1","Rect_1",0, or modifies the triangle strip object named 0)'label' if it already exists.
====taper_strip({{ArgTypeString}} DESCRIPTION: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)====its properties are modified.
''Example:taper_strip("ts_1",0,0,0,50,100,80,1)''====rect_strip====
DescriptionSYNTAX: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'rect_strip({{ArgTypeString}} label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn. {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)
====polygon_regEXAMPLE: ''rect_strip({{ArgTypeString}} label"my_rectangle", {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00, {{ArgTypeAny}} radius50, {{ArgTypeAny}} n_sides20)====''
''ExampleDESCRIPTION:polygon_reg("ts_1",0,0,0,50,100,80Draws a rectangle Strip object in the project workspace under the currently activated material group node,1)or modifies the rectangle strip object named 'label'if it already exists.
Description: Draws a regular polygon object in the project workspace under the currently activated material group node, or modifies the regular polygon object named 'label' if it already exists. ====rename====
====spiral_stripSYNTAX: rename({{ArgTypeString}} labelnew_label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAnyArgTypeString}} is_dualold_label)====
EXAMPLE: ''Example:spiral_striprename("Spiral _1Box_2",0,0,0,10,50,5,0,0"Box_1")''
DescriptionDESCRIPTION: Draws Deletes a spiral strip object in the project workspace under the currently activated material group node, or modifies name from the spiral strip named 'label' if it already existsnavigation tree. If the Boolean parameter "spiral_dir" is 1, the spiral curve will The node can be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1any geometric object, a dual-arm spiral curve will be drawnsource, observable or material group.
====polystrip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)resistance====
''ExampleSYNTAX:polystripresistance("ps_1"{{ArgTypeString}} label,(0{{ArgTypeAny}} x1,0{{ArgTypeAny}} y1,0){{ArgTypeAny}} z1,(1{{ArgTypeAny}} x2,0{{ArgTypeAny}} y2,0){{ArgTypeAny}} z2,(1{{ArgTypeAny}} x3,0{{ArgTypeAny}} y3,0){{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)''
DescriptionEXAMPLE: Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' resistance("FI_1",0,0,-10,0,0,10,- there is no need to supply the first point again at the end of the point list.10,-10,0,10,10,0)''
====nurbs_strip({{ArgTypeString}} DESCRIPTION: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ..its properties are modified. {{ArgType| 3x1 Python tuple}} pn)====
''Example:nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0,0))''====resistor====
DescriptionSYNTAX: Creates or modifies a NURBS Strip object in the project workspace. Each point is represented with a Python tuple type. The nurbs_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list.resistor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)
====lineEXAMPLE: ''resistor({{ArgTypeString}} label"Res_1", {{ArgTypeAny}} x0"Line_1", {{ArgTypeAny}} y025, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir]50)====''
DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label'Example:line("my_line"already exists,0,0,0,100,"x")''its properties are modified.
Description: Draws a Line object in the project workspace under the currently activated material group node, or modifies the line named 'label' if it already exists. Without the argument "dir", a vertical line is drawn by default. ====revolve====
====circleSYNTAX: revolve({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radiusuX, {{ArgTypeAny}} uY, {{ArgTypeAny}} start_angleuZ, {{ArgTypeAny}} end_anglerot_angle)====
EXAMPLE: ''Example:circlerevolve("pyramid_1Rev1","Line_1",0,0,0,100,0,101,100360)''
DescriptionDESCRIPTION: Draws Creates or modifies a circular curve revolution object in from a specified object. If modifying an existing revolution object, the project workspace under pre-existing primitive object is used. (x0,y0,z0) specifies the currently activated material group nodecenter of revolution, or modifies and (uX,uY,uZ) specifies the circle named 'label' if it already existsrevolution axis. The parameters start_angle and end_angle are revolution angle "rot_angle" is given in degrees.
====superquad({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)rosen====
''ExampleSYNTAX:superquadrosen("SuperQuad_1"{{ArgTypeReal}} x,0{{ArgTypeReal}} y,0{{ArgTypeReal}} a,0,50,20,4{{ArgTypeReal}} b)''
DescriptionEXAMPLE: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already existsrosen(0. If order = 25, the curve reduces to an ellipse. Higher order make the round edges sharper. An infinite order reduces the curve to a rectangle. 0,1,2)''
====parabolaDESCRIPTION: Computes and returns the Rosenbrock function: ({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_onlya-x)====**2 + b*(y-x**2)**2.
''Example:parabola("Parabola _1",0,0,0,50,20,0)''====rotate====
DescriptionSYNTAX: Draws a parabola rotate({{ArgTypeString}} object in the project workspace under the currently activated material group node, or modifies the parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1{{ArgTypeAny}} rot_angle_degree, only half of the parabola will be drawn. {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)
====hyperbolaEXAMPLE: ''rotate({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} x045, {{ArgTypeAny}} y01, {{ArgTypeAny}} z01, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only0)====''
''ExampleDESCRIPTION:hyperbolaRotates an object about a line passing through its LCS center and aligned along the specified direction vector ("Hyperbola _1",0,0,0,50,40,20,0rot_axis)''by the specified angle.
Description: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn. ====roughen====
====spiral_curveSYNTAX: roughen({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAnyArgTypeString}} nturnsobject, {{ArgTypeAny}} spiral_dirrms_height, {{ArgTypeAny}} is_dualcorrel_length)====
EXAMPLE: ''Example:spiral_curveroughen("Spiral _1Rect_1",0,0,0,10,501,5,0,0)''
DescriptionDESCRIPTION: Draws a spiral curve object in Roughens the project workspace under surface of the currently activated material group node, or modifies the spiral curve named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, the spiral curve will be drawn counter-clockwise. If specified object based on the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawnspecified RMS height and correlation length.
====helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)run_analysis====
''ExampleSYNTAX:helixrun_analysis("Helix_1",0,0,0,15,15,10,0)''
DescriptionDESCRIPTION: Draws Runs a helical curve simulation in the project workspace under the currently activated material group node, or modifies the helix named 'label' if it already existscurrent active [[EM. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwiseCube]] computational module.
====polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)save_data====
''ExampleSYNTAX:poly_linesave_data("pl_1",(0,0,0),(1,0,0),(1,0,0){{ArgTypeString}} directory_name)''
DescriptionEXAMPLE: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.''save_data("Simulation_Data")''
====nurbs_curve({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, DESCRIPTION: Saves [[EM.Cube]]'s output simulation data files under the specified directory.. {{ArgType| 3x1 Python tuple}} pn)====
''Example:nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))''====sawtooth====
DescriptionSYNTAX: Creates or modifies a NURBS Curve object in the project workspace. Each point is represented with a Python tuple type. The curve is closed if p0 is specified again as pn, otherwise, it is open.sawtooth({{ArgTypeReal}} x)
====pointEXAMPLE: ''sawtooth({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z00.5)====''
''ExampleDESCRIPTION:point("Point_1"Computes and returns the ascending periodic sawtooth function of period T = 2,oscillating between two values +1 and -1 and having a zero value of at x = 0,0,10)''.
Description: Draws a point in the project workspace under the currently activated material group node, or modifies the point named 'label' if it already exists.====scale====
== EM.Cube's Python Functions for Geometric Object Transformation ==SYNTAX: scale({{ArgTypeString}} object, {{ArgTypeAny}} scale_factor)
====translate_byEXAMPLE: ''scale({{ArgTypeString}} label"pyramid_1", {{ArgTypeReal}} x_dist, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist2)====''
''ExampleDESCRIPTION:translate_by("MyObj",10,10,x)''Scales an object by the specified scale factor.
Description: Translates an object by the specified distances in each direction.====select_module====
====translate_toSYNTAX: select_module({{ArgTypeString}} label, {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_destmodule_name)====
EXAMPLE: ''Example:translate_toselect_module("MyObj[[EM.Tempo]]",20,20,x2)''
DescriptionDESCRIPTION: Translates an object to the specified destinationSelects and sets [[EM.Cube]]'s active module.
====rotate({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle)set_bandwidth====
''ExampleSYNTAX:rotateset_bandwidth("pyramid_1",0,0,0,10,10,100{{ArgTypeAny}} value)''
DescriptionEXAMPLE: Draws a circular curve object in the scene under the currently activated Material Group node, or modifies a Circle object if Circle 'label' already exists. The parameters start_angle and end_angle are in degrees.set_bandwidth(1e9)''
====array({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing)====DESCRIPTION: Sets [[EM.Cube]]'s frequency bandwidth.
''Example:array("Array_1","Rect_Strip_1",4,4,1,"spacing","spacing",0)''====set_boundary_conditions====
DescriptionSYNTAX: Create or modify an Array object.set_boundary_conditions({{ArgTypeString}} xn_type, {{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)
====explodeEXAMPLE: ''set_domain_offset_lambda({{ArgTypeString}} object"pml","pml","pml","pml","pec","pml")====''
''ExampleDESCRIPTION:explode(Sets [[EM.Tempo]]'s domain boundary conditions domain offset on the ±X, ±Y and ±Z boundary walls. The options are "MyArraypec")'', "pmc" and "pml".
Description: Performs an explode operation on a CAD object named 'object'.====set_domain_offset====
====subtractSYNTAX: set_domain_offset({{ArgTypeStringArgTypeAny}} labeldxn_offset, {{ArgTypeStringArgTypeAny}} object_1dxp_offset, {{ArgTypeStringArgTypeAny}} object_2dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)====
EXAMPLE: ''Example:subtractset_domain_offset("Subtract_Object"20,20,20,20,"Rect_Strip1"0,"Rect_Strip2"10)''
DescriptionDESCRIPTION: Creates a Boolean object named 'label' by subtracting object_2 from object_1. An error will be thrown if a Boolean object named 'label' already existsSets the domain offset values along the ±X, ±Y and ±Z directions in project units.
====union({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)set_domain_offset_lambda====
''ExampleSYNTAX:unionset_domain_offset_lambda("Union_Object"{{ArgTypeAny}} dxn_offset,"Rect_Strip1"{{ArgTypeAny}} dxp_offset,"Rect_Strip2"{{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)''
DescriptionEXAMPLE: Creates a Boolean object named 'label' by unioning object_1 and object_2set_domain_offset_lambda(0. An error will be thrown if a Boolean object named 1,0.1,0.1,0.1,0,0.25)'label' already exists.
====intersect({{ArgTypeString}} labelDESCRIPTION: Sets the domain offset values along the ±X, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)====±Y and ±Z directions in free-space wavelengths.
''Example:intersect("Intersection_Object","Rect_Strip1","Rect_Strip2")''====set_frequency====
DescriptionSYNTAX: Creates a Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.set_frequency({{ArgTypeAny}} value)
====extrudeEXAMPLE: ''set_frequency({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} height2.4e9)====''
''ExampleDESCRIPTION:extrude("Extrude_Object","Rect_Strip1",50)'Sets [[EM.Cube]]'s center frequency.
Description: Creates or modifies an Extrusion object from CAD object 'object'. If modifying an existing extrusion, 'object' is ignored, and the pre-existing primitive is used. extrude(...) can only extrude objects that have a single face, and will extrude in the direction of the face's normal.====set_lcs_link====
====revolveSYNTAX: set_lcs_link({{ArgTypeString}} labelobject, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uXlcs_obj, {{ArgTypeAny}} uYx_off, {{ArgTypeAny}} uZy_off, {{ArgTypeAny}} rot_anglez_off)====
EXAMPLE: ''Example:revolveset_lcs_link("Rev1pyramid_1","Line_1box_1",050,050,0,0,0,1)''
DescriptionDESCRIPTION: Creates or modifies a Revolution object called 'label', with a primitive object named 'object'. If modifying an existing Revolution object, 'object' is ignored, and Links the pre-existing primitive LCS of the first object is used. (x0,y0,z0) specifies to the center LCS of revolution, and (uX,uY,uZ) specifies the revolution axis. rot_angle is in degreessecond object by the specified offset values along the three axes.
== EM.Cube's Python Functions for Material or Object Group Creation ==set_periodic====
====color_groupSYNTAX: set_periodic({{ArgTypeStringArgTypeAny}} labelis_periodic, {{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY)====
EXAMPLE: ''Example: color_groupset_periodic("Color_1"1,50,50)''
DescriptionDESCRIPTION: Creates a color group in CubeCAD module. If Designates the color group 'label' already exists, physical structure as periodic and sets the group is activatedperiods along the X and Y directions.
====pec_group({{ArgTypeString}} label)set_rot====
''ExampleSYNTAX: pec_groupset_rot("PEC_1"{{ArgTypeString}} object, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a PEC material group in the current module. If the PEC group 'label' already existsset_rot("pyramid_1", the group is activated.0,0,45)''
====pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)====DESCRIPTION: Sets the three rotation angles of an object.
''Example: pec_voltage_group("PEC_1",10)''====set_rot_link====
DescriptionSYNTAX: Creates a fixed-potential PEC set_rot_link({{ArgTypeString}} object group in the current module. If the PEC group 'label' already exists, the group is activated.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)
====pec_via_groupEXAMPLE: ''set_rot_link({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} host_layer"box_1",0,0,45)====''
''ExampleDESCRIPTION: pec_via_group("PEC_1",10)''Links the rotation angles of the LCS of the first object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.
Description: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already exists, the group is activated.====set_stackup_order====
====thinwire_groupSYNTAX: set_stackup_order("THS", {{ArgTypeString}} labellabel_1, {{ArgTypeAnyArgTypeString}} radiuslabel_2, ..., {{ArgTypeString}} label_n, "BHS")====
EXAMPLE: ''Example: thinwire_groupbackground_layer("Thinwire_1THS",4"Top_Layer","Mid_Layer","Bottom_Layer","BHS")''
DescriptionDESCRIPTION: Creates a Thinwire material group Sets the hierarchy of [[EM.Picasso]]'s background layer stackup from top to bottom. The sequence should always start with "THS" standing for the top half-space and must end in "BHS" standing for the current modulebottom half-space. If All the thin wire group 'label' already exists, intermediate finite-thickness substrate layers must be included and listed in the group is activatedright order.
====pmc_group({{ArgTypeString}} label)set_units====
''ExampleSYNTAX: pmc_groupset_units("PMC_1"{{ArgTypeString}} units)''
DescriptionEXAMPLE: Creates a PMC material group in the current module. If the PMC group 'label' already exists, the group is activated.set_units("meter")''
====slot_group({{ArgTypeString}} label)====DESCRIPTION: Sets [[EM.Cube]]'s project length units.
''Example: slot_group("PMC_1")''====sgn====
DescriptionSYNTAX: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, the group is activated.sgn({{ArgTypeReal}} x)
====dielectric_groupEXAMPLE: ''sgn({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho-1.0)====''
''ExampleDESCRIPTION: dielectric_group("Dielectric_1","my_eps",Computes and returns the signum function: 1 if x>0,-1,if x<0)''.
Description: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated.====short_dipole====
====impenetrable_surface_groupSYNTAX: short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} epsx0, {{ArgTypeAny}} sigmay0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)====
EXAMPLE: ''Example: impenetrable_surface_groupshort_dipole("Impenet_1SD_1",2.20,0,50,3,0,0,1,1,0.0001)''
DescriptionDESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]a Hertzian short dipole source. If the impenetrable surface group short dipole source 'label' already exists, the group is activatedits properties are modified.
====penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)sigmoid====
''ExampleSYNTAX: penetrable_surface_groupsigmoidnc("Penet_1"{{ArgTypeReal}} x,2.2,0.0001, 1{{ArgTypeReal}} a)''
DescriptionEXAMPLE: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activatedsigmoid(0.5,1)''
====penetrable_volume_groupDESCRIPTION: Computes and returns the sigmoid function of slope a: 2/({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma1 + exp(-a*x))====- 1.
''Example: penetrable_volume_group("Vol_Penet_1",2.2,0.0001)''====sinc====
DescriptionSYNTAX: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.sinc({{ArgTypeReal}} x)
====terrain_groupEXAMPLE: ''sinc({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma0.5)====''
''ExampleDESCRIPTION: terrain_groupComputes and returns the sinc function: sin("Terrain_1",5.0,0.0001pi*x)''/(pi*x).
Description: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already exists, the group is activated.====slice====
====base_point_groupSYNTAX: slice({{ArgTypeString}} labelobject, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)====
EXAMPLE: ''Example: base_point_setslice("BP_Set_1Rect_1",5)''
DescriptionDESCRIPTION: Creates a base point set in [[EM.Terrano]]. If Slices the base point set group 'label' already exists, specified object into two parts using the group is activatedspecified plane given by the point coordinates and normal vector coordinates.
====virtual_group({{ArgTypeString}} label)slot_group====
''ExampleSYNTAX: virtual_groupslot_group("VIR_1"{{ArgTypeString}} label)''
DescriptionEXAMPLE: Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'label' already exists, the group is activated.slot_group("PMC_1")''
====impedance_surface_group({{ArgTypeString}} DESCRIPTION: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag)====the group is activated.
''Example: impedance_surface_group("IMP_1",100,-100)''====solution_plane====
DescriptionSYNTAX: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'solution_plane({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)
====conductive_sheet_groupEXAMPLE: ''solution_plane({{ArgTypeString}} label"FI_1", {{ArgTypeAny}} sigma"FS_1", {{ArgTypeAny}} thickness1)====''
DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label'Example: conductive_sheet_group("Cond_1"already exists,100, 0its properties are modified.01)''
Description: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated.====sphere====
====charge_groupSYNTAX: sphere({{ArgTypeString}} label, {{ArgTypeAny}} densityx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])====
EXAMPLE: ''Example: charge_groupsphere("Charge_1Sphere_1",-1e-50,0,0,10,0,180)''
DescriptionDESCRIPTION: Creates Draws a volume charge source group sphere object in [[EM.Ferma]]. If the charge group project workspace under the currently activated Material Group node, or modifies the sphere named 'label' if it already exists, . The arguments start_angle and end_angle are in degrees and specify a sweep about the group is activatedsphere's azimuth axis.
====magnet_group({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)spiral_curve====
''ExampleSYNTAX: magnet_groupspiral_curve("Magnet_1"{{ArgTypeString}} label,1{{ArgTypeAny}} x0,0{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0,100{{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)''
DescriptionEXAMPLE: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already existsspiral_curve("Spiral _1", the group is activated.0,0,0,10,50,5,0,0)''
====volume_current_group({{ArgTypeString}} labelDESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, {{ArgTypeAny}} Jxor modifies the spiral curve named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, {{ArgTypeAny}} Jythe spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, {{ArgTypeAny}} Jz)====a dual-arm spiral curve will be drawn.
''Example: volume_current_group("Magnet_1",0,0,1e6)''====spiral_strip====
DescriptionSYNTAX: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'spiral_strip({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
====wire_current_groupEXAMPLE: ''spiral_strip({{ArgTypeString}} label"Spiral _1", {{ArgTypeAny}} current0, {{ArgTypeAny}} wire_radius0,0,10,50,5,0,0)====''
DESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label'Example: wire_current_group(if it already exists. If the Boolean parameter "Magnet_1spiral_dir"is 1,the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1,0a dual-arm spiral curve will be drawn.5)''
Description: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'label' already exists, the group is activated.====spline_fit====
== EM.Cube's Python Functions for Source & Lumped Device Definition ==SYNTAX: spline_fit({{ArgTypeString}} object)
====lumped_srcEXAMPLE: ''spline_fit({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]"Poly_1")====''
''ExampleDESCRIPTION: lumped_src("LS_1"Applies spline fit transformation on a specified polymesh,"Line_1",50,0)''polyline or polystrip object.
Description: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.====spline2====
====distributed_srcSYNTAX: spline2({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]x)====
EXAMPLE: ''Example: distributed_srcspline2("DS_1","Rect_1","+y","uniform"1.0)''
DescriptionDESCRIPTION: Creates a distributed source in [[EM.Tempo]]. If Computes and returns the distributed source 'label' already exists, its properties are modifiedquadratic B-spline function.
====microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])spline3====
''ExampleSYNTAX: microstrip_srcspline3("MS_1","Rect_1",1.5,"+{{ArgTypeReal}} x")''
DescriptionEXAMPLE: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modifiedspline3(1.0)''
====cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====DESCRIPTION: Computes and returns the cubic B-spline function.
''Example: cpw_src("CPW_1","Rect_1",1.5,"+x")''====sqr_wave====
DescriptionSYNTAX: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already exists, its properties are modified.sqr_wave({{ArgTypeReal}} x)
====coaxial_srcEXAMPLE: ''sqr_wave({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]0.5)====''
''ExampleDESCRIPTION: coaxial_src("COAX_1","Cyl_1"Computes and returns the periodic square wave function of period T = 2,oscillating between two values +1.5,"and -1 and having a value of +z")''1 at x = 0.
Description: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified.====sqr2====
====waveguide_srcSYNTAX: sqr2({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]y)====
EXAMPLE: ''Example: waveguide_srcsqr2("WG_1"0,"Box_1",50,01)''
DescriptionDESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If Computes and returns the waveguide port 'label' already exists, its properties are modifiedsum of squares of x and y: x**2 + y**2.
====wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])sqr3====
''ExampleSYNTAX: wire_gap_srcsqr2("WIG_1"{{ArgTypeReal}} x,"Line_1"{{ArgTypeReal}} y,50,0{{ArgTypeReal}} z)''
DescriptionEXAMPLE: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already existssqr2(0, its properties are modified.1,2)''
====rect_gap_src({{ArgTypeString}} labelDESCRIPTION: Computes and returns the sum of squares of x, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====y and z: x**2 + y**2 + z**2.
''Example: rect_gap_src("GAP_1","Rect_1",0,0)''====sqrt2====
DescriptionSYNTAX: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already existssqrt2({{ArgTypeReal}} x, its properties are modified.{{ArgTypeReal}} y)
====probe_gap_srcEXAMPLE: ''sqrt2({{ArgTypeString}} label0, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]1)====''
''ExampleDESCRIPTION: probe_gap_srcComputes and returns the radius of the 2D point ("Probe_1"x,"Via_1",0y): sqrt(x**2 + y**2)''.
Description: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, its properties are modified.====sqrt3====
====wave_portSYNTAX: sqrt3({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} rect_objecty, {{ArgTypeAnyArgTypeReal}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]z)====
EXAMPLE: ''Example: wave_portsqrt3("WP_1"0,"Rect_1"1,0,02)''
DescriptionDESCRIPTION: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If Computes and returns the wave port 'label' already existsradius of the 3D point (x, its properties are modifiedy,z): sqrt(x**2 + y**2 + z**2).
====short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)step====
''ExampleSYNTAX: wave_portstep("SD_1",0,0,50,3,0,0,1,1,0{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, its properties are modifiedstep(1.0)''
====planewave({{ArgTypeString}} labelDESCRIPTION: Computes and returns the unit step function: 1 if x>0, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)====0 if x<0.
''Example: planewave("PW_1",180,0,"tm")''====strip_sweep====
DescriptionSYNTAX: Creates a plane wave source. If the plane wave source 'label' already existsstrip_sweep({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} width)
====gauss_beamEXAMPLE: ''strip_sweep({{ArgTypeString}} label"Curve_1", {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode5)====''
''ExampleDESCRIPTION: gauss_beam("PW_1",180,0,"tm",0,0,0,20,0,0)''Creates a strip version of a given curve object.
Description: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modified.====subtract====
====huygens_srcSYNTAX: subtract({{ArgTypeString}} label, {{ArgTypeAnyArgTypeString}} filename[object_1, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAnyArgTypeString}} z_rot]object_2)====
EXAMPLE: ''Example: huygens_srcsubtract("HS_1Subtract_Object","Huygens_1.HUYRect_Strip1",1,100,100,0,0,0,0"Rect_Strip2")''
DescriptionDESCRIPTION: Creates a Huygens sourceBoolean object named 'label' by subtracting object_2 from object_1. If the Huygens source An error will be thrown if a Boolean object named 'label' already exists, its properties are modified.
====transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)superquad====
''ExampleSYNTAX: transmitter_setsuperquad("TX_1"{{ArgTypeString}} label,"PT_1"{{ArgTypeAny}} x0,"DPL_STD.RAD"{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0,90{{ArgTypeAny}} diam_x,0{{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)''
DescriptionEXAMPLE: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already existssuperquad("SuperQuad_1", its properties are modified.0,0,0,50,20,4)''
DESCRIPTION: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already exists. If order ====resistor({{ArgTypeString}} label2, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)====the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
''Example: resistor("Res_1","Line_1",25,50)''====taper_strip====
DescriptionSYNTAX: Creates a resistor in [[EM.Tempo]]. If the resistor 'taper_strip({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)
====capacitorEXAMPLE: ''taper_strip({{ArgTypeString}} label"ts_1", {{ArgTypeAny}} line_object0, {{ArgTypeAny}} offset0, {{ArgTypeAny}} capacitance_pF0,50,100,80,1)====''
DESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label'Example: capacitor(if it already exists. If the Boolean parameters "Cap_1is_expo"is 1,"Line_1",25,10)''an exponential taper will be drawn.
Description: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'label' already exists, its properties are modified.====terrain_group====
====inductorSYNTAX: terrain_group({{ArgTypeString}} label, {{ArgTypeAny}} line_objecteps, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nHsigma)====
EXAMPLE: ''Example: inductorterrain_group("Cap_1","Line_1Terrain_1",255.0,100.0001)''
DescriptionDESCRIPTION: Creates a inductor an terrain surface group in [[EM.TempoTerrano]]. If the inductor terrain surface group 'label' already exists, its properties are modifiedthe group is activated.
====diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)thinwire_group====
''ExampleSYNTAX: diodethinwire_group("Diode_1"{{ArgTypeString}} label,"Line_1",25,0,10,300,1{{ArgTypeAny}} radius)''
DescriptionEXAMPLE: Creates a diode in [[EM.Tempo]]. If the diode 'label' already existsthinwire_group("Thinwire_1", its properties are modified.4)''
== EMDESCRIPTION: Creates a Thinwire material group in the current module.Cube If the thin wire group 's Python Functions for Observable Definition ==label' already exists, the group is activated.
====port_definition_default({{ArgTypeString}} label)torus====
''ExampleSYNTAX: port_definition_defaulttorus("PD_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])''
DescriptionEXAMPLE: Creates a default port definition observable. If the observable 'label' already existstorus("Torus_1", its properties are modified.0,0,0,50,20)''
====port_definition_custom({{ArgTypeString}} DESCRIPTION: Draws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, ..., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), .' if it already exists.The arguments start_angle and end_angle are in degrees and specify a sweep about the torus's azimuth axis.)====
''Example: port_definition_custom("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))''====translate_by====
DescriptionSYNTAX: Creates a custom port definition observable. If the observable 'label' already existstranslate_by({{ArgTypeString}} object, its properties are modified. {{ArgTypeReal}} x_dist, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist)
====farfieldEXAMPLE: ''translate_by({{ArgTypeString}} label"MyObj", {{ArgTypeAny}} theta_incr10, {{ArgTypeAny}} phi_incr10,x)====''
''ExampleDESCRIPTION: farfield("FF_1",1,1)''Translates an object by the specified distances in each direction.
Description: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.====translate_to====
====rcs_bistaticSYNTAX: translate_to({{ArgTypeString}} labelobject, {{ArgTypeAnyArgTypeReal}} theta_incrx_dest, {{ArgTypeAnyArgTypeReal}} phi_incry_dest, {{ArgTypeReal}} z_dest)====
EXAMPLE: ''Example: rcs_bistatictranslate_to("RCS_1MyObj",120,20,1x2)''
DescriptionDESCRIPTION: Creates a bistatic RCS observable. If Translates an object to the observable 'label' already exists, its properties are modifiedspecified destination.
====current_dist({{ArgTypeString}} label)transmitter_set====
''ExampleSYNTAX: current_disttransmitter_set("CD_1"{{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a current distribution observable. If the observable 'label' already existstransmitter_set("TX_1", its properties are modified"PT_1","DPL_STD.RAD",0,90,0)''
====field_sensor({{ArgTypeString}} DESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)====its properties are modified.
''Example: field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''====tri====
DescriptionSYNTAX: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.tri({{ArgTypeReal}} x)
====field_sensor_gridEXAMPLE: ''tri({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z00.1)====''
''ExampleDESCRIPTION: field_sensor_grid("FS_1","z",0,0Computes and returns the triangular window function: 1-|x| if x<1,0)''elsewhere.
Description: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====tri_wave====
====field_probeSYNTAX: tri_wave({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0x)====
EXAMPLE: ''Example: field_probetri_wave("FS_1",0,0,50.5)''
DescriptionDESCRIPTION: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If Computes and returns the observable 'label' already existsperiodic triangular wave function of period T = 2, its properties are modifiedoscillating between two values +1 and -1 and having a value of +1 at x = 0.
====receiver_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)triangle_strip====
''ExampleSYNTAX: receiver_settriangle_strip("TX_1"{{ArgTypeString}} label,"PT_1"{{ArgTypeAny}} x0,"DPL_STD.RAD"{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0,90{{ArgTypeAny}} side1,0{{ArgTypeAny}} side2, {{ArgTypeAny}} angle)''
DescriptionEXAMPLE: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already existstriangle_strip("ts_1", its properties are modified.0,0,0,50,100,90)''
DESCRIPTION: Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'label' if it already exists.
====huygens_surface({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)union====
''ExampleSYNTAX: huygens_surfaceunion("HS_1"{{ArgTypeString}} label,-10{{ArgTypeString}} object_1,-10,-10,10,10,10,40,40,40{{ArgTypeString}} object_2)''
DescriptionEXAMPLE: Creates a Huygens surface observable. If the observable 'label' already existsunion("Union_Object", its properties are modified."Rect_Strip1","Rect_Strip2")''
====huygens_surface_grid({{ArgTypeString}} DESCRIPTION: Creates a Boolean object named 'label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====' by unioning object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.
''Example: huygens_surface_grid("HS_1",-10,-10,-10,10,10,10)''====virtual_group====
DescriptionSYNTAX: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'virtual_group({{ArgTypeString}} label' already exists, its properties are modified.)
====voltage_integralEXAMPLE: ''virtual_group({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2"VIR_1")====''
DESCRIPTION: Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'label'Example: voltage_integral("FI_1"already exists,0,0,-10,0,0,10)''the group is activated.
Description: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====voltage_integral====
====current_integralSYNTAX: voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====
EXAMPLE: ''Example: current_integralvoltage_integral("FI_1",-100,0,-10,0,100,10,0)''
DescriptionDESCRIPTION: Creates a current voltage integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
====conduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)volume_current_group====
''ExampleSYNTAX: conduction_current_integralvolume_current_group("FI_1"{{ArgTypeString}} label,-10{{ArgTypeAny}} Jx,-10{{ArgTypeAny}} Jy,0,10,10,0{{ArgTypeAny}} Jz)''
DescriptionEXAMPLE: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already existsvolume_current_group("Magnet_1", its properties are modified.0,0,1e6)''
====capacitance({{ArgTypeString}} DESCRIPTION: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)====the group is activated.
''Example: capacitance("FI_1",-10,-10,5,10,10,10,0,0,-10,0,0,10)''====wave_port====
DescriptionSYNTAX: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'wave_port({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====inductanceEXAMPLE: ''wave_port({{ArgTypeString}} label"WP_1", {{ArgTypeAny}} x1"Rect_1", {{ArgTypeAny}} y10, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z40)====''
''ExampleDESCRIPTION: inductance("FI_1",0,0,-10,10,0,10,2Creates a scattering wave port source in [[EM.5,-2Picasso]] or [[EM.5,0,7Libera]].5If the wave port 'label' already exists,2its properties are modified.5,0)''
Description: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====waveguide_design====
====resistanceSYNTAX: waveguide_design({{ArgTypeStringArgTypeReal}} labeler, {{ArgTypeAnyArgTypeReal}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4freq_hertz)====
EXAMPLE: ''Example: resistancewaveguide_design("FI_1",1.0,0,-10,0,0,10,-10,-10,0,10,10,02e9)''
DescriptionDESCRIPTION: Creates a resistance integral observable Computes and returns the minimum larger dimension (in [[EM.Ferma]]. If meters) of the observable 'label' already exists, its properties are modifiedcross section of a hollow rectangular waveguide above cutoff with a material filling of relative permittivity er at an operating frequency of freq_hertz.
====flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)waveguide_src====
''ExampleSYNTAX: flux_electricwaveguide_src("FI_1"{{ArgTypeString}} label,-10{{ArgTypeAny}} box_object,-10{{ArgTypeAny}} offset,5{{ArgTypeAny}} is_negative[,10{{ArgTypeAny}} amplitude,10{{ArgTypeAny}} phase,10{{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already existswaveguide_src("WG_1", its properties are modified."Box_1",50,0)''
====flux_magnetic({{ArgTypeString}} DESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====its properties are modified.
''Example: flux_magnetic("FI_1",0,0,-10,10,0,10)''====wire_current_group====
DescriptionSYNTAX: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'wire_current_group({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius)
====energy_electricEXAMPLE: ''wire_current_group({{ArgTypeString}} label"Magnet_1", {{ArgTypeAny}} x11, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z20.5)====''
DESCRIPTION: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'label'Example: energy_electric("FI_1"already exists,-10,-10,-10,10,10,10)''the group is activated.
Description: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====wire_gap_src====
====energy_magneticSYNTAX: wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} x1line_object, {{ArgTypeAny}} y1offset, {{ArgTypeAny}} z1polarity[, {{ArgTypeAny}} x2amplitude, {{ArgTypeAny}} y2phase, {{ArgTypeAny}} z2resistance])====
EXAMPLE: ''Example: energy_magneticwire_gap_src("FI_1WIG_1",-10,-10,-10,10"Line_1",1050,100)''
DescriptionDESCRIPTION: Creates a magnetic energy integral observable wire gap circuit source in [[EM.FermaLibera]]. If the observable wire gap source 'label' already exists, its properties are modified.
====ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)zoom_extents====
''ExampleSYNTAX: ohmic_losszoom_extents("FI_1",-10,-10,-10,10,10,10)''
DescriptionDESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]. If Zooms to fit the observable 'label' already exists, its properties are modifiedextents of the physical structure into the screen.
====solution_plane({{ArgTypeString}} label, {{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)====<br />
''Example: solution_plane("FI_1","FS_1",1)''<hr>
Description: Creates a 2D solution plane observable in [[EMImage:Top_icon.Fermapng|30px]]. If '''[[#Standard_Python_Operators | Back to the observable Top of the Page]]''label' already exists, its properties are modified.
<p> </p>[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''