Changes

Glossary of EM.Cube's Python Functions

15,907 bytes added, 22:22, 11 June 2018
<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|&le;0.5, 0 elsewhere |-| tri(x)| EMAG Python function| Triangle function| 1 if |1-x|&le;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| x if x>0, 0 if x<0|-| 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,mu,sigma)| EMAG Python function| Gaussian function of mean mu and standard deviation sigma| exp(-0.5*((x-mu)/sigma)**2)/sigma/sqrt(2*pi)|-| msin(x,r)| EMAG Python function| super-quadratic sine function of order r| -|-| mcos(x,r)| EMAG Python function| super-quadratic cosine function of order r| -|-| sigmoid(x,a)| EMAG Python function| Sigmoid function of slope a| 2/(1 + exp(-a*x)) - 1|-| bh_window(x,T)| EMAG Python function| Blackman-Harris window function| -|-| bh_step(x,T)| EMAG Python function| Blackman-Harris step function| -|-| rand(x,y)| EMAG Python function| Random function| -|-| rosen(x,y,a,b)| EMAG Python function| Rosenbrock function| (a-x)**2 + b*(y-x**2)**2|-| mean(x,y)| EMAG Python function| arithmetic mean of x and y| 0.5*(x+y)|-| geo(x,y)| EMAG Python function| geometric mean of x and y| sqrt(x*y)|-| harm(x,y)| EMAG Python function| harmonic mean of x and y| 2/(1/x+1/y)|-| sqr2(x,y)| EMAG Python function| sum of squares of x and y| x**2 + y**2|-| sqr3(x,y,z)| EMAG Python function| sum of squares of x and y and z| x**2 + y**2 + z**3|-| sqrt2(x,y)| EMAG Python function| radius of 2D point (x,y)| sqrt(x**2 + y**2)|-| sqrt3(x,y,z)| EMAG Python function| radius of 3D point (x,y,z)| sqrt(x**2 + y**2 + z**3)|}
== EM.Cube's Design Python Functions ==SYNTAX: activate({{ArgTypeString}} group_node_label)
{| class=EXAMPLE: ''activate("wikitableColor_1")'' DESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube]] module for insertion of new objects.  !scope====add_variable==== SYNTAX: add_variable({{ArgTypeString}} var_name, {{ArgTypeAny}} value) EXAMPLE: ''add_variable("colMyVar"| Syntax,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"| Type,"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"| Description,"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"| Notes,3.3,0.001,1,1.5)'' DESCRIPTION: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.|-| style="width===base_point_group==== SYNTAX:100px;base_point_group({{ArgTypeString}} label) EXAMPLE: ''base_point_set(" | microstrip_designBP_Set_1")'' 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(z0{{ArgTypeReal}} x,er{{ArgTypeReal}} T)| styleEXAMPLE: ''bh_step(0.5,1)'' DESCRIPTION: Computes and returns the Blackman-Harris step function. ="width===bh_window==== SYNTAX:150px;" | EMAG Python bh_window({{ArgTypeReal}} x, {{ArgTypeReal}} T) EXAMPLE: ''bh_window(0.5,1)'' DESCRIPTION: Computes and returns the Blackman-Harris window function. | style="width===box==== SYNTAX:250px;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(" | Returns 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. | style="width===capacitor==== SYNTAX:250px;capacitor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} capacitance_pF) EXAMPLE: ''capacitor(" | z0Cap_1","Line_1",25,10)'' DESCRIPTION: characteristic impedance 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)'' DESCRIPTION: Creates a volume charge source group in [[EM.Ferma]]. If the charge group 'label' already exists, the group is activated. | style="width===circ_strip==== SYNTAX:100px;" | microstrip_z0circ_strip(w{{ArgTypeString}} label,h{{ArgTypeAny}} x0,er{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])| style=EXAMPLE: ''circ_strip("widthcs_1",0,0,0,50,0)'' DESCRIPTION:150px;Draws a circle strip object in the 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 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(" | EMAG Python functionpyramid_1",0,0,0,10,10,100)'' DESCRIPTION: Draws a circular curve object in 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. | style====clone==== SYNTAX: clone({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0) EXAMPLE: ''clone("widthNewObj","MyObj",10,10,0)'' DESCRIPTION:250px;Creates a copy of the specified object and repositions it at the given coordinates.  ====close_curve==== SYNTAX: close_curve({{ArgTypeString}} label, {{ArgTypeString}} close_state) EXAMPLE: ''close_curve(" | Returns Curve_1",1)'' DESCRIPTION: Sets the characteristic impedance open/close state of a microstrip polyline or NURBS curve. Use 0 for open curve and 1 for close curve. ====coaxial_design==== SYNTAX: coaxial_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er) EXAMPLE: ''coaxial_design(50,2.2)'' DESCRIPTION: Computes and returns the ratio of the radius of the outer conductor to the radius of the inner conductor of a coaxial transmission line of characteristic impedance z0 (in Ohms ) with core relative permittivity er. | style="width===coaxial_src==== SYNTAX:250px;coaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''coaxial_src(" | wCOAX_1","Cyl_1",1.5,"+z")'' DESCRIPTION: microstrip widthCreates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, hits properties are modified. ====color_group==== SYNTAX: substrate heightcolor_group({{ArgTypeString}} label) EXAMPLE: ''color_group("Color_1")'' DESCRIPTION: Creates a color group in CubeCAD module. If the color group 'label' already exists, erthe group is activated. ====conduction_current_integral==== SYNTAX: substrate permittivityconduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)|EXAMPLE: ''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. | style="width===conductive_sheet_group==== SYNTAX:100px;" | microstrip_eps_effconductive_sheet_group(w{{ArgTypeString}} label,h{{ArgTypeAny}} sigma,er{{ArgTypeAny}} thickness)| style="widthEXAMPLE:150px;''conductive_sheet_group(" | EMAG Python functionCond_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. | style="width===cone==== SYNTAX:250px;cone({{ArgTypeString}} 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]) EXAMPLE: ''cone(" | Returns Cone_1",0,0,0,30,40,20,0,180)'' DESCRIPTION: Draws a cone object in the effective permittivity of 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 microstrip transmission line sweep about the cone's azimuth axis. | style="width===consolidate==== SYNTAX:250px;consolidate({{ArgTypeString}} object) EXAMPLE: ''consolidate(" | wPoly_1")'' DESCRIPTION: microstrip widthConsolidates a specified object. ====cpw_design_s==== SYNTAX: cpw_design_s({{ArgTypeReal}} z0, {{ArgTypeReal}} w, {{ArgTypeReal}} h: substrate height, {{ArgTypeReal}} er) EXAMPLE: ''cpw_design_s(50,2,0.5,2.2)'' DESCRIPTION: Computes and returns the center strip width (in meters) of a CPW transmission line of characteristic impedance z0 with slot width w, substrate height h and substrate relative permittivityer.|-| style="width===cpw_design_w==== SYNTAX:100px;" | microstrip_lambda_gcpw_design_w(w{{ArgTypeReal}} z0,{{ArgTypeReal}} s, {{ArgTypeReal}} h,{{ArgTypeReal}} er) EXAMPLE: ''cpw_design_w(50,freq_hertz1,0.5,2.2)''| style="DESCRIPTION: Computes and returns the slot width(in meters) of a CPW transmission line of characteristic impedance z0 with center strip width s, substrate height h and substrate relative permittivity er. ====cpw_src==== SYNTAX:150px;cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''cpw_src(" | EMAG Python functionCPW_1","Rect_1",1.5,"+x")'' DESCRIPTION: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already exists, its properties are modified. | style="width===cubecad_mesh_settings==== SYNTAX:250px;" | Returns cubecad_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol) EXAMPLE: ''cubecad_mesh_settings(5,10)'' DESCRIPTION: Sets the guide wavelength parameters of CubeCAD's mesh generator. ====current_dist==== SYNTAX: current_dist({{ArgTypeString}} label) EXAMPLE: ''current_dist("CD_1")'' DESCRIPTION: Creates a microstrip transmission line 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 meters[[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. | style====cylinder==== SYNTAX: cylinder({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: ''cylinder("widthCylinder_1",0,0,0,10,100)'' DESCRIPTION:250px;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(" | wBox_1")'' DESCRIPTION: microstrip widthDeletes a node name from the navigation tree. The node can be any geometric object, hsource, 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 heightlayer from [[EM.Picasso]]'s background layer stackup. ====dielectric_group==== SYNTAX: dielectric_group({{ArgTypeString}} label, er{{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho) EXAMPLE: substrate permittivity''dielectric_group("Dielectric_1", freq_hertz"my_eps",0,1,0)'' DESCRIPTION: frequency Creates a dielectric material group in Hzthe current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated.|-| style====diode==== SYNTAX: diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor) EXAMPLE: ''diode("widthDiode_1","Line_1",25,0,10,300,1)'' DESCRIPTION:100px;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(" | cpw_design_wDS_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,{{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]) EXAMPLE: ''ellipse_strip("es_1",0,0,0,50,0)'' DESCRIPTION: Draws a ellipse strip object in the project workspace under the currently activated material group node, or modifies the ellipse strip 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'sazimuth axis. ====ellipsoid==== SYNTAX: ellipsoid({{ArgTypeString}} label,h{{ArgTypeAny}} x0,er{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])| styleEXAMPLE: ''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 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. ====emferma_engine_settings==== SYNTAX: emferma_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''emferma_engine_settings("widthbicg-stab",1e-3,100)'' DESCRIPTION:150px;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(" | EMAG Python functionipo",0,1e-2,20)'' DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine. | style====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("widthbicg",1e-3,1000,4,"efie",0.4)'' DESCRIPTION:250px;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(" | Returns bicg",1e-3,1000)'' DESCRIPTION: Sets the slot width parameters of a coplanar waveguide [[EM.Libera]]'s wire MoM simulation engines. ====emlibera_mesh_settings==== SYNTAX: emlibera_mesh_settings(CPW{{ArgTypeAny}} cells_per_lambda) transmission line | styleEXAMPLE: ''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("widthbicg",1e-3,1000)'' DESCRIPTION:250px;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(" | z0single-precision",-50,20000)'' DESCRIPTION: characteristic impedance in OhmsSets 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]]'sadaptive mesh generator. ====emterrano_engine_settings==== SYNTAX: center strip width emterrano_engine_settings(or slot spacing{{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold) EXAMPLE: ''emterrano_engine_settings(5, h1,1,-100)'' DESCRIPTION: substrate heightSets the parameters of [[EM.Terrano]]'s SBR simulation engine. ====emterrano_mesh_settings==== SYNTAX: emterrano_mesh_settings({{ArgTypeAny}} edge_length, er{{ArgTypeAny}} angle_tol) EXAMPLE: substrate permittivity''emterrano_mesh_settings(5,10)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s facet mesh generator.|-| style="width===energy_electric==== SYNTAX:100px;energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_electric(" | cpw_design_sFI_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(z0{{ArgTypeString}} label,w{{ArgTypeAny}} x1,h{{ArgTypeAny}} y1,er{{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)| styleEXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====explode==== SYNTAX: explode({{ArgTypeString}} object) EXAMPLE: ''explode("widthMyArray")'' DESCRIPTION:150px;Explodes an object into its basic primitives. ====export_dxf==== SYNTAX: export_dxf({{ArgTypeString}} file_name) EXAMPLE: ''export_dxf(" | EMAG Python functionMyDXFModel.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. | style====export_py==== SYNTAX: export_py({{ArgTypeString}} file_name) EXAMPLE: ''export_py("widthMyPYModel.PY")'' DESCRIPTION:250pxExports 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 &rarr;EMAG" | Returns the center strip width . ====export_stl==== SYNTAX: export_stl(or slot spacing{{ArgTypeString}} file_name)  EXAMPLE: ''export_stl("MySTLModel.STL")'' DESCRIPTION: Exports the physical structure of a coplanar waveguide 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(CPW{{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends) transmission line  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. | style="width===farfield==== SYNTAX:250px;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. | style====field_sensor_grid==== SYNTAX: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''field_sensor_grid("widthFS_1","z",0,0,0)'' DESCRIPTION:100px;Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====fill_curve==== SYNTAX: fill_curve({{ArgTypeString}} object) EXAMPLE: ''fill_curve(" | coaxial_designCurve_1")'' DESCRIPTION: Fill the interior of the specified closed curve object. ====fillet==== fillet(z0{{ArgTypeString}} object,er{{ArgTypeAny}} radius)| styleEXAMPLE: ''fillet("Rect_1",5)'' DESCRIPTION: Fillets the corners of the specified surface or curve object by the specified radius. ====flux_electric==== SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_electric("widthFI_1",-10,-10,5,10,10,10)'' DESCRIPTION:150px;Creates an electric flux integral observable in [[EM.Ferma]]. If the 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(" | EMAG Python functionFI_1",0,0,-10,10,0,10)'' DESCRIPTION: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. | style====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: ''fractal_tree("widthFractal_1",0,0,0,"line",10,3,30,3,0,0,0)'' DESCRIPTION:250px;Generates a fractal tree in the project workspace under the currently activated material group node, or modifies the fractal tree named 'label' if it already exists. ====freeze==== SYNTAX: freeze({{ArgTypeString}} object, {{ArgTypeReal}} freeze_state) EXAMPLE: ''freeze(" | Returns MyObj",1)'' DESCRIPTION: Sets the ratio 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 function of 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 outer conductor to current module without running a simulation. ====geo==== SYNTAX: geo({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''geo(1,2)'' DESCRIPTION: Computes and returns the radius geometric mean of x and y: sqrt(x*y). ====get_area==== SYNTAX: get_area({{ArgTypeString}} object) EXAMPLE: ''get_area("ellipse_1")'' DESCRIPTION: Returns the inner condutcor area of a coaxial transmission line surface object or the total surface area of a solid object. | style="width===get_axis==== SYNTAX:250px;" | z0get_axis({{ArgTypeString}} object, {{ArgTypeString}} axis, {{ArgTypeString}} coordinate) EXAMPLE: characteristic impedance in Ohms''get_axis("pyramid_1", er"x","y")'' DESCRIPTION: core permittivityReturns the specified coordinate of the unit vector along the specified local axis of an object.|-| style====get_domain_extent==== SYNTAX: get_domain_extent({{ArgTypeString}} coordinate) EXAMPLE: ''get_domain_extent("widthx")'' DESCRIPTION:100px;Returns the size of the computational domain along the specified direction. ====get_extent==== SYNTAX: get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_extent(" | waveguide_designpyramid_1","x")'' DESCRIPTION: Returns the size of the bounding box of an object along the specified direction. ====get_lcs==== SYNTAX: get_lcs(er{{ArgTypeString}} object,freq_hertz{{ArgTypeString}} coordinate)| styleEXAMPLE: ''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("widthbox_1",50,50,0,"x")'' DESCRIPTION:150px;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(" | EMAG Python functionhelix_1")'' DESCRIPTION: Returns the length of a curve object. | style====get_rot==== SYNTAX: get_rot({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_rot("widthpyramid_1","x")'' DESCRIPTION:250px;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 minimum larger dimension in meter computed value of the cross section specified standard output parameter at the end of a hollow rectangular waveguide above cutoff simulation. | style====get_vertex==== SYNTAX: get_vertex({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate) EXAMPLE: ''get_vertex("widthpyramid_1",0,"x")'' DESCRIPTION:250px;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(" | erpyramid_1")'' DESCRIPTION: filling permittivityReturns the volume of a solid object. ====global_ground==== SYNTAX: global_ground({{ArgTypeAny}} ground_on, freq_hertz{{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: frequency in Hz''global_ground(1,3.3,0.001)''|-| styleDESCRIPTION: 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("widthComposite_1","Box_1","Box_2","Box_3")'' DESCRIPTION:100px;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)| style="widthEXAMPLE:150px;" | EMAG Python function''horn_design_a(15,0.4,0.3)''| style="widthDESCRIPTION:250px;" | Returns Computes and returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna | style="width:250px;" | D0_dB: with directivity d, a_lambda: D0_dB and wavelength-normalized larger dimension of the feed waveguide, dimensions a_lambda and b_lambda: wavelength-normalized smaller dimension of the feed waveguide .|-| style="width===horn_design_b==== SYNTAX:100px;" | horn_design_b({{ArgTypeReal}} D0_dB,{{ArgTypeReal}} a_lambda,{{ArgTypeReal}} b_lambda)| style="widthEXAMPLE:150px;" | EMAG Python function''horn_design_b(15,0.4,0.3)''| style="widthDESCRIPTION:250px;" | Returns 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. | style="width===horn_design_l==== SYNTAX:250px;" | horn_design_l({{ArgTypeReal}} D0_dB: directivity d, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda) EXAMPLE: ''horn_design_l(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized larger dimension length of the feed waveguide, b_lambda: an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized smaller dimension of the feed waveguide dimensions a_lambda and b_lambda.|-| style====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("widthHS_1","Huygens_1.HUY",1,100,100,0,0,0,0)'' DESCRIPTION:100px;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(" | horn_design_lHS_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(D0_dB{{ArgTypeString}} label,a_lambda{{ArgTypeAny}} x1,b_lambda{{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)| styleEXAMPLE: ''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("widthHyperbola _1",0,0,0,50,40,20,0)'' DESCRIPTION:150px;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 " | EMAG Python functionhalf_only" is 1, only half of the hyperbola will be drawn.  | style====impedance_surface_group==== SYNTAX: impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag) EXAMPLE: ''impedance_surface_group("widthIMP_1",100,-100)'' DESCRIPTION:250px;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(" | Returns Impenet_1",2.2,0.0001)'' DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the wavelength-normalized length of 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 optimal pyramidal horn antenna external DXF model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. | style====import_igs==== SYNTAX: import_igs({{ArgTypeString}} file_name) EXAMPLE: ''import_igs("widthMyIGSModel.IGS")'' DESCRIPTION:250pxImports 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 &rarr;EMAG" | D0_dB. ====import_stl==== SYNTAX: directivity dimport_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, a_lambdathe current project folder is assumed as the path. ====import_stp==== SYNTAX: wavelength-normalized larger dimension of import_stp({{ArgTypeString}} file_name) EXAMPLE: ''import_stp("MySTPModel.STP")'' DESCRIPTION: Imports an external STEP model file to the feed waveguideproject workspace. If the file path is not specified, b_lambdathe current project folder is assumed as the path. ====inductance==== SYNTAX: wavelengthinductance({{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,-normalized smaller dimension of 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 feed waveguide observable 'label' already exists, its properties are modified.|}====inductor====
== EM.Cube's Python Functions for Geometric Object Creation ==SYNTAX: inductor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH)
====boxEXAMPLE: ''inductor({{ArgTypeString}} label"Cap_1", {{ArgTypeAny}} x0"Line_1", {{ArgTypeAny}} y025, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]10)====''
DESCRIPTION: Creates a inductor in [[EM.Tempo]]. If the inductor 'label'Example: box("Box_1"already exists,0,0,0,50,50,100)''its properties are modified.
Description: Draws a box object in the project workspace under the currently activated material group node, or modifies the box named 'label' if it already exists.====intersect====
====cylinderSYNTAX: intersect({{ArgTypeString}} label, {{ArgTypeAnyArgTypeString}} x0object_1, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAnyArgTypeString}} cap_bottom]object_2)====
EXAMPLE: ''Example: cylinderintersect("Cylinder_1Intersection_Object",0,0"Rect_Strip1",0,10,100"Rect_Strip2")''
DescriptionDESCRIPTION: Draws Creates a cylinder Boolean 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 by intersecting object_1 and end_angle are in degrees and specify object_2. An error will be thrown if a sweep about the cylinderBoolean object named 's azimuth axislabel' already exists.
====cone({{ArgTypeString}} 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])line====
''ExampleSYNTAX: coneline("Cone_1"{{ArgTypeString}} label,0{{ArgTypeAny}} x0,0{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0,30{{ArgTypeAny}} length[,40,20,0,180{{ArgTypeAny}} dir])''
DescriptionEXAMPLE: 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 coneline("my_line",0,0,0,100,"x")''s azimuth axis.
====pyramid({{ArgTypeString}} 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", {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)====a vertical line is drawn by default.
''Example: pyramid("Pyramid_1",0,0,0,10,10,100)''====loft====
DescriptionSYNTAX: Draws a pyramid loft({{ArgTypeString}} label, {{ArgTypeString}} object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.{{ArgTypeAny}} loft_height, {{ArgTypeAny}} cap_base)
====sphereEXAMPLE: ''loft({{ArgTypeString}} label"Loft_1", {{ArgTypeAny}} x0"Rect_Strip1", {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]50)====''
''ExampleDESCRIPTION: sphere("Sphere_1" Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object,0,0,0,10,0,180)'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.
Description: Draws a sphere object in the 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 sphere's azimuth axis.====lumped_src====
====ellipsoidSYNTAX: lumped_src({{ArgTypeString}} label, {{ArgTypeAny}} x0line_object, {{ArgTypeAny}} y0offset, {{ArgTypeAny}} z0polarity[, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[amplitude, {{ArgTypeAny}} start_anglephase, {{ArgTypeAny}} end_angleresistance])====
EXAMPLE: ''Example: ellipsoidlumped_src("Ellipsoid_1LS_1",0,0,0,100,100"Line_1",50,0,360)''
DescriptionDESCRIPTION: Draws an ellipsoid object Creates a lumped source in [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the ellipsoid named lumped source 'label' if it already exists. The arguments start_angle and end_angle , its properties are in degrees and specify a sweep about the ellipsoid's azimuth axismodified.
====torus({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])magnet_group====
''ExampleSYNTAX: torusmagnet_group("Torus_1"{{ArgTypeString}} label,0{{ArgTypeAny}} mu,0{{ArgTypeAny}} Mx,0{{ArgTypeAny}} My,50,20{{ArgTypeAny}} Mz)''
DescriptionEXAMPLE: Draws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the torusmagnet_group("Magnet_1",1,0,0,100)''s azimuth axis.
====rect_strip({{ArgTypeString}} DESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)====the group is activated.
''Example: rect_strip("my_rectangle",0,0,0,50,20)''====mcos====
DescriptionSYNTAX: Draws a rectangle Strip object in the project workspace under the currently activated material group nodemcos({{ArgTypeReal}} x, or modifies the rectangle strip object named 'label' if it already exists.{{ArgTypeReal}} r)
====circ_stripEXAMPLE: ''mcos({{ArgTypeString}} label0.5, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]2)====''
''ExampleDESCRIPTION: circ_strip("cs_1",0,0,0,50,0)''Computes and returns the super-quadratic cosine function of order r.
Description: Draws a circle strip object in the 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 sweep about the circle strip's azimuth axis.====mean====
====radial_stripSYNTAX: mean({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angley)====
EXAMPLE: ''Example: radial_stripmean("Radial_1",0,0,0,50,01,902)''
DescriptionDESCRIPTION: Draws a radial strip object in Computes and returns the project workspace under the currently activated material group node, or modifies the radial strip object named 'label' if it already existsarithmetic mean of x and y: 0.5*(x+y).
====ellipse_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])merge_curve====
''ExampleSYNTAX: ellipse_stripmerge_curve("es_1"{{ArgTypeString}} object_1,0,0,0,50,0{{ArgTypeString}} object_2)''
DescriptionEXAMPLE: Draws a ellipse strip object in the project workspace under the currently activated material group node, or modifies the ellipse strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse stripmerge_curve("Curve_1","Curve_2")''s azimuth axis.
====triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)====DESCRIPTION: Merges two specified curve objects into a single curve.
''Example: triangle_strip("ts_1",0,0,0,50,100,90)''====mesh====
DescriptionSYNTAX: 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. mesh()
====taper_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)====DESCRIPTION: Generates and displays the mesh of the physical structure.
''Example: taper_strip("ts_1",0,0,0,50,100,80,1)''====microstrip_design====
DescriptionSYNTAX: Draws a taper strip object in the project workspace under the currently activated material group nodemicrostrip_design({{ArgTypeReal}} z0, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn. {{ArgTypeReal}} er)
====polygon_regEXAMPLE: ''microstrip_design({{ArgTypeString}} label50, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides2.2)====''
''ExampleDESCRIPTION: polygon_reg("ts_1",0,0,0,50,100,80,1)''Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.
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. ====microstrip_eps_eff====
====spiral_stripSYNTAX: microstrip_eps_eff({{ArgTypeStringArgTypeReal}} labelw, {{ArgTypeAnyArgTypeReal}} x0h, {{ArgTypeAnyArgTypeReal}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dualer)====
EXAMPLE: ''Example: spiral_stripmicrostrip_eps_eff("Spiral _1"2,0,0,0,10,50,.5,0,02.2)''
DescriptionDESCRIPTION: Draws Computes and returns the effective permittivity of a spiral strip object in the project workspace under the currently activated material group nodemicrostrip transmission line with width w, or modifies the spiral strip named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawnsubstrate height h and substrate relative permittivity er.
====polystrip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)microstrip_lambda_g====
''ExampleSYNTAX: polystripmicrostrip_lambda_g("ps_1"{{ArgTypeReal}} w,(0{{ArgTypeReal}} h,0{{ArgTypeReal}} er,0),(1,0,0),(1,0,0){{ArgTypeReal}} freq_hertz)''
DescriptionEXAMPLE: Creates or modifies a Polystrip object in the project workspace''microstrip_lambda_g(2,0. Each point is represented with a Python tuple type5,2. The poly_strip function is 2,2e9)'self-closing' -- there is no need to supply the first point again at the end of the point list.
====nurbs_stripDESCRIPTION: Computes and returns the guide wavelength ({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1in meters) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz... {{ArgType| 3x1 Python tuple}} pn)====
''Example: nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0,0))''====microstrip_src====
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.microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====lineEXAMPLE: ''microstrip_src({{ArgTypeString}} label"MS_1", {{ArgTypeAny}} x0"Rect_1", {{ArgTypeAny}} y01.5, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir]"+x")====''
DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port '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. ====microstrip_z0====
====circleSYNTAX: microstrip_z0({{ArgTypeStringArgTypeReal}} labelw, {{ArgTypeAnyArgTypeReal}} x0h, {{ArgTypeAnyArgTypeReal}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angleer)====
EXAMPLE: ''Example: circlemicrostrip_z0("pyramid_1"2,0.5,0,0,10,10,1002.2)''
DescriptionDESCRIPTION: Draws Computes and returns the characteristic impedance (in Ohms) of a circular curve object in the project workspace under the currently activated material group nodemicrostrip transmission line with width w, or modifies the circle named 'label' if it already exists. The parameters start_angle substrate height h and end_angle are in degreessubstrate relative permittivity er.
====superquad({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)microstrip_zoc====
''ExampleSYNTAX: superquadmicrostrip_zoc("SuperQuad_1"{{ArgTypeReal}} w,0{{ArgTypeReal}} l,0{{ArgTypeReal}} h,0{{ArgTypeReal}} er,50,20,4{{ArgTypeReal}} freq_hertz)''
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 exists. If order = microstrip_zoc(2, the curve reduces to an ellipse25,0. Higher order make the round edges sharper. An infinite order reduces the curve to a rectangle5,2. 2,2e9)''
====parabolaDESCRIPTION: Computes and returns the input reactance ({{ArgTypeString}} labelin Ohms) of an open-circuited microstrip transmission line with width w, {{ArgTypeAny}} x0length l, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)====substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
''Example: parabola("Parabola _1",0,0,0,50,20,0)''====microstrip_zsc====
DescriptionSYNTAX: Draws a parabola object in the project workspace under the currently activated material group nodemicrostrip_zsc({{ArgTypeReal}} w, or modifies the parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1{{ArgTypeReal}} l, only half of the parabola will be drawn. {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====hyperbolaEXAMPLE: ''microstrip_zsc({{ArgTypeString}} label2, {{ArgTypeAny}} x025, {{ArgTypeAny}} y00.5, {{ArgTypeAny}} z02.2, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only2e9)====''
''ExampleDESCRIPTION: hyperbolaComputes and returns the input reactance ("Hyperbola _1"in Ohms) of a short-circuited microstrip transmission line with width w,0length l,0,0,50,40,20,0)''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
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. ====mirror====
====spiral_curveSYNTAX: mirror({{ArgTypeString}} labelobject, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inneruX, {{ArgTypeAny}} radius_outeruY, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dualuZ)====
EXAMPLE: ''Example: spiral_curvemirror("Spiral _1pyramid_1",0,0,0,10,50,51,0,0)''
DescriptionDESCRIPTION: Draws a spiral curve Mirrors an object in a plane defined by the project workspace under 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 the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawnspecified point coordinates and specified normal vector components.
====helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)move_to====
''ExampleSYNTAX: helixmove_to("Helix_1"{{ArgTypeString}} object,0 {{ArgTypeString}} group_node_label[,0,0,15,15,10,0{{ArgTypeString}} module_name])''
DescriptionEXAMPLE: 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 move_to("radius_innerNewObj" 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_dirMyObj" is 1, the helical curve will be drawn counter-clockwise. 10,10,0)''
====polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, 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.. {{ArgType| 3x1 Python tuple}} pn)====
''Example: polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))''====msin====
DescriptionSYNTAX: 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 pnmsin({{ArgTypeReal}} x, otherwise, it is open.{{ArgTypeReal}} r)
====nurbs_curveEXAMPLE: ''msin({{ArgTypeString}} label0.5, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn2)====''
''ExampleDESCRIPTION: nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))''Computes and returns the super-quadratic sine function of order r.
Description: 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.====nurbs_curve====
====pointSYNTAX: nurbs_curve({{ArgTypeString}} label, {{ArgTypeAnyArgType| 3x1 Python tuple}} x0p0, {{ArgTypeAnyArgType| 3x1 Python tuple}} y0p1, ... {{ArgTypeAnyArgType| 3x1 Python tuple}} z0pn)====
EXAMPLE: ''Example: pointnurbs_curve("Point_1nc_1",(0,0,100),(1,0,0),(1,0,0))''
DescriptionDESCRIPTION: Draws Creates or modifies a point NURBS Curve object in the project workspace under the currently activated material group node, or modifies the . Each point named 'label' is represented with a Python tuple type. The curve is closed if p0 is specified again as pn, otherwise, it already existsis open.
====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)nurbs_strip====
''ExampleSYNTAX: fractal_treenurbs_strip("Fractal_1"{{ArgTypeString}} label,0{{ArgType| 3x1 Python tuple}} p0,0{{ArgType| 3x1 Python tuple}} p1,0,"line",10,3,30,3,0,0,0... {{ArgType| 3x1 Python tuple}} pn)''
DescriptionEXAMPLE: Generates a fractal tree in the project workspace under the currently activated material group node''nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0, or modifies the fractal tree named 0))'label' if it already exists.
====param_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} DESCRIPTION: Creates or modifies a NURBS Strip object in the project workspace. Each point is represented with a Python tuple type. The nurbs_strip function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)])====is 'self-closing' -- there is no need to supply the first point again at the end of the point list.
''Example: param_curve("Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''====ohmic_loss====
DescriptionSYNTAX: Generates a parametric curve in the project workspace under the currently activated material group node, or modifies the parametric curve named 'ohmic_loss({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====param_surfaceEXAMPLE: ''ohmic_loss({{ArgTypeString}} label"FI_1", {{ArgTypeAny}} x0-10, {{ArgTypeAny}} y0-10, {{ArgTypeAny}} z0-10, {{ArgTypeAny}} orientation10, {{ArgTypeAny}} start110, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function10)====''
''ExampleDESCRIPTION: param_surface("Surf_1",0,0,0,"xy",0,10,0Creates an ohmic loss integral observable in [[EM.1,0,10,0Ferma]].1,"sin(x)*sin(y)")If the observable 'label'already exists, its properties are modified.
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.====parabola====
====import_stlSYNTAX: parabola({{ArgTypeString}} file_namelabel, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)====
EXAMPLE: ''Example: import_stlparabola("MySTLModel.STLParabola _1",0,0,0,50,20,0)''
DescriptionDESCRIPTION: Imports an external STL model file to Draws a parabola object in the project workspaceunder the currently activated material group node, or modifies the parabola named 'label' if it already exists. If the file path Boolean parameter "half_only" is not specified1, only half of the current project folder is assumed as the pathparabola will be drawn.
====import_dxf({{ArgTypeString}} file_name)param_curve====
''ExampleSYNTAX: import_dxfparam_curve("MyDXFModel.DXF"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)])''
DescriptionEXAMPLE: Imports an external DXF model file to the project workspace. If the file path is not specified''param_curve("Curve_1", the current project folder is assumed as the path0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''
====import_stp({{ArgTypeString}} file_name)====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.
''Example: import_stp("MySTPModel.STP")''====param_surface====
DescriptionSYNTAX: Imports an external STEP model file to the project workspace. If the file path is not specifiedparam_surface({{ArgTypeString}} label, the current project folder is assumed as the path.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function)
====import_igsEXAMPLE: ''param_surface({{ArgTypeString}} file_name"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'Example: import_igs("MyIGSModelif it already exists.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.====pec_group====
====import_pySYNTAX: pec_group({{ArgTypeString}} file_namelabel)====
EXAMPLE: ''Example: import_pypec_group("MyPYModel.PYPEC_1")''
DescriptionDESCRIPTION: Imports Creates a Python geometry file to PEC material group in the project workspacecurrent module. The default path is If the Python subfolder under "Documents &rarr; EMAG"PEC group 'label' already exists, the group is activated.
====export_stl({{ArgTypeString}} file_name)pec_via_group====
''ExampleSYNTAX: export_stlpec_via_group("MySTLModel.STL"{{ArgTypeString}} label, {{ArgTypeAny}} host_layer)''
DescriptionEXAMPLE: Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified''pec_via_group("PEC_1", the current project folder is assumed as the path.10)''
====export_dxf({{ArgTypeString}} file_name)====DESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already exists, the group is activated.
''Example: export_dxf("MyDXFModel.DXF")''====pec_voltage_group====
DescriptionSYNTAX: Exports the physical structure of the project workspacean to a DXF model file. If the file path is not specifiedpec_voltage_group({{ArgTypeString}} label, the current project folder is assumed as the path.{{ArgTypeAny}} voltage)
====export_pyEXAMPLE: ''pec_voltage_group({{ArgTypeString}} file_name"PEC_1",10)====''
''ExampleDESCRIPTION: export_py("MyPYModelCreates a fixed-potential PEC object group in the current module.PY") If the PEC group 'label'already exists, the group is activated.
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 &rarr; EMAG".====penetrable_surface_group====
== EM.Cube's Python Functions for Geometric Object Transformation ==SYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)
====cloneEXAMPLE: ''penetrable_surface_group({{ArgTypeString}} label"Penet_1", {{ArgTypeString}} object2.2, {{ArgTypeReal}} x00.0001, {{ArgTypeReal}} y0, {{ArgTypeReal}} z01)====''
DESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label'Example: clone("NewObj"already exists,"MyObj",10,10,0)''the group is activated.
Description: Creates a copy of the specified object and repositions it at the given coordinates. ====penetrable_volume_group====
====translate_bySYNTAX: penetrable_volume_group({{ArgTypeString}} objectlabel, {{ArgTypeRealArgTypeAny}} x_disteps, {{ArgTypeRealArgTypeAny}} y_dist, {{ArgTypeReal}} z_distsigma)====
EXAMPLE: ''Example: translate_bypenetrable_volume_group("MyObjVol_Penet_1",10,102.2,x0.0001)''
DescriptionDESCRIPTION: Translates an object by the specified distances Creates a penetrable volume group in each direction[[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.
====translate_to({{ArgTypeString}} object, {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)pipe_sweep====
''ExampleSYNTAX: translate_topipe_sweep("MyObj"{{ArgTypeString}} object,20,20,x2{{ArgTypeAny}} radius)''
DescriptionEXAMPLE: Translates an object to the specified destination.''pipe_sweep("Curve_1",5)''
====rotate({{ArgTypeString}} DESCRIPTION: Creates a pipe version of a given curve object, {{ArgTypeAny}} rot_angle_degree, {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)====.
''Example: rotate("Pyramid_1",45,1,1,0)''====planewave====
DescriptionSYNTAX: Rotates an object about a line passing through its LCS center and aligned along the specified direction vector planewave(rot_axis{{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization) by the specified angle.
====scale'EXAMPLE: ''planewave({{ArgTypeString}} object"PW_1", {{ArgTypeAny}} scale_factor180,0,"tm")====''
DESCRIPTION: Creates a plane wave source. If the plane wave source 'label'Example: scale("pyramid_1"already exists,2)''its properties are modified.
Description: Scales an object by the specified scale factor.====plot_file====
====mirrorSYNTAX: plot_file({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZfilename)====
EXAMPLE: ''Example: mirrorplot_file("pyramid_1D0.DAT",0,0,0,1,0,0)''
DescriptionDESCRIPTION: Mirrors an object in Plots the contents of a plane defined by the specified point coordinates and specified normal vector componentsdata file in EM.Grid.
====group({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...)pmc_group====
''ExampleSYNTAX: grouppmc_group("Composite_1","Box_1","Box_2","Box_3"{{ArgTypeString}} label)''
DescriptionEXAMPLE: Groups a number of objects into a composite object with the given label.''pmc_group("PMC_1")''
====array({{ArgTypeString}} DESCRIPTION: Creates a PMC material group in the current module. If the PMC group 'label' already exists, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing)====the group is activated.
''Example: array("Array_1","Rect_Strip_1",4,4,1,50,50,0)''====point====
DescriptionSYNTAX: Creates or modifies an array object.point({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
====array_customEXAMPLE: ''point({{ArgTypeString}} label"Point_1", {{ArgTypeString}} object0, {{ArgTypeAny}} x_count0, {{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_z10)====''
''ExampleDESCRIPTION: array_custom("Array_1","Rect_Strip_1",4,4,1,50,50,0,100,100,20,0,0Draws a point in the project workspace under the currently activated material group node,45)or modifies the point named 'label'if it already exists.
Description: Creates or modifies an array object and sets its local coordinate system and rotation angles.====polygon_reg====
====explodeSYNTAX: polygon_reg({{ArgTypeString}} objectlabel, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides)====
EXAMPLE: ''Example: explodepolygon_reg("MyArrayts_1",0,0,0,50,100,80,1)''
DescriptionDESCRIPTION: Explodes an Draws a regular polygon object into its basic primitivesin the project workspace under the currently activated material group node, or modifies the regular polygon object named 'label' if it already exists.
====subtract({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)polygonize====
''ExampleSYNTAX: subtractpolygonize("Subtract_Object"{{ArgTypeString}} object,"Rect_Strip1","Rect_Strip2"{{ArgTypeAny}} side_length)''
DescriptionEXAMPLE: Creates a Boolean object named 'label' by subtracting object_2 from object_1. An error will be thrown if a Boolean object named polygonize("Cric_1",2)'label' already exists.
====union({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)====DESCRIPTION: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.
''Example: union("Union_Object","Rect_Strip1","Rect_Strip2")''====polyline====
DescriptionSYNTAX: Creates a Boolean object named 'polyline({{ArgTypeString}} label' by unioning object_1 and object_2, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, .. An error will be thrown if a Boolean object named 'label' already exists.{{ArgType| 3x1 Python tuple}} pn)
====intersectEXAMPLE: ''polyline({{ArgTypeString}} label"pl_1", {{ArgTypeString}} object_1(0, {{ArgTypeString}} object_20,0),(1,0,0),(1,0,0))====''
''ExampleDESCRIPTION: intersect("Intersection_Object"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,"Rect_Strip1"otherwise,"Rect_Strip2")''it is open.
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.====polymesh====
====extrudeSYNTAX: polymesh({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_endsedge_length)====
EXAMPLE: ''Example:extrudepolymesh("Extrude_1Poly_1","Rect_Strip1Cric_1",502)''
DescriptionDESCRIPTION: Creates Discretizes the specified solid or modifies an extrusion object from a specified surface object by the specified heightedge length. If modifying an existing extrusion object, the pre-existing primitive The results is used. This command can only extrude objects that have a single face and will extrude along the face's normalpolymesh object.
====loft({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} loft_height, {{ArgTypeAny}} cap_base)polystrip====
''ExampleSYNTAX: loftpolystrip("Loft_1"{{ArgTypeString}} label,"Rect_Strip1"{{ArgType| 3x1 Python tuple}} p0,50{{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)''
DescriptionEXAMPLE: Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object''polystrip("ps_1", the pre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face(0,0,0),(1,0,0),(1,0,0))''s normal.
====revolve({{ArgTypeString}} label, {{ArgTypeString}} DESCRIPTION: Creates or modifies a Polystrip object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)====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.
''Example: revolve("Rev1","Line_1",0,0,0,0,0,1,360)''====port_definition_custom====
DescriptionSYNTAX: Creates or modifies a revolution object from a specified object. If modifying an existing revolution objectport_definition_custom({{ArgTypeString}} label, the pre-existing primitive object is used. (x0{{ArgTypeString}} port_1_src_1,y0{{ArgTypeString}} port_1_src_2,z0..., {{ArgTypeString}} port_1_impedance) specifies the center of revolution, and (uX{{ArgTypeString}} port_2_src_1,uY{{ArgTypeString}} port_2_src_2,uZ..., {{ArgTypeString}} port_2_impedance) specifies the revolution axis, . The revolution angle "rot_angle" is given in degrees..)
====consolidateEXAMPLE: ''port_definition_custom({{ArgTypeString}} object"PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))====''
''ExampleDESCRIPTION: consolidate("Poly_1")Creates a custom port definition observable. If the observable 'label'already exists, its properties are modified.
Description: Consolidates a specified object.====port_definition_default====
====spline_fitSYNTAX: port_definition_default({{ArgTypeString}} objectlabel)====
EXAMPLE: ''Example: spline_fitport_definition_default("Poly_1PD_1")''
DescriptionDESCRIPTION: Applies spline fit transformation on Creates a specified polymeshdefault port definition observable. If the observable 'label' already exists, polyline or polystrip objectits properties are modified.
====fill_curve({{ArgTypeString}} object)probe_gap_src====
''ExampleSYNTAX: fill_curveprobe_gap_src("Curve_1"{{ArgTypeString}} label, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Fill the interior of the specified closed curve object.''probe_gap_src("Probe_1","Via_1",0)''
====merge_curve({{ArgTypeString}} object_1DESCRIPTION: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, {{ArgTypeString}} object_2)====its properties are modified.
''Example: merge_curve("Curve_1","Curve_2")''====pyramid====
DescriptionSYNTAX: Merges two specified curve objects into a single curve.pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)
====close_curveEXAMPLE: ''pyramid({{ArgTypeString}} label"Pyramid_1", {{ArgTypeString}} close_state0,0,0,10,10,100)====''
''ExampleDESCRIPTION: close_curve("Curve_1"Draws a pyramid object in the project workspace under the currently activated material group node,1)or modifies the pyramid named 'label'if it already exists.
Description: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve.====radial_strip====
====polygonizeSYNTAX: radial_strip({{ArgTypeString}} objectlabel, {{ArgTypeAny}} side_lengthx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)====
EXAMPLE: ''Example: polygonizeradial_strip("Cric_1Radial_1",20,0,0,50,0,90)''
DescriptionDESCRIPTION: Polygonizes the specified surface or curve Draws a radial strip object by in the specified side length. The results is a polystrip project workspace under the currently activated material group node, or a polylinemodifies the radial strip object named 'label' if it already exists.
====polymesh({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} edge_length)rail_sweep====
''ExampleSYNTAX: polymeshrail_sweep("Poly_1"{{ArgTypeString}} rail_object,"Cric_1",2{{ArgTypeString}} sweep_object)''
DescriptionEXAMPLE: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.''rail_sweep("Curve_1","Curve_2")''
====fillet({{ArgTypeString}} DESCRIPTION: Rail-sweeps the specified sweep object, {{ArgTypeAny}} radius)====along the specified curve object.
''Example: fillet("Rect_1",5)''====ramp====
DescriptionSYNTAX: Fillets the corners of the specified surface or curve object by the specified radius.ramp({{ArgTypeReal}} x)
====sliceEXAMPLE: ''ramp({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ0.5)====''
''ExampleDESCRIPTION: fillet("Rect_1"Computes and returns the ramp function: x if x>0,5)''0 if x<0.
Description: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.====rand====
====roughenSYNTAX: rand({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeStringArgTypeReal}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_lengthy)====
EXAMPLE: ''Example: roughenrand("Rect_1"0,1,5)''
DescriptionDESCRIPTION: Roughens the surface of the specified object based on the specified RMS height Computes and correlation lengthreturns a random number between x and y using an uniform distribution.
====random_group({{ArgTypeString}} label, {{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)====
''ExampleSYNTAX: random_group("Rand_1"{{ArgTypeString}} label,"Rect_1"{{ArgTypeString}} key_object,"Box_1"{{ArgTypeString}} container_object,100{{ArgTypeAny}} element_count)''
DescriptionEXAMPLE: Creates a random group using the specified key object and confines them in the specified container object.''random_group("Rand_1","Rect_1","Box_1",100)''
====strip_sweep({{ArgTypeString}} DESCRIPTION: Creates a random group using the specified key object, {{ArgTypeAny}} width)====and confines them in the specified container object.
''Example: strip_sweep("Curve_1",5)''====rcs_bistatic====
DescriptionSYNTAX: Creates a strip version of a given curve object.rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
====pipe_sweepEXAMPLE: ''rcs_bistatic({{ArgTypeString}} object"RCS_1", {{ArgTypeAny}} radius1,1)====''
DESCRIPTION: Creates a bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label'Example: pipe_sweep("Curve_1"already exists,5)''its properties are modified.
Description: Creates a pipe version of a given curve object.====rcs_monostatic====
====rail_sweepSYNTAX: rcs_monostatic({{ArgTypeString}} rail_objectlabel, {{ArgTypeStringArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} sweep_objectfrequency])====
EXAMPLE: ''Example: rail_sweeprcs_monostatic("Curve_1RCS_1","Curve_2"1,1)''
DescriptionDESCRIPTION: Rail-sweeps the Creates a monostatic RCS observable. The frequency can also be optionally specified sweep object along for [[EM.Tempo]]. If the specified curve objectobservable 'label' already exists, its properties are modified.
== EM.Cube's Python Functions for Material or Object Group Creation ==receiver_set====
====activateSYNTAX: receiver_set({{ArgTypeString}} group_node_labellabel, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)====
EXAMPLE: ''Example: activatereceiver_set("Color_1TX_1","PT_1","DPL_STD.RAD",0,90,0)''
DescriptionDESCRIPTION: Activates Creates a color, material or object group receiver set in the current active [[EM.CubeTerrano]] module. If the receiver set 'label' already exists, its properties are modified.
====color_group({{ArgTypeString}} label)rect====
''ExampleSYNTAX: color_grouprect("Color_1"{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activatedrect(0.1)''
====pec_group({{ArgTypeString}} label)====DESCRIPTION: Computes and returns the rectangular window function: 1 if x<0.5, 0 elsewhere.
''Example: pec_group("PEC_1")''====rect_gap_src====
DescriptionSYNTAX: Creates a PEC material group in the current module. If the PEC group 'rect_gap_src({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====pec_voltage_groupEXAMPLE: ''rect_gap_src({{ArgTypeString}} label"GAP_1", {{ArgTypeAny}} voltage"Rect_1",0,0)====''
DESCRIPTION: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label'Example: pec_voltage_group("PEC_1"already exists,10)''its properties are modified.
Description: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label' already exists, the group is activated.====rect_strip====
====pec_via_groupSYNTAX: rect_strip({{ArgTypeString}} label, {{ArgTypeAny}} host_layerx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)====
EXAMPLE: ''Example: pec_via_grouprect_strip("PEC_1my_rectangle",100,0,0,50,20)''
DescriptionDESCRIPTION: Creates an embedded PEC via set group Draws a rectangle Strip object in the current module. If project workspace under the PEC via currently activated material group node, or modifies the rectangle strip object named 'label' if it already exists, the group is activated.
====thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius)rename====
''ExampleSYNTAX: thinwire_grouprename("Thinwire_1"{{ArgTypeString}} new_label,4{{ArgTypeString}} old_label)''
DescriptionEXAMPLE: Creates a Thinwire material group in the current module. If the thin wire group 'label' already existsrename("Box_2", the group is activated."Box_1")''
====pmc_group({{ArgTypeString}} label)====DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.
''Example: pmc_group("PMC_1")''====resistance====
DescriptionSYNTAX: Creates a PMC material group in the current module. If the PMC group 'resistance({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
====slot_groupEXAMPLE: ''resistance({{ArgTypeString}} label"FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)====''
''ExampleDESCRIPTION: slot_group("PMC_1")Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label'already exists, its properties are modified.
Description: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, the group is activated.====resistor====
====dielectric_groupSYNTAX: resistor({{ArgTypeString}} label, {{ArgTypeAny}} epsline_object, {{ArgTypeAny}} sigmaoffset, {{ArgTypeAny}} mu, {{ArgTypeAny}} rhoresistance)====
EXAMPLE: ''Example: dielectric_groupresistor("Dielectric_1Res_1","my_epsLine_1",0,125,050)''
DescriptionDESCRIPTION: Creates a dielectric material group resistor in the current module with the specified material properties[[EM.Tempo]]. If the dielectric group resistor 'label' already exists, the group is activatedits properties are modified.
====impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)revolve====
''ExampleSYNTAX: impenetrable_surface_grouprevolve("Impenet_1"{{ArgTypeString}} label,2.2{{ArgTypeString}} object,0.0001{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)''
DescriptionEXAMPLE: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already existsrevolve("Rev1", the group is activated."Line_1",0,0,0,0,0,1,360)''
====penetrable_surface_groupDESCRIPTION: Creates or modifies a revolution object from a specified object. If modifying an existing revolution object, the pre-existing primitive object is used. ({{ArgTypeString}} labelx0, {{ArgTypeAny}} epsy0,z0) specifies the center of revolution, and (uX, {{ArgTypeAny}} sigmauY, {{ArgTypeAny}} thicknessuZ)====specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.
''Example: penetrable_surface_group("Penet_1",2.2,0.0001, 1)''====rosen====
DescriptionSYNTAX: Creates rosen({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activated.{{ArgTypeReal}} b)
====penetrable_volume_groupEXAMPLE: ''rosen({{ArgTypeString}} label0.5, {{ArgTypeAny}} eps0, {{ArgTypeAny}} sigma1,2)====''
''ExampleDESCRIPTION: Computes and returns the Rosenbrock function: penetrable_volume_group("Vol_Penet_1",a-x)**2.+ b*(y-x**2,0.0001)''**2.
Description: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.====rotate====
====terrain_groupSYNTAX: rotate({{ArgTypeString}} labelobject, {{ArgTypeAny}} epsrot_angle_degree, {{ArgTypeAny}} sigmarot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)====
EXAMPLE: ''Example: terrain_grouprotate("Terrain_1pyramid_1",5.045,1,1,0.0001)''
DescriptionDESCRIPTION: Creates Rotates an terrain surface group in [[EM.Terrano]]. If object about a line passing through its LCS center and aligned along the terrain surface group 'label' already exists, specified direction vector (rot_axis) by the group is activatedspecified angle.
====base_point_group({{ArgTypeString}} label)roughen====
''ExampleSYNTAX: base_point_setroughen("BP_Set_1"{{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)''
DescriptionEXAMPLE: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already existsroughen("Rect_1", the group is activated.1,5)''
====virtual_group({{ArgTypeString}} label)====DESCRIPTION: Roughens the surface of the specified object based on the specified RMS height and correlation length.
''Example: virtual_group("VIR_1")''====run_analysis====
DescriptionSYNTAX: Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'label' already exists, the group is activated.run_analysis()
====impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag)====DESCRIPTION: Runs a simulation in the current active [[EM.Cube]] computational module.
''Example: impedance_surface_group("IMP_1",100,-100)''====save_data====
DescriptionSYNTAX: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated.save_data({{ArgTypeString}} directory_name)
====conductive_sheet_groupEXAMPLE: ''save_data({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness"Simulation_Data")====''
''ExampleDESCRIPTION: conductive_sheet_group("Cond_1",100, 0Saves [[EM.01)'Cube]]'s output simulation data files under the specified directory.
Description: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated.====sawtooth====
====charge_groupSYNTAX: sawtooth({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} densityx)====
EXAMPLE: ''Example: charge_groupsawtooth("Charge_1",-1e-0.5)''
DescriptionDESCRIPTION: Creates a volume charge source group in [[EM.Ferma]]. If Computes and returns the charge group 'label' already existsascending periodic sawtooth function of period T = 2, the group is activatedoscillating between two values +1 and -1 and having a zero value of at x = 0.
====magnet_group({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)scale====
''ExampleSYNTAX: magnet_groupscale("Magnet_1"{{ArgTypeString}} object,1,0,0,100{{ArgTypeAny}} scale_factor)''
DescriptionEXAMPLE: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already existsscale("pyramid_1", the group is activated.2)''
====volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)====DESCRIPTION: Scales an object by the specified scale factor.
''Example: volume_current_group("Magnet_1",0,0,1e6)''====select_module====
DescriptionSYNTAX: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, the group is activated.select_module({{ArgTypeString}} module_name)
====wire_current_groupEXAMPLE: ''select_module({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius"[[EM.Tempo]]")====''
''ExampleDESCRIPTION: wire_current_group("Magnet_1",1,0Selects and sets [[EM.5)'Cube]]'s active module.
Description: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'label' already exists, the group is activated.====set_bandwidth====
== EM.Cube's Python Functions for Source & Lumped Device Definition ==SYNTAX: set_bandwidth({{ArgTypeAny}} value)
====lumped_srcEXAMPLE: ''set_bandwidth({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]1e9)====''
''ExampleDESCRIPTION: lumped_src("LS_1","Line_1",50,0)'Sets [[EM.Cube]]'s frequency bandwidth.
Description: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.====set_boundary_conditions====
====distributed_srcSYNTAX: set_boundary_conditions({{ArgTypeString}} labelxn_type, {{ArgTypeAnyArgTypeString}} rect_objectxp_type, {{ArgTypeAnyArgTypeString}} field_diryn_type, {{ArgTypeAnyArgTypeString}} profile[yp_type, {{ArgTypeAnyArgTypeString}} amplitudezn_type, {{ArgTypeAny}} phase, {{ArgTypeAnyArgTypeString}} resistance]zp_type)====
EXAMPLE: ''Example: distributed_srcset_domain_offset_lambda("DS_1pml","pml","pml","Rect_1pml","+ypec","uniformpml")''
DescriptionDESCRIPTION: Creates a distributed source in Sets [[EM.Tempo]]. If the distributed source 'label' already existss domain boundary conditions domain offset on the &plusmn;X, its properties &plusmn;Y and &plusmn;Z boundary walls. The options are modified"pec", "pmc" and "pml".
====microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])set_domain_offset====
''ExampleSYNTAX: microstrip_srcset_domain_offset("MS_1"{{ArgTypeAny}} dxn_offset,"Rect_1"{{ArgTypeAny}} dxp_offset,1.5{{ArgTypeAny}} dyn_offset,"+x"{{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)''
DescriptionEXAMPLE: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already existsset_domain_offset(20, its properties are modified.20,20,20,0,10)''
====cpw_src({{ArgTypeString}} labelDESCRIPTION: Sets the domain offset values along the &plusmn;X, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====&plusmn;Y and &plusmn;Z directions in project units.
''Example: cpw_src("CPW_1","Rect_1",1.5,"+x")''====set_domain_offset_lambda====
DescriptionSYNTAX: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already existsset_domain_offset_lambda({{ArgTypeAny}} dxn_offset, its properties are modified.{{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
====coaxial_srcEXAMPLE: ''set_domain_offset_lambda({{ArgTypeString}} label0.1, {{ArgTypeAny}} cylinder_object0.1, {{ArgTypeAny}} outer_radius0.1, {{ArgTypeAny}} edge[0.1, {{ArgTypeAny}} amplitude0, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]0.25)====''
''ExampleDESCRIPTION: coaxial_src("COAX_1"Sets the domain offset values along the &plusmn;X,"Cyl_1",1&plusmn;Y and &plusmn;Z directions in free-space wavelengths.5,"+z")''
Description: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified.====set_frequency====
====waveguide_srcSYNTAX: set_frequency({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]value)====
EXAMPLE: ''Example: waveguide_srcset_frequency("WG_1","Box_1",50,02.4e9)''
DescriptionDESCRIPTION: Creates a waveguide port source in Sets [[EM.TempoCube]]. If the waveguide port 'label' already exists, its properties are modifieds center frequency.
====wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])set_lcs_link====
''ExampleSYNTAX: wire_gap_srcset_lcs_link("WIG_1"{{ArgTypeString}} object,"Line_1"{{ArgTypeString}} lcs_obj,50{{ArgTypeAny}} x_off,0{{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)''
DescriptionEXAMPLE: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already existsset_lcs_link("pyramid_1", its properties are modified."box_1",50,50,0)''
====rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} DESCRIPTION: Links the LCS of the first object to the LCS of the second object by the specified offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====values along the three axes.
''Example: rect_gap_src("GAP_1","Rect_1",0,0)''====set_periodic====
DescriptionSYNTAX: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already existsset_periodic({{ArgTypeAny}} is_periodic, its properties are modified.{{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY)
====probe_gap_srcEXAMPLE: ''set_periodic({{ArgTypeString}} label1, {{ArgTypeAny}} via_object50, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]50)====''
''ExampleDESCRIPTION: probe_gap_src("Probe_1","Via_1",0)''Designates the physical structure as periodic and sets the periods along the X and Y directions.
Description: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, its properties are modified.====set_rot====
====wave_portSYNTAX: set_rot({{ArgTypeString}} labelobject, {{ArgTypeAny}} rect_objectrot_x, {{ArgTypeAny}} offsetrot_y, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]rot_z)====
EXAMPLE: ''Example: wave_portset_rot("WP_1pyramid_1","Rect_1"0,0,045)''
DescriptionDESCRIPTION: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If Sets the wave port 'label' already exists, its properties are modifiedthree rotation angles of an object.
====short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)set_rot_link====
''ExampleSYNTAX: wave_portset_rot_link("SD_1"{{ArgTypeString}} object,0{{ArgTypeString}} lcs_obj,0{{ArgTypeAny}} x_off_deg,50{{ArgTypeAny}} y_off_deg,3,0,0,1,1,0{{ArgTypeAny}} z_off_deg)''
DescriptionEXAMPLE: Creates a Hertzian short dipole source. If the short dipole source 'label' already existsset_rot_link("pyramid_1", its properties are modified."box_1",0,0,45)''
====planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)====DESCRIPTION: 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.
''Example: planewave("PW_1",180,0,"tm")''====set_stackup_order====
DescriptionSYNTAX: Creates a plane wave source. If the plane wave source 'label' already existsset_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, its properties are modified..., {{ArgTypeString}} label_n, "BHS")
====gauss_beamEXAMPLE: ''background_layer({{ArgTypeString}} label"THS", {{ArgTypeAny}} theta"Top_Layer", {{ArgTypeAny}} phi"Mid_Layer", {{ArgTypeAny}} polarization"Bottom_Layer", {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode"BHS")====''
DESCRIPTION: Sets the hierarchy of [[EM.Picasso]]''Example: gauss_beam(s background layer stackup from top to bottom. The sequence should always start with "PW_1THS",180,0,standing for the top half-space and must end in "tmBHS",0,0,0,20,0,0)''standing for the bottom half-space. All the intermediate finite-thickness substrate layers must be included and listed in the right order.
Description: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modified.====set_units====
====huygens_srcSYNTAX: set_units({{ArgTypeString}} label, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot]units)====
EXAMPLE: ''Example: huygens_srcset_units("HS_1","Huygens_1.HUYmeter",1,100,100,0,0,0,0)''
DescriptionDESCRIPTION: Creates a Huygens sourceSets [[EM. If the Huygens source Cube]]'label' already exists, its properties are modifieds project length units.
====transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)sgn====
''ExampleSYNTAX: transmitter_setsgn("TX_1","PT_1","DPL_STD.RAD",0,90,0{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, its properties are modifiedsgn(-1.0)''
====resistor({{ArgTypeString}} labelDESCRIPTION: Computes and returns the signum function: 1 if x>0, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)====-1 if x<0.
''Example: resistor("Res_1","Line_1",25,50)''====short_dipole====
DescriptionSYNTAX: Creates a resistor in [[EM.Tempo]]. If the resistor 'short_dipole({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)
====capacitorEXAMPLE: ''short_dipole({{ArgTypeString}} label"SD_1", {{ArgTypeAny}} line_object0, {{ArgTypeAny}} offset0, {{ArgTypeAny}} capacitance_pF50,3,0,0,1,1,0)====''
DESCRIPTION: Creates a Hertzian short dipole source. If the short dipole source 'label'Example: capacitor("Cap_1"already exists,"Line_1",25,10)''its properties are modified.
Description: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'label' already exists, its properties are modified.====sigmoid====
====inductorSYNTAX: sigmoidnc({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nHa)====
EXAMPLE: ''Example: inductorsigmoid("Cap_1","Line_1",250.5,101)''
DescriptionDESCRIPTION: Creates a inductor in [[EM.Tempo]]. If Computes and returns the inductor 'label' already exists, its properties are modifiedsigmoid function of slope a: 2/(1 + exp(-a*x)) - 1.
====diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)sinc====
''ExampleSYNTAX: diodesinc("Diode_1","Line_1",25,0,10,300,1{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modifiedsinc(0.5)''
== EMDESCRIPTION: Computes and returns the sinc function: sin(pi*x)/(pi*x).Cube's Python Functions for Observable Definition ==
====port_definition_default({{ArgTypeString}} label)slice====
''ExampleSYNTAX: port_definition_defaultslice("PD_1"{{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)''
DescriptionEXAMPLE: Creates a default port definition observable. If the observable 'label' already existsslice("Rect_1", its properties are modified.5)''
====port_definition_custom({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, DESCRIPTION: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates..., {{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))''====slot_group====
DescriptionSYNTAX: Creates a custom port definition observable. If the observable 'slot_group({{ArgTypeString}} label' already exists, its properties are modified.)
====farfieldEXAMPLE: ''slot_group({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr"PMC_1")====''
DESCRIPTION: Creates a slot trace group in the current module. If the slot trace group 'label'Example: farfield("FF_1"already exists,1,1)''the group is activated.
Description: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.====solution_plane====
====rcs_bistaticSYNTAX: solution_plane({{ArgTypeString}} label, {{ArgTypeAny}} theta_incrfield_sensor_label, {{ArgTypeAny}} phi_incris_quasi)====
EXAMPLE: ''Example: rcs_bistaticsolution_plane("RCS_1FI_1",1"FS_1",1)''
DescriptionDESCRIPTION: Creates a bistatic RCS 2D solution plane observablein [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
====current_dist({{ArgTypeString}} label)sphere====
''ExampleSYNTAX: current_distsphere("CD_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])''
DescriptionEXAMPLE: Creates a current distribution observable. If the observable 'label' already existssphere("Sphere_1", its properties are modified.0,0,0,10,0,180)''
====field_sensor({{ArgTypeString}} DESCRIPTION: Draws a sphere object in the project workspace under the currently activated Material Group node, or modifies the sphere named 'label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)====' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the sphere's azimuth axis.
''Example: field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''====spiral_curve====
DescriptionSYNTAX: Creates a near-field sensor observable. If the observable 'spiral_curve({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
====field_sensor_gridEXAMPLE: ''spiral_curve({{ArgTypeString}} label"Spiral _1", {{ArgTypeAny}} dir_coordinate0, {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z010,50,5,0,0)====''
DESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'label'Example: field_sensor_grid(if it already exists. If the Boolean parameter "FS_1spiral_dir"is 1,the spiral curve will be drawn counter-clockwise. If the Boolean parameter "zis_dual"is 1,0,0,0)''a dual-arm spiral curve will be drawn.
Description: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====spiral_strip====
====field_probeSYNTAX: spiral_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)====
EXAMPLE: ''Example: field_probespiral_strip("FS_1Spiral _1",0,0,0,10,50,5,0,0)''
DescriptionDESCRIPTION: Creates Draws a temporal field probe observable spiral strip object in [[EM.Tempo]] the project workspace under the currently activated material group node, or [[EM.Ferma]]. If modifies the observable spiral strip named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, its properties are modifiedthe spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawn.
====receiver_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)spline_fit====
''ExampleSYNTAX: receiver_setspline_fit("TX_1","PT_1","DPL_STD.RAD",0,90,0{{ArgTypeString}} object)''
DescriptionEXAMPLE: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, its properties are modified.spline_fit("Poly_1")''
====huygens_surface({{ArgTypeString}} labelDESCRIPTION: Applies spline fit transformation on a specified polymesh, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)====polyline or polystrip object.
''Example: huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)''====spline2====
DescriptionSYNTAX: Creates a Huygens surface observable. If the observable 'label' already exists, its properties are modified.spline2({{ArgTypeReal}} x)
====huygens_surface_gridEXAMPLE: ''spline2({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z21.0)====''
''ExampleDESCRIPTION: huygens_surface_grid("HS_1",Computes and returns the quadratic B-10,-10,-10,10,10,10)''spline function.
Description: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified.====spline3====
====voltage_integralSYNTAX: spline3({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2x)====
EXAMPLE: ''Example: voltage_integralspline3("FI_1",0,0,-10,0,1.0,10)''
DescriptionDESCRIPTION: Creates a voltage integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already exists, its properties are modifiedcubic B-spline function.
====current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)sqr_wave====
''ExampleSYNTAX: current_integralsqr_wave("FI_1",-10,-10,0,10,10,0{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modifiedsqr_wave(0.5)''
DESCRIPTION: Computes and returns the periodic square wave function of period T ====conduction_current_integral({{ArgTypeString}} label2, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)===oscillating between two values +1 and -1 and having a value of +1 at x =0.
''Example: conduction_current_integral("FI_1",-10,-10,0,10,10,0)''====sqr2====
DescriptionSYNTAX: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already existssqr2({{ArgTypeReal}} x, its properties are modified.{{ArgTypeReal}} y)
====capacitanceEXAMPLE: ''sqr2({{ArgTypeString}} label0, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z41)====''
''ExampleDESCRIPTION: capacitance("FI_1",-10,-10,5,10,10,10,0,0,-10,0,0,10)''Computes and returns the sum of squares of x and y: x**2 + y**2.
Description: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====sqr3====
====inductanceSYNTAX: sqr2({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x1y, {{ArgTypeAnyArgTypeReal}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4z)====
EXAMPLE: ''Example: inductancesqr2("FI_1",0,0,-10,10,0,101,2.5,-2.5,0,7.5,2.5,0)''
DescriptionDESCRIPTION: Creates a inductance integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already existssum of squares of x, its properties are modifiedy and z: x**2 + y**2 + z**2.
====resistance({{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)sqrt2====
''ExampleSYNTAX: resistancesqrt2("FI_1"{{ArgTypeReal}} x,0,0,-10,0,0,10,-10,-10,0,10,10,0{{ArgTypeReal}} y)''
DescriptionEXAMPLE: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already existssqrt2(0, its properties are modified.1)''
====flux_electricDESCRIPTION: Computes and returns the radius of the 2D point ({{ArgTypeString}} labelx, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2y): sqrt(x**2 + y**2)====.
''Example: flux_electric("FI_1",-10,-10,5,10,10,10)''====sqrt3====
DescriptionSYNTAX: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already existssqrt3({{ArgTypeReal}} x, its properties are modified.{{ArgTypeReal}} y, {{ArgTypeReal}} z)
====flux_magneticEXAMPLE: ''sqrt3({{ArgTypeString}} label0, {{ArgTypeAny}} x11, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z22)====''
''ExampleDESCRIPTION: flux_magneticComputes and returns the radius of the 3D point ("FI_1"x,0y,0,-10,10,0,10z): sqrt(x**2 + y**2 + z**2)''.
Description: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====step====
====energy_electricSYNTAX: step({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2x)====
EXAMPLE: ''Example: energy_electricstep("FI_1",-10,-10,-10,10,10,101.0)''
DescriptionDESCRIPTION: Creates an electric energy integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already existsunit step function: 1 if x>0, its properties are modified0 if x<0.
====energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)strip_sweep====
''ExampleSYNTAX: energy_magneticstrip_sweep("FI_1"{{ArgTypeString}} object,-10,-10,-10,10,10,10{{ArgTypeAny}} width)''
DescriptionEXAMPLE: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already existsstrip_sweep("Curve_1", its properties are modified.5)''
====ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Creates a strip version of a given curve object.
''Example: ohmic_loss("FI_1",-10,-10,-10,10,10,10)''====subtract====
DescriptionSYNTAX: Creates an ohmic loss integral observable in [[EM.Ferma]]. If the observable 'subtract({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
====solution_planeEXAMPLE: ''subtract({{ArgTypeString}} label"Subtract_Object", {{ArgTypeAny}} field_sensor_label"Rect_Strip1", {{ArgTypeAny}} is_quasi"Rect_Strip2")====''
DESCRIPTION: Creates a Boolean object named 'label'Example: solution_plane("FI_1","FS_1",1)by subtracting object_2 from object_1. An error will be thrown if a Boolean object named 'label'already exists.
Description: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====superquad====
== EM.Cube's Python Functions for Simulation-Related Functions & Operations ==SYNTAX: superquad({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)
====select_moduleEXAMPLE: ''superquad({{ArgTypeString}} module_name"SuperQuad_1",0,0,0,50,20,4)====''
''ExampleDESCRIPTION: select_module("[[EM.Tempo]]")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 = 2, the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
Description: Selects and sets [[EM.Cube]]'s active module.====taper_strip====
====set_unitsSYNTAX: taper_strip({{ArgTypeString}} unitslabel, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)====
EXAMPLE: ''Example: set_unitstaper_strip("meterts_1",0,0,0,50,100,80,1)''
DescriptionDESCRIPTION: Sets [[EM.Cube]]'s Draws a taper strip object in the project length unitsworkspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn.
====set_frequency({{ArgTypeAny}} value)terrain_group====
''ExampleSYNTAX: set_frequencyterrain_group(2.4e9{{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)''
DescriptionEXAMPLE: Sets [[EM.Cube]]'s center frequency'terrain_group("Terrain_1",5.0,0.0001)''
====set_bandwidth({{ArgTypeAny}} value)====DESCRIPTION: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already exists, the group is activated.
''Example: set_bandwidth(1e9)''====thinwire_group====
DescriptionSYNTAX: Sets [[EM.Cube]]'s frequency bandwidth.thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius)
====background_layerEXAMPLE: ''thinwire_group({{ArgTypeString}} label"Thinwire_1", {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness4)====''
DESCRIPTION: Creates a Thinwire material group in the current module. If the thin wire group 'label'Example: background_layer("Mid_Layer"already exists,3the group is activated.3,0.001,1,1.5)''
Description: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.====torus====
====delete_backgroundSYNTAX: torus({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])====
EXAMPLE: ''Example: select_moduletorus("Mid_LayerTorus_1",0,0,0,50,20)''
DescriptionDESCRIPTION: Deletes a finite-thickness substrate layer from [[EMDraws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label' if it already exists.Picasso]]The arguments start_angle and end_angle are in degrees and specify a sweep about the torus's background layer stackupazimuth axis.
====set_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, ..., {{ArgTypeString}} label_n, "BHS")translate_by====
''ExampleSYNTAX: background_layertranslate_by("THS"{{ArgTypeString}} object,"Top_Layer" {{ArgTypeReal}} x_dist,"Mid_Layer"{{ArgTypeReal}} y_dist,"Bottom_Layer","BHS"{{ArgTypeReal}} z_dist)''
DescriptionEXAMPLE: Sets the hierarchy of [[EM.Picasso]]'s background layer stackup from top to bottom. The sequence should always start with 'translate_by("THSMyObj" standing for the top half-space and must end in "BHS" standing for the bottom half-space. All the intermediate finite-thickness substrate layers must be included and listed in the right order. ,10,10,x)''
====global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)====DESCRIPTION: Translates an object by the specified distances in each direction.
''Example: global_ground(1,3.3,0.001)''====translate_to====
DescriptionSYNTAX: 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. translate_to({{ArgTypeString}} object, {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)
====deleteEXAMPLE: ''translate_to({{ArgTypeString}} node_name"MyObj",20,20,x2)====''
''ExampleDESCRIPTION: delete("Box_1")''Translates an object to the specified destination.
Description: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. ====transmitter_set====
====zoom_extentsSYNTAX: transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)====
DescriptionEXAMPLE: Zooms to fit the extents of the physical structure into the screen''transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''
====add_variable({{ArgTypeString}} var_nameDESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, {{ArgTypeAny}} value)====its properties are modified.
''Example: add_variable("MyVar",1)''====tri====
DescriptionSYNTAX: Adds a new variable to [[EM.Cube]]'s variable list.tri({{ArgTypeReal}} x)
====run_analysisEXAMPLE: ''tri(0.1)====''
DescriptionDESCRIPTION: Runs a simulationComputes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.
====set_periodic({{ArgTypeAny}} is_periodic, {{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY) tri_wave====
''ExampleSYNTAX: set_periodictri_wave(1,50,50{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Designates the physical structure as periodic and sets the periods along the X and Y directions''tri_wave(0.5)''
DESCRIPTION: Computes and returns the periodic triangular wave function of period T =2, oscillating between two values +1 and -1 and having a value of +1 at x ===plot_file({{ArgTypeString}} filename) ====0.
''Example: plot_file("D0.DAT)''====triangle_strip====
DescriptionSYNTAX: Plot the contents of a specified data file in EM.Grid.triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)
====meshEXAMPLE: ''triangle_strip("ts_1",0,0,0,50,100,90)====''
DescriptionDESCRIPTION: Generates and displays Draws a triangle strip object in the mesh of project workspace under the physical structurecurrently activated material group node, or modifies the triangle strip object named 'label' if it already exists.
====emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambda, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs)union====
''ExampleSYNTAX: emtempo_mesh_settingsunion(30{{ArgTypeString}} label,0.1{{ArgTypeString}} object_1,0.1,0.02{{ArgTypeString}} object_2)''
DescriptionEXAMPLE: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator.'union("Union_Object","Rect_Strip1","Rect_Strip2")''
====emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda)====DESCRIPTION: Creates a Boolean object named 'label' by unioning object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.
''Example: emillumina_mesh_settings(30)''====virtual_group====
DescriptionSYNTAX: Sets the parameters of [[EM.Illumina]]'s mesh generator.virtual_group({{ArgTypeString}} label)
====empicasso_mesh_settingsEXAMPLE: ''virtual_group({{ArgTypeAny}} cells_per_lambda"VIR_1")====''
''ExampleDESCRIPTION: empicasso_mesh_settings(30)Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'label'already exists, the group is activated.
Description: Sets the parameters of [[EM.Picasso]]'s planar hybrid mesh generator.====voltage_integral====
====emlibera_mesh_settingsSYNTAX: voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} cells_per_lambdaz2)====
EXAMPLE: ''Example: emlibera_mesh_settingsvoltage_integral(30"FI_1",0,0,-10,0,0,10)''
DescriptionDESCRIPTION: Sets the parameters of Creates a voltage integral observable in [[EM.LiberaFerma]]. If the observable 'label's mesh generatoralready exists, its properties are modified.
====emferma_mesh_settings({{ArgTypeAny}} cell_size_x, {{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z)volume_current_group====
''ExampleSYNTAX: emferma_mesh_settingsvolume_current_group(0.5{{ArgTypeString}} label,0.5{{ArgTypeAny}} Jx,0.5{{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)''
DescriptionEXAMPLE: Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator.'volume_current_group("Magnet_1",0,0,1e6)''
====emterrano_mesh_settings({{ArgTypeAny}} edge_lengthDESCRIPTION: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, {{ArgTypeAny}} angle_tol)====the group is activated.
''Example: emterrano_mesh_settings(5,10)''====wave_port====
DescriptionSYNTAX: Sets the parameters of wave_port({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[[EM.Terrano], {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]'s facet mesh generator.)
====cubecad_mesh_settingsEXAMPLE: ''wave_port({{ArgTypeAny}} edge_length"WP_1", {{ArgTypeAny}} angle_tol"Rect_1",0,0)====''
DESCRIPTION: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the wave port 'label'Example: cubecad_mesh_settings(5already exists,10)''its properties are modified.
Description: Sets the parameters of CubeCAD's mesh generator.====waveguide_design====
====emtempo_engine_settingsSYNTAX: waveguide_design({{ArgTypeStringArgTypeReal}} engineer, {{ArgTypeAnyArgTypeReal}} power_threshhold, {{ArgTypeAny}} max_timestepsfreq_hertz)====
EXAMPLE: ''Example: emtempo_engine_settingswaveguide_design("single-precision",-501.0,200002e9)''
DescriptionDESCRIPTION: Sets Computes and returns the parameters minimum larger dimension (in meters) of [[EM.Tempo]]'s FDTD simulation enginethe cross section of a hollow rectangular waveguide above cutoff with a material filling of relative permittivity er at an operating frequency of freq_hertz.
====emterrano_engine_settings({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold)waveguide_src====
''ExampleSYNTAX: emterrano_engine_settingswaveguide_src(5{{ArgTypeString}} label,1{{ArgTypeAny}} box_object,1{{ArgTypeAny}} offset,-100{{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine.'waveguide_src("WG_1","Box_1",50,0)''
====empicasso_engine_settings({{ArgTypeString}} matrix_solverDESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)====its properties are modified.
''Example: empicasso_engine_settings("bicg",1e-3,1000)''====wire_current_group====
DescriptionSYNTAX: Sets the parameters of [[EM.Picasso]]'s planar MoM simulation engine.wire_current_group({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius)
====emillumina_engine_settingsEXAMPLE: ''wire_current_group({{ArgTypeString}} engine"Magnet_1", {{ArgTypeAny}} is_fixed_iteration1, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations0.5)====''
DESCRIPTION: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'label'Example: emillumina_engine_settings("ipo"already exists,0,1e-2,20)''the group is activated.
Description: Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine.====wire_gap_src====
====emferma_engine_settingsSYNTAX: wire_gap_src({{ArgTypeString}} matrix_solverlabel, {{ArgTypeAny}} error_tolline_object, {{ArgTypeAny}} max_iterationsoffset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====
EXAMPLE: ''Example: emferma_engine_settingswire_gap_src("bicg-stabWIG_1","Line_1",1e-350,1000)''
DescriptionDESCRIPTION: Sets the parameters of Creates a wire gap circuit source in [[EM.FermaLibera]]. If the wire gap source 'label's electrostatic and magnetostatic simulation enginesalready exists, its properties are modified.
====emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)zoom_extents====
''ExampleSYNTAX: emlibera_engine_settings_wmomzoom_extents("bicg",1e-3,1000)''
DescriptionDESCRIPTION: Sets Zooms to fit the parameters extents of [[EM.Libera]]'s wire MoM simulation enginesthe physical structure into the screen.
====emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha)====<br />
''Example: emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)''<hr>
Description: Sets the parameters of [[EMImage:Top_icon.Liberapng|30px]]'s surface MoM simulation engines.''[[#Standard_Python_Operators | Back to the Top of the Page]]'''
<p>&nbsp;</p>[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
28,333
edits