Changes

Glossary of EM.Cube's Python Functions

10,167 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="widthEXAMPLE:150px;''circ_strip(" | EMAG Python functioncs_1",0,0,0,50,0)'' 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. | style="width===circle==== SYNTAX:250px;circle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle) EXAMPLE: ''circle(" | Returns the characteristic impedance of pyramid_1",0,0,0,10,10,100)'' DESCRIPTION: Draws a microstrip transmission line circular curve object in Ohms the project workspace under the currently activated material group node, or modifies the circle named 'label' if it already exists. The parameters start_angle and end_angle are in degrees. | style="width===clone==== SYNTAX:250px;clone({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0) EXAMPLE: ''clone(" | wNewObj","MyObj",10,10,0)'' DESCRIPTION: microstrip widthCreates a copy of the specified object and repositions it at the given coordinates.  ====close_curve==== SYNTAX: close_curve({{ArgTypeString}} label, h{{ArgTypeString}} close_state) EXAMPLE: substrate height''close_curve("Curve_1", 1)'' DESCRIPTION: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve. ====coaxial_design==== SYNTAX: coaxial_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er) EXAMPLE: substrate ''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 permittivityer.|-| style="width===coaxial_src==== SYNTAX:100px;" | microstrip_eps_effcoaxial_src(w{{ArgTypeString}} label,h{{ArgTypeAny}} cylinder_object,er{{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])| style="widthEXAMPLE:150px;''coaxial_src(" | EMAG Python functionCOAX_1","Cyl_1",1.5,"+z")'' DESCRIPTION: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified. | style="width===color_group==== SYNTAX:250px;color_group({{ArgTypeString}} label) EXAMPLE: ''color_group(" | Returns the effective permittivity of Color_1")'' DESCRIPTION: Creates a microstrip transmission line color group in CubeCAD module. If the color group 'label' already exists, the group is activated. | style====conduction_current_integral==== SYNTAX: conduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''conduction_current_integral("widthFI_1",-10,-10,0,10,10,0)'' DESCRIPTION:250px;Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====conductive_sheet_group==== SYNTAX: conductive_sheet_group({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness) EXAMPLE: ''conductive_sheet_group(" | wCond_1",100, 0.01)'' DESCRIPTION: microstrip widthCreates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, hthe group is activated. ====cone==== SYNTAX: substrate cone({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_radius, {{ArgTypeAny}} height[, er{{ArgTypeAny}} top_radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: substrate permittivity''cone("Cone_1",0,0,0,30,40,20,0,180)'' DESCRIPTION: Draws a cone object in the project workspace under the currently activated material group node, or modifies the cone named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axis.|-| style="width===consolidate==== SYNTAX:100px;consolidate({{ArgTypeString}} object) EXAMPLE: ''consolidate(" | microstrip_lambda_gPoly_1")'' DESCRIPTION: Consolidates a specified object. ====cpw_design_s==== SYNTAX: cpw_design_s({{ArgTypeReal}} z0, {{ArgTypeReal}} w,{{ArgTypeReal}} h,{{ArgTypeReal}} er,freq_hertz)| style="widthEXAMPLE:150px;" | EMAG Python function''cpw_design_s(50,2,0.5,2.2)''| style="widthDESCRIPTION:250px;" | Returns Computes and returns the guide wavelength center strip width (in meters) of a microstrip CPW transmission line in meters| style="of characteristic impedance z0 with slot width:250px;" | w: microstrip width, h: substrate height, er: h and substrate relative permittivity, freq_hertz: frequency in Hzer.|-| style="width===cpw_design_w==== SYNTAX:100px;" | cpw_design_w({{ArgTypeReal}} z0,{{ArgTypeReal}} s,{{ArgTypeReal}} h,{{ArgTypeReal}} er)| style="widthEXAMPLE:150px;" | EMAG Python function''cpw_design_w(50,1,0.5,2.2)''| style="widthDESCRIPTION:250px;" | Returns Computes and returns the slot width (in meters) of a coplanar waveguide (CPW) transmission line of characteristic impedance z0 with center strip width s, substrate height h and substrate relative permittivity er. | style="width===cpw_src==== SYNTAX:250px;cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''cpw_src(" | z0CPW_1","Rect_1",1.5,"+x")'' DESCRIPTION: characteristic impedance Creates a CPW port source in Ohms[[EM.Tempo]]. If the CPW port 'label' already exists, sits properties are modified. ====cubecad_mesh_settings==== SYNTAX: center strip width cubecad_mesh_settings(or slot spacing){{ArgTypeAny}} edge_length, h{{ArgTypeAny}} angle_tol) EXAMPLE: substrate height''cubecad_mesh_settings(5, er10)'' DESCRIPTION: substrate permittivitySets the parameters of CubeCAD's mesh generator.|-| style====current_dist==== SYNTAX: current_dist({{ArgTypeString}} label) EXAMPLE: ''current_dist("widthCD_1")'' DESCRIPTION:100px;Creates a current distribution observable. If the observable 'label' already exists, its properties are modified. ====current_integral==== SYNTAX: current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''current_integral(" | cpw_design_sFI_1",-10,-10,0,10,10,0)'' DESCRIPTION: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====cylinder==== SYNTAX: cylinder({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0,w{{ArgTypeAny}} radius,h{{ArgTypeAny}} height[,er{{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])| style="widthEXAMPLE:150px;''cylinder(" | EMAG Python functionCylinder_1",0,0,0,10,100)'' DESCRIPTION: Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis. | style="width===delete==== SYNTAX:250px;delete({{ArgTypeString}} node_name) EXAMPLE: ''delete(" | Returns Box_1")'' DESCRIPTION: Deletes a node name from the center strip width (navigation tree. The node can be any geometric object, source, observable or slot spacingmaterial group.  ====delete_background_layer==== SYNTAX: delete_background_layer({{ArgTypeString}} label) of  EXAMPLE: ''delete_background_layer("Mid_Layer")'' DESCRIPTION: Deletes a coplanar waveguide finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup. ====dielectric_group==== SYNTAX: dielectric_group(CPW{{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho) transmission line  EXAMPLE: ''dielectric_group("Dielectric_1","my_eps",0,1,0)'' DESCRIPTION: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated. | style="width===diode==== SYNTAX:250px;diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor) EXAMPLE: ''diode(" | z0Diode_1","Line_1",25,0,10,300,1)'' DESCRIPTION: characteristic impedance Creates a diode in Ohms[[EM.Tempo]]. If the diode 'label' already exists, wits properties are modified. ====distributed_src==== SYNTAX: slot widthdistributed_src({{ArgTypeString}} label, h{{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: substrate height''distributed_src("DS_1", er"Rect_1","+y","uniform")'' DESCRIPTION: substrate permittivityCreates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.|-| style="width===ellipse_strip==== SYNTAX:100px;" | coaxial_designellipse_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0,er{{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])| style=EXAMPLE: ''ellipse_strip("widthes_1",0,0,0,50,0)'' DESCRIPTION:150px;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's azimuth axis. ====ellipsoid==== SYNTAX: ellipsoid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]) EXAMPLE: ''ellipsoid(" | EMAG Python functionEllipsoid_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. | style====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:250px;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(" | Returns ipo",0,1e-2,20)'' DESCRIPTION: Sets the ratio parameters of radius [[EM.Illumina]]'s Physical Optics simulation engine. ====emillumina_mesh_settings==== SYNTAX: emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''emillumina_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s mesh generator. ====emlibera_engine_settings_smom==== SYNTAX: emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha) EXAMPLE: ''emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)'' DESCRIPTION: Sets the outer conductor to parameters of [[EM.Libera]]'s surface MoM simulation engines. ====emlibera_engine_settings_wmom==== SYNTAX: emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''emlibera_engine_settings_wmom("bicg",1e-3,1000)'' DESCRIPTION: Sets the radius parameters of [[EM.Libera]]'s wire MoM simulation engines. ====emlibera_mesh_settings==== SYNTAX: emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''emlibera_mesh_settings(30)'' DESCRIPTION: Sets the inner condutcor parameters of a coaxial transmission line [[EM.Libera]]'s mesh generator. | style====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, er{{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs) EXAMPLE: core permittivity''emtempo_mesh_settings(30,0.1,0.1,0.02)''|DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator. ====emterrano_engine_settings==== SYNTAX: emterrano_engine_settings({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold) EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine. | style="width===emterrano_mesh_settings==== SYNTAX:100px;" | waveguide_designemterrano_mesh_settings(er{{ArgTypeAny}} edge_length,freq_hertz{{ArgTypeAny}} angle_tol)| styleEXAMPLE: ''emterrano_mesh_settings(5,10)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s facet mesh generator. ====energy_electric==== SYNTAX: energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_electric("widthFI_1",-10,-10,-10,10,10,10)'' DESCRIPTION:150px;Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====energy_magnetic==== SYNTAX: energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_magnetic(" | EMAG Python functionFI_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. | style====explode==== SYNTAX: explode({{ArgTypeString}} object) EXAMPLE: ''explode("widthMyArray")'' DESCRIPTION:250px;Explodes an object into its basic primitives. ====export_dxf==== SYNTAX: export_dxf({{ArgTypeString}} file_name) EXAMPLE: ''export_dxf(" | Returns MyDXFModel.DXF")'' DESCRIPTION: Exports the minimum larger dimension in meter physical structure of the cross section of project workspacean to a hollow rectangular waveguide above cutoff 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" | er. ====export_stl==== SYNTAX: filling permittivityexport_stl({{ArgTypeString}} file_name) EXAMPLE: ''export_stl("MySTLModel.STL")'' DESCRIPTION: Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified, freq_hertzthe current project folder is assumed as the path. ====extrude==== SYNTAX: frequency in Hzextrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends)|EXAMPLE: ''extrude("Extrude_1","Rect_Strip1",50)'' DESCRIPTION: Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object, the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the face's normal. | style="width===farfield==== SYNTAX:100px;" | horn_design_afarfield(D0_dB{{ArgTypeString}} label,a_lambda{{ArgTypeAny}} theta_incr,b_lambda{{ArgTypeAny}} phi_incr)| styleEXAMPLE: ''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: ''field_probe("widthFS_1",0,0,50)'' DESCRIPTION:150px;Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====field_sensor==== SYNTAX: field_sensor({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples) EXAMPLE: ''field_sensor(" | EMAG Python functionFS_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:250px;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(" | Returns Curve_1")'' DESCRIPTION: Fill the wavelength-normalized larger dimension interior of the aperture of an optimal pyramidal horn antenna specified closed curve object. | style="width===fillet==== fillet({{ArgTypeString}} object, {{ArgTypeAny}} radius) EXAMPLE:250px;''fillet("Rect_1" | D0_dB: directivity d, a_lambda5)'' DESCRIPTION: wavelength-normalized larger dimension Fillets the corners of the feed waveguidespecified surface or curve object by the specified radius. ====flux_electric==== SYNTAX: flux_electric({{ArgTypeString}} label, b_lambda{{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: wavelength''flux_electric("FI_1",-normalized smaller dimension of 10,-10,5,10,10,10)'' DESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the feed waveguide observable 'label' already exists, its properties are modified.|====flux_magnetic==== SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_magnetic("FI_1",0,0,-10,10,0,10)'' DESCRIPTION: Creates a 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:100px;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(" | horn_design_bMyObj",1)'' DESCRIPTION: Sets the freeze state of an object (D0_dB0/1).  ====gauss==== SYNTAX: gauss({{ArgTypeReal}} x,a_lambdaArgTypeReal}} mu,b_lambdaArgTypeReal}} sigma)| styleEXAMPLE: ''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). ="width===gauss_beam==== SYNTAX:150px;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(" | EMAG Python functionPW_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. | style====generate_input_files==== SYNTAX: generate_input_files() EXAMPLE: ''generate_input_files()'' DESCRIPTION: Generates all the input files for the simulation engine of the current module without running a simulation. ====geo==== SYNTAX: geo({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''geo(1,2)'' DESCRIPTION: Computes and returns the geometric mean of x and y: sqrt(x*y). ====get_area==== SYNTAX: get_area({{ArgTypeString}} object) EXAMPLE: ''get_area("widthellipse_1")'' DESCRIPTION:250px;Returns the area of a surface object or the total surface area of a solid object. ====get_axis==== SYNTAX: get_axis({{ArgTypeString}} object, {{ArgTypeString}} axis, {{ArgTypeString}} coordinate) EXAMPLE: ''get_axis(" | pyramid_1","x","y")'' DESCRIPTION: Returns the wavelength-normalized smaller dimension specified coordinate of the aperture unit vector along the specified local axis of an optimal pyramidal horn antenna object. | style="width===get_domain_extent==== SYNTAX:250px;get_domain_extent({{ArgTypeString}} coordinate) EXAMPLE: ''get_domain_extent(" | D0_dBx")'' DESCRIPTION: directivity dReturns the size of the computational domain along the specified direction. ====get_extent==== SYNTAX: get_extent({{ArgTypeString}} object, a_lambda{{ArgTypeString}} coordinate) EXAMPLE: wavelength-normalized larger dimension ''get_extent("pyramid_1","x")'' DESCRIPTION: Returns the size of the feed waveguidebounding box of an object along the specified direction. ====get_lcs==== SYNTAX: get_lcs({{ArgTypeString}} object, b_lambda{{ArgTypeString}} coordinate) EXAMPLE: wavelength-normalized smaller dimension ''get_lcs("pyramid_1","x")'' DESCRIPTION: Returns the specified coordinate of the feed waveguide LCS of an object.|-| style="width===get_lcs_offset==== SYNTAX:100px;" | horn_design_lget_lcs_offset(D0_dB{{ArgTypeString}} object,a_lambda{{ArgTypeAny}} x_off,b_lambda{{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinate)| style="widthEXAMPLE:150px;''get_lcs_offset(" | EMAG Python functionbox_1",50,50,0,"x")'' DESCRIPTION: Returns the specified coordinate of the LCS of an object after being translated by the specified offset values along the three principal axes. | style="width===get_length==== SYNTAX:250px;get_length({{ArgTypeString}} object) EXAMPLE: ''get_length(" | helix_1")'' DESCRIPTION: Returns the wavelength-normalized length of a curve object. ====get_rot==== SYNTAX: get_rot({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_rot("pyramid_1","x")'' DESCRIPTION: Returns the specified rotation angle of an optimal pyramidal horn antenna object. | style====get_standard_output==== SYNTAX: get_standard_output({{ArgTypeString}} output_name)  EXAMPLE: ''get_standard_output("widthS11M")'' DESCRIPTION:250px;Returns the computed value of the specified standard output parameter at the end of a simulation. ====get_vertex==== SYNTAX: get_vertex({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate) EXAMPLE: ''get_vertex(" | D0_dBpyramid_1",0,"x")'' DESCRIPTION: directivity dReturns 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, a_lambdawhile 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: wavelength-normalized larger dimension get_volume({{ArgTypeString}} object) EXAMPLE: ''get_volume("pyramid_1")'' DESCRIPTION: Returns the volume of a solid object. ====global_ground==== SYNTAX: global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''global_ground(1,3.3,0.001)'' DESCRIPTION: Set the feed waveguidestate 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, b_lambda{{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...) EXAMPLE: wavelength-normalized smaller dimension ''group("Composite_1","Box_1","Box_2","Box_3")'' DESCRIPTION: Groups a number of objects into a composite object with the feed waveguide 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====
== EM.Cube's Python Functions for Geometric Object Creation ==SYNTAX: helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)
====boxEXAMPLE: ''helix({{ArgTypeString}} label"Helix_1", {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00, {{ArgTypeAny}} base_x15, {{ArgTypeAny}} base_y15, {{ArgTypeAny}} height[10, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]0)====''
DESCRIPTION: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'label'Example: box(if it already exists. The parameter "Box_1radius_inner"specifies the helix's radius at the beginning of the helix,0and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1,0,0,50,50,100)''the helical curve will be drawn counter-clockwise.
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.====horn_design_a====
====cylinderSYNTAX: horn_design_a({{ArgTypeStringArgTypeReal}} labelD0_dB, {{ArgTypeAnyArgTypeReal}} x0a_lambda, {{ArgTypeAnyArgTypeReal}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]b_lambda)====
EXAMPLE: ''Example: cylinderhorn_design_a("Cylinder_1"15,0.4,0,0,10,100.3)''
DescriptionDESCRIPTION: Draws a cylinder object in Computes and returns the project workspace under wavelength-normalized larger dimension of the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle aperture of an optimal pyramidal horn antenna with directivity D0_dB and end_angle are in degrees wavelength-normalized feed waveguide dimensions a_lambda and specify a sweep about the cylinder's azimuth axisb_lambda.
====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])horn_design_b====
''ExampleSYNTAX: conehorn_design_b("Cone_1"{{ArgTypeReal}} D0_dB,0{{ArgTypeReal}} a_lambda,0,0,30,40,20,0,180{{ArgTypeReal}} b_lambda)''
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 existshorn_design_b(15,0. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axis4,0.3)''
====pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)====DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
''Example: pyramid("Pyramid_1",0,0,0,10,10,100)''====horn_design_l====
DescriptionSYNTAX: Draws a pyramid object in the project workspace under the currently activated material group nodehorn_design_l({{ArgTypeReal}} D0_dB, or modifies the pyramid named 'label' if it already exists.{{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
====sphereEXAMPLE: ''horn_design_l({{ArgTypeString}} label15, {{ArgTypeAny}} x00.4, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]0.3)====''
''ExampleDESCRIPTION: sphere("Sphere_1",0,0,0,10,0,180)''Computes and returns the wavelength-normalized length of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
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.====huygens_src====
====ellipsoidSYNTAX: huygens_src({{ArgTypeString}} label, {{ArgTypeAny}} x0filename[, {{ArgTypeAny}} y0set_lcs, {{ArgTypeAny}} z0polarization, {{ArgTypeAny}} radius_xx0, {{ArgTypeAny}} radius_yy0, {{ArgTypeAny}} radius_z[z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} start_angley_rot, {{ArgTypeAny}} end_anglez_rot])====
EXAMPLE: ''Example: ellipsoidhuygens_src("Ellipsoid_1HS_1",0"Huygens_1.HUY",0,01,100,100,500,0,3600,0)''
DescriptionDESCRIPTION: Draws an ellipsoid object in Creates a Huygens source. If the project workspace under the currently activated material group node, or modifies the ellipsoid named Huygens 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])huygens_surface====
''ExampleSYNTAX: torushuygens_surface("Torus_1"{{ArgTypeString}} label,0{{ArgTypeAny}} x1,0{{ArgTypeAny}} y1,0{{ArgTypeAny}} z1,50{{ArgTypeAny}} x2,20{{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)''
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 torushuygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)''s azimuth axis.
====rect_strip({{ArgTypeString}} DESCRIPTION: Creates a Huygens surface observable. If the observable 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)====its properties are modified.
''Example: rect_strip("my_rectangle",0,0,0,50,20)''====huygens_surface_grid====
DescriptionSYNTAX: Draws a rectangle Strip object in the project workspace under the currently activated material group node, or modifies the rectangle strip object named 'huygens_surface_grid({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====circ_stripEXAMPLE: ''huygens_surface_grid({{ArgTypeString}} label"HS_1", {{ArgTypeAny}} x0-10, {{ArgTypeAny}} y0-10, {{ArgTypeAny}} z0-10, {{ArgTypeAny}} inner_radius10, {{ArgTypeAny}} outer_radius[10, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]10)====''
DESCRIPTION: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label'Example: circ_strip("cs_1"already exists,0,0,0,50,0)''its properties are modified.
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.====hyperbola====
====radial_stripSYNTAX: hyperbola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radiusdiam_x, {{ArgTypeAny}} base_lengthdiam_y, {{ArgTypeAny}} angleaxial_length, {{ArgTypeAny}} half_only)====
EXAMPLE: ''Example: radial_striphyperbola("Radial_1Hyperbola _1",0,0,0,50,040,9020,0)''
DescriptionDESCRIPTION: Draws a radial strip hyperbola object in the project workspace under the currently activated material group node, or modifies the radial strip object hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn.
====ellipse_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])impedance_surface_group====
''ExampleSYNTAX: ellipse_stripimpedance_surface_group("es_1"{{ArgTypeString}} label,0{{ArgTypeAny}} z_real,0,0,50,0{{ArgTypeAny}} z_imag)''
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 stripimpedance_surface_group("IMP_1",100,-100)''s azimuth axis.
====triangle_strip({{ArgTypeString}} DESCRIPTION: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)====the group is activated.
''Example: triangle_strip("ts_1",0,0,0,50,100,90)''====impenetrable_surface_group====
DescriptionSYNTAX: Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'impenetrable_surface_group({{ArgTypeString}} label' if it already exists. , {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
====taper_stripEXAMPLE: ''impenetrable_surface_group({{ArgTypeString}} label"Impenet_1", {{ArgTypeAny}} x02.2, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo0.0001)====''
DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label'Example: taper_strip("ts_1"already exists,0,0,0,50,100,80,1)''the group is activated.
Description: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn. ====import_dxf====
====polygon_regSYNTAX: import_dxf({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sidesfile_name)====
EXAMPLE: ''Example: polygon_regimport_dxf("ts_1MyDXFModel.DXF",0,0,0,50,100,80,1)''
DescriptionDESCRIPTION: Draws a regular polygon object in Imports an external DXF model file to the project workspace under . If the currently activated material group nodefile path is not specified, or modifies the regular polygon object named 'label' if it already existscurrent project folder is assumed as the path.
====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)import_igs====
''ExampleSYNTAX: spiral_stripimport_igs("Spiral _1",0,0,0,10,50,5,0,0{{ArgTypeString}} file_name)''
DescriptionEXAMPLE: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label' if it already exists. If the Boolean parameter import_igs("spiral_dir" is 1, the spiral curve will be drawn counter-clockwiseMyIGSModel. If the Boolean parameter IGS"is_dual" is 1, a dual-arm spiral curve will be drawn. )''
====polystrip({{ArgTypeString}} labelDESCRIPTION: Imports an external IGES model file to the project workspace. If the file path is not specified, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ..the current project folder is assumed as the path. {{ArgType| 3x1 Python tuple}} pn)====
''Example: polystrip("ps_1",(0,0,0),(1,0,0),(1,0,0))''====import_py====
DescriptionSYNTAX: Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list.import_py({{ArgTypeString}} file_name)
====nurbs_stripEXAMPLE: ''import_py({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, "MyPYModel... {{ArgType| 3x1 Python tuple}} pnPY")====''
''ExampleDESCRIPTION: nurbs_strip(Imports a Python geometry file to the project workspace. The default path is the Python subfolder under "ns_1Documents &rarr; EMAG",(0,0,0),(1,0,0),(1,0,0))''.
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 is 'self-closing' -- there is no need to supply the first point again at the end of the point list.====import_stl====
====lineSYNTAX: import_stl({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir]file_name)====
EXAMPLE: ''Example: lineimport_stl("my_line",0,0,0,100,"xMySTLModel.STL")''
DescriptionDESCRIPTION: Draws a Line object in Imports an external STL model file to the project workspace under the currently activated material group node, or modifies the line named 'label' if it already exists. Without If the argument "dir"file path is not specified, a vertical line the current project folder is drawn by defaultassumed as the path.
====circle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle)import_stp====
''ExampleSYNTAX: circleimport_stp("pyramid_1",0,0,0,10,10,100{{ArgTypeString}} file_name)''
DescriptionEXAMPLE: 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 degreesimport_stp("MySTPModel.STP")''
====superquad({{ArgTypeString}} labelDESCRIPTION: Imports an external STEP model file to the project workspace. If the file path is not specified, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)====the current project folder is assumed as the path.
''Example: superquad("SuperQuad_1",0,0,0,50,20,4)''====inductance====
DescriptionSYNTAX: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'inductance({{ArgTypeString}} label' if it already exists. If order = 2, the curve reduces to an ellipse. Higher order make the round edges sharper. An infinite order reduces the curve to a rectangle. {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
====parabolaEXAMPLE: ''inductance({{ArgTypeString}} label"FI_1", {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z0-10, {{ArgTypeAny}} focal_length10, {{ArgTypeAny}} axial_length0, {{ArgTypeAny}} half_only10,2.5,-2.5,0,7.5,2.5,0)====''
DESCRIPTION: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label'Example: parabola("Parabola _1"already exists,0,0,0,50,20,0)''its properties are modified.
Description: Draws a parabola object in the project workspace under the currently activated material group node, or modifies the parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the parabola will be drawn. ====inductor====
====hyperbolaSYNTAX: inductor({{ArgTypeString}} label, {{ArgTypeAny}} x0line_object, {{ArgTypeAny}} y0offset, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_onlyinductance_nH)====
EXAMPLE: ''Example: hyperbolainductor("Hyperbola _1Cap_1",0,0,0,50,40"Line_1",2025,010)''
DescriptionDESCRIPTION: Draws Creates a hyperbola object inductor in [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the hyperbola named inductor 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawnits properties are modified.
====spiral_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)intersect====
''ExampleSYNTAX: spiral_curveintersect("Spiral _1"{{ArgTypeString}} label,0{{ArgTypeString}} object_1,0,0,10,50,5,0,0{{ArgTypeString}} object_2)''
DescriptionEXAMPLE: Draws a spiral curve object in 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 intersect("spiral_dirIntersection_Object" is 1, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dualRect_Strip1" is 1, a dual-arm spiral curve will be drawn. "Rect_Strip2")''
====helix({{ArgTypeString}} DESCRIPTION: Creates a Boolean object named 'label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)====' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.
''Example: helix("Helix_1",0,0,0,15,15,10,0)''====line====
DescriptionSYNTAX: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'line({{ArgTypeString}} 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{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, the helical curve will be drawn counter-clockwise. {{ArgTypeAny}} dir])
====polylineEXAMPLE: ''line({{ArgTypeString}} label"my_line", {{ArgType| 3x1 Python tuple}} p00, {{ArgType| 3x1 Python tuple}} p10, ... {{ArgType| 3x1 Python tuple}} pn0,100,"x")====''
DESCRIPTION: Draws a Line object in the project workspace under the currently activated material group node, or modifies the line named 'label'Example: polyline(if it already exists. Without the argument "pl_1dir",(0,0,0),(1,0,0),(1,0,0))''a vertical line is drawn by default.
Description: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.====loft====
====nurbs_curveSYNTAX: loft({{ArgTypeString}} label, {{ArgType| 3x1 Python tupleArgTypeString}} p0object, {{ArgType| 3x1 Python tupleArgTypeAny}} p1loft_height, ... {{ArgType| 3x1 Python tupleArgTypeAny}} pncap_base)====
EXAMPLE: ''Example: nurbs_curveloft("nc_1Loft_1",(0,0,0),(1,0,0),(1,0"Rect_Strip1",0)50)''
DescriptionDESCRIPTION: Creates or modifies a NURBS Curve loft object in the project workspace. Each point is represented with from a Python tuple type. The curve is closed if p0 is specified again as pnobject by the specified height. If modifying an existing loft object, otherwise, it the pre-existing primitive is openused. This command can only loft objects that have a single face and will loft along the face's normal.
====point({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)lumped_src====
''ExampleSYNTAX: pointlumped_src("Point_1"{{ArgTypeString}} label,0{{ArgTypeAny}} line_object,0{{ArgTypeAny}} offset,10{{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Draws a point in the project workspace under the currently activated material group node''lumped_src("LS_1","Line_1",50, or modifies the point named 0)'label' if it already exists.
====fractal_tree({{ArgTypeString}} DESCRIPTION: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, {{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)====its properties are modified.
''Example: fractal_tree("Fractal_1",0,0,0,"line",10,3,30,3,0,0,0)''====magnet_group====
DescriptionSYNTAX: Generates a fractal tree in the project workspace under the currently activated material group node, or modifies the fractal tree named 'magnet_group({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)
====param_curveEXAMPLE: ''magnet_group({{ArgTypeString}} label"Magnet_1", {{ArgTypeAny}} x01, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)]100)====''
DESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label'Example: param_curve("Curve_1"already exists,0,0,0,"parametric","xy",0,10,0the group is activated.1,"cos(t)","sin(t)","t")''
Description: Generates a parametric curve in the project workspace under the currently activated material group node, or modifies the parametric curve named 'label' if it already exists.====mcos====
====param_surfaceSYNTAX: mcos({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} functionr)====
EXAMPLE: ''Example: param_surfacemcos("Surf_1",0,0,0,"xy",0,10,0.15,0,10,0.1,"sin(x)*sin(y)"2)''
DescriptionDESCRIPTION: Generates a parametric surface in Computes and returns the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already existssuper-quadratic cosine function of order r.
====import_stl({{ArgTypeString}} file_name)mean====
''ExampleSYNTAX: import_stlmean("MySTLModel.STL"{{ArgTypeReal}} x, {{ArgTypeReal}} y)''
DescriptionEXAMPLE: Imports an external STL model file to the project workspace. If the file path is not specified''mean(1, the current project folder is assumed as the path.2)''
====import_dxfDESCRIPTION: Computes and returns the arithmetic mean of x and y: 0.5*({{ArgTypeString}} file_namex+y)====.
''Example: import_dxf("MyDXFModel.DXF")''====merge_curve====
DescriptionSYNTAX: Imports an external DXF model file to the project workspace. If the file path is not specifiedmerge_curve({{ArgTypeString}} object_1, the current project folder is assumed as the path.{{ArgTypeString}} object_2)
====import_stpEXAMPLE: ''merge_curve({{ArgTypeString}} file_name"Curve_1","Curve_2")====''
''ExampleDESCRIPTION: import_stp("MySTPModelMerges two specified curve objects into a single curve.STP")''
Description: Imports an external STEP model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path.====mesh====
====import_igsSYNTAX: mesh({{ArgTypeString}} file_name)====
''ExampleDESCRIPTION: import_igs("MyIGSModelGenerates and displays the mesh of the physical structure.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.====microstrip_design====
====import_pySYNTAX: microstrip_design({{ArgTypeStringArgTypeReal}} file_namez0, {{ArgTypeReal}} er)====
EXAMPLE: ''Example: import_pymicrostrip_design("MyPYModel50,2.PY"2)''
DescriptionDESCRIPTION: Imports Computes and returns the width-to-height ratio of a Python geometry file to the project workspace. The default path is the Python subfolder under "Documents &rarr; EMAG"microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.
====export_stl({{ArgTypeString}} file_name)microstrip_eps_eff====
''ExampleSYNTAX: export_stlmicrostrip_eps_eff("MySTLModel.STL"{{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)''
DescriptionEXAMPLE: Exports the physical structure of the project workspacean to an STL model file''microstrip_eps_eff(2,0. If the file path is not specified5, the current project folder is assumed as the path2.2)''
====export_dxf({{ArgTypeString}} file_name)====DESCRIPTION: Computes and returns the effective permittivity of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er.
''Example: export_dxf("MyDXFModel.DXF")''====microstrip_lambda_g====
DescriptionSYNTAX: Exports the physical structure of the project workspacean to a DXF model file. If the file path is not specifiedmicrostrip_lambda_g({{ArgTypeReal}} w, the current project folder is assumed as the path.{{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====export_pyEXAMPLE: ''microstrip_lambda_g({{ArgTypeString}} file_name2,0.5,2.2,2e9)====''
''ExampleDESCRIPTION: export_pyComputes and returns the guide wavelength ("MyPYModel.PY"in meters)''of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
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".====microstrip_src====
== EM.Cube's Python Functions for Geometric Object Transformation ==SYNTAX: microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====freezeEXAMPLE: ''microstrip_src({{ArgTypeString}} object"MS_1", {{ArgTypeReal}} freeze_state"Rect_1",1.5,"+x")====''
DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label'Example: freeze("MyObj"already exists,1)''its properties are modified.
Description: Sets the freeze state of an object (0/1). ====microstrip_z0====
====move_toSYNTAX: microstrip_z0({{ArgTypeStringArgTypeReal}} objectw, {{ArgTypeStringArgTypeReal}} group_node_label[h, {{ArgTypeStringArgTypeReal}} module_name]er)====
EXAMPLE: ''Example: move_tomicrostrip_z0("NewObj"2,"MyObj"0.5,10,10,02.2)''
DescriptionDESCRIPTION: Transfers an object from its current material/object group node in Computes and returns the navigation tree to another node or optionally to another [[EM.Cube]] modulecharacteristic impedance (in Ohms) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er.
====clone({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0)microstrip_zoc====
''ExampleSYNTAX: clonemicrostrip_zoc("NewObj"{{ArgTypeReal}} w,"MyObj"{{ArgTypeReal}} l,10{{ArgTypeReal}} h,10{{ArgTypeReal}} er,0{{ArgTypeReal}} freq_hertz)''
DescriptionEXAMPLE: Creates a copy of the specified object and repositions it at the given coordinates''microstrip_zoc(2,25,0. 5,2.2,2e9)''
====translate_byDESCRIPTION: Computes and returns the input reactance ({{ArgTypeString}} objectin Ohms) of an open-circuited microstrip transmission line with width w, {{ArgTypeReal}} x_distlength l, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist)====substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
''Example: translate_by("MyObj",10,10,x)''====microstrip_zsc====
DescriptionSYNTAX: Translates an object by the specified distances in each direction.microstrip_zsc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====translate_toEXAMPLE: ''microstrip_zsc({{ArgTypeString}} object2, {{ArgTypeReal}} x_dest25, {{ArgTypeReal}} y_dest0.5, {{ArgTypeReal}} z_dest2.2,2e9)====''
''ExampleDESCRIPTION: translate_toComputes and returns the input reactance ("MyObj"in Ohms) of a short-circuited microstrip transmission line with width w,20length l,20,x2)''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
Description: Translates an object to the specified destination.====mirror====
====rotateSYNTAX: mirror({{ArgTypeString}} object, {{ArgTypeAny}} rot_angle_degreex0, {{ArgTypeAny}} rot_axis_xy0, {{ArgTypeAny}} rot_axis_yz0, {{ArgTypeAny}} rot_axis_zuX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)====
EXAMPLE: ''Example: rotatemirror("pyramid_1",450,10,0,1,0,0)''
DescriptionDESCRIPTION: Rotates Mirrors an object about in a line passing through its LCS center and aligned along plane defined by the specified direction point coordinates and specified normal vector (rot_axis) by the specified anglecomponents.
====scale({{ArgTypeString}} object, {{ArgTypeAny}} scale_factor)move_to====
''ExampleSYNTAX: scalemove_to("pyramid_1"{{ArgTypeString}} object,2 {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name])''
DescriptionEXAMPLE: Scales an object by the specified scale factor.''move_to("NewObj","MyObj",10,10,0)''
====get_length({{ArgTypeString}} 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.
''Example: get_length("helix_1")''====msin====
DescriptionSYNTAX: Returns the length of a curve object.msin({{ArgTypeReal}} x, {{ArgTypeReal}} r)
====get_areaEXAMPLE: ''msin({{ArgTypeString}} object0.5,2)====''
''ExampleDESCRIPTION: get_area("ellipse_1")''Computes and returns the super-quadratic sine function of order r.
Description: Returns the area of a surface object or the total surface area of a solid object.====nurbs_curve====
====get_volumeSYNTAX: nurbs_curve({{ArgTypeString}} objectlabel, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)====
EXAMPLE: ''Example: get_volumenurbs_curve("pyramid_1nc_1",(0,0,0),(1,0,0),(1,0,0))''
DescriptionDESCRIPTION: Returns the volume of Creates or modifies a solid NURBS Curve objectin 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.
====get_lcs({{ArgTypeString}} object, {{ArgTypeString}} coordinate)nurbs_strip====
''ExampleSYNTAX: get_lcsnurbs_strip("pyramid_1"{{ArgTypeString}} label,"x"{{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)''
DescriptionEXAMPLE: Returns the specified coordinate of the LCS of an object.''nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0,0))''
====get_rot({{ArgTypeString}} DESCRIPTION: Creates or modifies a NURBS Strip object, {{ArgTypeString}} coordinate)====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.
''Example: get_rot("pyramid_1","x")''====ohmic_loss====
DescriptionSYNTAX: Returns the specified rotation angle of an object.ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====get_axisEXAMPLE: ''ohmic_loss({{ArgTypeString}} object"FI_1", {{ArgTypeString}} axis-10, {{ArgTypeString}} coordinate-10,-10,10,10,10)====''
DESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]. If the observable 'label'Example: get_axis("pyramid_1"already exists,"x","y")''its properties are modified.
Description: Returns the specified coordinate of the unit vector along the specified local axis of an object.====parabola====
====get_lcs_offsetSYNTAX: parabola({{ArgTypeString}} objectlabel, {{ArgTypeAny}} x_offx0, {{ArgTypeAny}} y_offy0, {{ArgTypeAny}} z_offz0, {{ArgTypeStringArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} coordinatehalf_only)====
EXAMPLE: ''Example: get_lcs_offsetparabola("box_1Parabola _1",500,500,0,"x"50,20,0)''
DescriptionDESCRIPTION: Returns Draws a parabola object in the specified coordinate of project workspace under the LCS of an object after being translated by currently activated material group node, or modifies the specified offset values along parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the three principal axesparabola will be drawn.
====get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate)param_curve====
''ExampleSYNTAX: get_extentparam_curve("pyramid_1"{{ArgTypeString}} label,"x"{{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: Returns the size of the bounding box of an object along the specified direction''param_curve("Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''
====get_vertex({{ArgTypeString}} objectDESCRIPTION: Generates a parametric curve in the project workspace under the currently activated material group node, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate)====or modifies the parametric curve named 'label' if it already exists.
''Example: get_vertex("pyramid_1",0,"x")''====param_surface====
DescriptionSYNTAX: 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 0param_surface({{ArgTypeString}} label, while the upper back right corner has an index of 7. The indices are numbered counterclockwise{{ArgTypeAny}} x0, with the bottom face first and top face next. {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function)
====set_rotEXAMPLE: ''param_surface({{ArgTypeString}} object"Surf_1", {{ArgTypeAny}} rot_x0, {{ArgTypeAny}} rot_y0, {{ArgTypeAny}} rot_z0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")====''
''ExampleDESCRIPTION: set_rot("pyramid_1",0,0Generates a parametric surface in the project workspace under the currently activated material group node,45)or modifies the parametric surface named 'label'if it already exists.
Description: Sets the three rotation angles of an object.====pec_group====
====set_lcs_linkSYNTAX: pec_group({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_offlabel)====
EXAMPLE: ''Example: set_lcs_linkpec_group("pyramid_1","box_1PEC_1",50,50,0)''
DescriptionDESCRIPTION: Links Creates a PEC material group in the LCS of current module. If the first object to PEC group 'label' already exists, the LCS of the second object by the specified offset values along the three axesgroup is activated.
====set_rot_link({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)pec_via_group====
''ExampleSYNTAX: set_rot_linkpec_via_group("pyramid_1"{{ArgTypeString}} label,"box_1",0,0,45{{ArgTypeAny}} host_layer)''
DescriptionEXAMPLE: 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.''pec_via_group("PEC_1",10)''
====mirror({{ArgTypeString}} objectDESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)====the group is activated.
''Example: mirror("pyramid_1",0,0,0,1,0,0)''====pec_voltage_group====
DescriptionSYNTAX: Mirrors an object in a plane defined by the specified point coordinates and specified normal vector components.pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)
====groupEXAMPLE: ''pec_voltage_group({{ArgTypeString}} label"PEC_1", {{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...10)====''
''ExampleDESCRIPTION: Creates a fixed-potential PEC object group in the current module. If the PEC group("Composite_1","Box_1","Box_2","Box_3")'label'already exists, the group is activated.
Description: Groups a number of objects into a composite object with the given label.====penetrable_surface_group====
====arraySYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacingeps, {{ArgTypeAny}} y_spacingsigma, {{ArgTypeAny}} z_spacingthickness)====
EXAMPLE: ''Example: arraypenetrable_surface_group("Array_1Penet_1","Rect_Strip_1"2.2,4,40.0001,1,50,50,0)''
DescriptionDESCRIPTION: Creates or modifies an array objecta penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activated.
====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)penetrable_volume_group====
''ExampleSYNTAX: array_custompenetrable_volume_group("Array_1"{{ArgTypeString}} label,"Rect_Strip_1"{{ArgTypeAny}} eps,4,4,1,50,50,0,100,100,20,0,0,45{{ArgTypeAny}} sigma)''
DescriptionEXAMPLE: Creates or modifies an array object and sets its local coordinate system and rotation angles''penetrable_volume_group("Vol_Penet_1",2.2,0.0001)''
====explode({{ArgTypeString}} object)====DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.
''Example: explode("MyArray")''====pipe_sweep====
DescriptionSYNTAX: Explodes an pipe_sweep({{ArgTypeString}} object into its basic primitives., {{ArgTypeAny}} radius)
====subtractEXAMPLE: ''pipe_sweep({{ArgTypeString}} label"Curve_1", {{ArgTypeString}} object_1, {{ArgTypeString}} object_25)====''
''ExampleDESCRIPTION: subtract("Subtract_Object","Rect_Strip1","Rect_Strip2")''Creates a pipe version of a given curve object.
Description: Creates a Boolean object named 'label' by subtracting object_2 from object_1. An error will be thrown if a Boolean object named 'label' already exists.====planewave====
====unionSYNTAX: planewave({{ArgTypeString}} label, {{ArgTypeStringArgTypeAny}} object_1theta, {{ArgTypeStringArgTypeAny}} phi, {{ArgTypeAny}} object_2polarization)====
''ExampleEXAMPLE: union''planewave("Union_ObjectPW_1","Rect_Strip1"180,0,"Rect_Strip2tm")''
DescriptionDESCRIPTION: Creates a Boolean object named 'label' by unioning object_1 and object_2plane wave source. An error will be thrown if a Boolean object named If the plane wave source 'label' already exists, its properties are modified.
====intersect({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)plot_file====
''ExampleSYNTAX: intersectplot_file("Intersection_Object","Rect_Strip1","Rect_Strip2"{{ArgTypeString}} filename)''
DescriptionEXAMPLE: Creates a Boolean object named 'label' by intersecting object_1 and object_2plot_file("D0. An error will be thrown if a Boolean object named DAT")'label' already exists.
====extrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends)====DESCRIPTION: Plots the contents of a specified data file in EM.Grid.
''Example:extrude("Extrude_1","Rect_Strip1",50)''====pmc_group====
DescriptionSYNTAX: 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.pmc_group({{ArgTypeString}} label)
====loftEXAMPLE: ''pmc_group({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} loft_height, {{ArgTypeAny}} cap_base"PMC_1")====''
DESCRIPTION: Creates a PMC material group in the current module. If the PMC group 'label'Example: loft("Loft_1"already exists,"Rect_Strip1",50)''the group is activated.
Description: Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object, the pre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face's normal.====point====
====revolveSYNTAX: point({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)====
EXAMPLE: ''Example: revolvepoint("Rev1","Line_1Point_1",0,0,0,0,0,1,36010)''
DescriptionDESCRIPTION: Creates or modifies Draws a revolution object from a specified object. If modifying an existing revolution object, point in the pre-existing primitive object is used. (x0,y0,z0) specifies project workspace under the center of revolutioncurrently activated material group node, and (uX,uY,uZ) specifies or modifies the revolution axis. The revolution angle "rot_angle" is given in degreespoint named 'label' if it already exists.
====consolidate({{ArgTypeString}} object)polygon_reg====
''ExampleSYNTAX: consolidatepolygon_reg("Poly_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides)''
DescriptionEXAMPLE: Consolidates a specified object.''polygon_reg("ts_1",0,0,0,50,100,80,1)''
====spline_fit({{ArgTypeString}} 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.
''Example: spline_fit("Poly_1")''====polygonize====
DescriptionSYNTAX: Applies spline fit transformation on a specified polymesh, polyline or polystrip polygonize({{ArgTypeString}} object., {{ArgTypeAny}} side_length)
====fill_curveEXAMPLE: ''polygonize({{ArgTypeString}} object"Cric_1",2)====''
''ExampleDESCRIPTION: fill_curve("Curve_1")''Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.
Description: Fill the interior of the specified closed curve object.====polyline====
====merge_curveSYNTAX: polyline({{ArgTypeString}} object_1label, {{ArgTypeStringArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} object_2pn)====
EXAMPLE: ''Example: merge_curvepolyline("Curve_1pl_1","Curve_2"(0,0,0),(1,0,0),(1,0,0))''
DescriptionDESCRIPTION: Merges two specified curve objects into Creates or modifies a single curvePolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.
====close_curve({{ArgTypeString}} label, {{ArgTypeString}} close_state)polymesh====
''ExampleSYNTAX: close_curvepolymesh("Curve_1"{{ArgTypeString}} label,1{{ArgTypeString}} object, {{ArgTypeAny}} edge_length)''
DescriptionEXAMPLE: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve.''polymesh("Poly_1","Cric_1",2)''
====polygonize({{ArgTypeString}} DESCRIPTION: Discretizes the specified solid or surface object, {{ArgTypeAny}} side_length)====by the specified edge length. The results is a polymesh object.
''Example: polygonize("Cric_1",2)''====polystrip====
DescriptionSYNTAX: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ...{{ArgType| 3x1 Python tuple}} pn)
====polymeshEXAMPLE: ''polystrip({{ArgTypeString}} label"ps_1", {{ArgTypeString}} object(0, {{ArgTypeAny}} edge_length0,0),(1,0,0),(1,0,0))====''
''ExampleDESCRIPTION: polymesh("Poly_1","Cric_1",2)Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing'-- there is no need to supply the first point again at the end of the point list.
Description: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.====port_definition_custom====
====filletSYNTAX: port_definition_custom({{ArgTypeString}} objectlabel, ({{ArgTypeAnyArgTypeString}} radiusport_1_src_1, {{ArgTypeString}} port_1_src_2, ..., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...)====
EXAMPLE: ''Example: filletport_definition_custom("Rect_1PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",550))''
DescriptionDESCRIPTION: Fillets Creates a custom port definition observable. If the corners of the specified surface or curve object by the specified radiusobservable 'label' already exists, its properties are modified.
====slice({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)port_definition_default====
''ExampleSYNTAX: filletport_definition_default("Rect_1",5{{ArgTypeString}} label)''
DescriptionEXAMPLE: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.''port_definition_default("PD_1")''
====roughen({{ArgTypeString}} DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)====its properties are modified.
''Example: roughen("Rect_1",1,5)''====probe_gap_src====
DescriptionSYNTAX: Roughens the surface of the specified object based on the specified RMS height and correlation length.probe_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====random_groupEXAMPLE: ''probe_gap_src({{ArgTypeString}} label"Probe_1", {{ArgTypeString}} key_object"Via_1", {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count0)====''
DESCRIPTION: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label'Example: random_group("Rand_1"already exists,"Rect_1","Box_1",100)''its properties are modified.
Description: Creates a random group using the specified key object and confines them in the specified container object.====pyramid====
====strip_sweepSYNTAX: pyramid({{ArgTypeString}} objectlabel, {{ArgTypeAny}} widthx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)====
EXAMPLE: ''Example: strip_sweeppyramid("Curve_1Pyramid_1",50,0,0,10,10,100)''
DescriptionDESCRIPTION: Creates Draws a strip version of a given curve pyramid objectin the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.
====pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius)radial_strip====
''ExampleSYNTAX: pipe_sweepradial_strip("Curve_1"{{ArgTypeString}} label,5{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)''
DescriptionEXAMPLE: Creates a pipe version of a given curve object.''radial_strip("Radial_1",0,0,0,50,0,90)''
====rail_sweep({{ArgTypeString}} rail_objectDESCRIPTION: Draws a radial strip object in the project workspace under the currently activated material group node, {{ArgTypeString}} sweep_object)====or modifies the radial strip object named 'label' if it already exists.
''Example: ====rail_sweep("Curve_1","Curve_2")''====
DescriptionSYNTAX: Rail-sweeps the specified sweep object along the specified curve object.rail_sweep({{ArgTypeString}} rail_object, {{ArgTypeString}} sweep_object)
== EM.CubeEXAMPLE: ''rail_sweep("Curve_1","Curve_2")''s Python Functions for Material or Object Group Creation ==
====activate({{ArgTypeString}} group_node_label)====DESCRIPTION: Rail-sweeps the specified sweep object along the specified curve object.
''Example: activate("Color_1")''====ramp====
DescriptionSYNTAX: Activates a color, material or object group in the current active [[EM.Cube]] module. ramp({{ArgTypeReal}} x)
====color_groupEXAMPLE: ''ramp({{ArgTypeString}} label0.5)====''
''ExampleDESCRIPTION: color_group("Color_1")''Computes and returns the ramp function: x if x>0, 0 if x<0.
Description: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated.====rand====
====pec_groupSYNTAX: rand({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeReal}} y)====
EXAMPLE: ''Example: pec_grouprand("PEC_1"0,1)''
DescriptionDESCRIPTION: Creates Computes and returns a PEC material group in the current module. If the PEC group 'label' already exists, the group is activatedrandom number between x and y using an uniform distribution.
====pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)random_group====
''ExampleSYNTAX: pec_voltage_grouprandom_group("PEC_1"{{ArgTypeString}} label,10{{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)''
DescriptionEXAMPLE: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label' already existsrandom_group("Rand_1", the group is activated."Rect_1","Box_1",100)''
====pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer)====DESCRIPTION: Creates a random group using the specified key object and confines them in the specified container object.
''Example: pec_via_group("PEC_1",10)''====rcs_bistatic====
DescriptionSYNTAX: Creates an embedded PEC via set group in the current module. If the PEC via group 'rcs_bistatic({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
====thinwire_groupEXAMPLE: ''rcs_bistatic({{ArgTypeString}} label"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: thinwire_group("Thinwire_1"already exists,4)''its properties are modified.
Description: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, the group is activated.====rcs_monostatic====
====pmc_groupSYNTAX: rcs_monostatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])====
EXAMPLE: ''Example: pmc_grouprcs_monostatic("PMC_1RCS_1",1,1)''
DescriptionDESCRIPTION: Creates a PMC material group in the current modulemonostatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the PMC group observable 'label' already exists, the group is activatedits properties are modified.
====slot_group({{ArgTypeString}} label)receiver_set====
''ExampleSYNTAX: slot_groupreceiver_set("PMC_1"{{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a slot trace group in the current module. If the slot trace group 'label' already existsreceiver_set("TX_1", the group is activated"PT_1","DPL_STD.RAD",0,90,0)''
====dielectric_group({{ArgTypeString}} DESCRIPTION: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho)====its properties are modified.
''Example: dielectric_group("Dielectric_1","my_eps",0,1,0)''====rect====
DescriptionSYNTAX: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated.rect({{ArgTypeReal}} x)
====impenetrable_surface_groupEXAMPLE: ''rect({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma0.1)====''
''ExampleDESCRIPTION: impenetrable_surface_group("Impenet_1",2Computes and returns the rectangular window function: 1 if x<0.25,0elsewhere.0001)''
Description: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated.====rect_gap_src====
====penetrable_surface_groupSYNTAX: rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} epsrect_object, {{ArgTypeAny}} sigmaoffset, {{ArgTypeAny}} thicknesspolarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====
EXAMPLE: ''Example: penetrable_surface_grouprect_gap_src("Penet_1GAP_1",2.2"Rect_1",0.0001, 10)''
DescriptionDESCRIPTION: Creates a penetrable surface group strip gap circuit source in [[EM.TerranoPicasso]] or [[EM.Libera]]. If the penetrable surface group strip gap source 'label' already exists, the group is activatedits properties are modified.
====penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)rect_strip====
''ExampleSYNTAX: penetrable_volume_grouprect_strip("Vol_Penet_1"{{ArgTypeString}} label,2.2{{ArgTypeAny}} x0,0.0001{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)''
DescriptionEXAMPLE: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already existsrect_strip("my_rectangle", the group is activated.0,0,0,50,20)''
====terrain_group({{ArgTypeString}} DESCRIPTION: Draws a rectangle Strip object in the project workspace under the currently activated material group node, or modifies the rectangle strip object named 'label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)====' if it already exists.
''Example: terrain_group("Terrain_1",5.0,0.0001)''====rename====
DescriptionSYNTAX: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already existsrename({{ArgTypeString}} new_label, the group is activated.{{ArgTypeString}} old_label)
====base_point_groupEXAMPLE: ''rename({{ArgTypeString}} label"Box_2","Box_1")====''
''ExampleDESCRIPTION: base_point_set("BP_Set_1")''Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.
Description: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already exists, the group is activated.====resistance====
====virtual_groupSYNTAX: 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)====
EXAMPLE: ''Example: virtual_groupresistance("VIR_1FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)''
DescriptionDESCRIPTION: Creates a virtual object group resistance integral observable in [[EM.TerranoFerma]]. If the virtual group observable 'label' already exists, the group is activatedits properties are modified.
====impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag)resistor====
''ExampleSYNTAX: impedance_surface_groupresistor("IMP_1"{{ArgTypeString}} label,100{{ArgTypeAny}} line_object,-100{{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)''
DescriptionEXAMPLE: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already existsresistor("Res_1", the group is activated."Line_1",25,50)''
====conductive_sheet_group({{ArgTypeString}} DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already exists, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)====its properties are modified.
''Example: conductive_sheet_group("Cond_1",100, 0.01)''====revolve====
DescriptionSYNTAX: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'revolve({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)
====charge_groupEXAMPLE: ''revolve({{ArgTypeString}} label"Rev1", {{ArgTypeAny}} density"Line_1",0,0,0,0,0,1,360)====''
''ExampleDESCRIPTION: charge_group("Charge_1"Creates or modifies a revolution object from a specified object. If modifying an existing revolution object,the pre-1e-5existing primitive object is used. (x0,y0,z0)''specifies the center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.
Description: Creates a volume charge source group in [[EM.Ferma]]. If the charge group 'label' already exists, the group is activated.====rosen====
====magnet_groupSYNTAX: rosen({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} muy, {{ArgTypeAnyArgTypeReal}} Mxa, {{ArgTypeAnyArgTypeReal}} My, {{ArgTypeAny}} Mzb)====
EXAMPLE: ''Example: magnet_grouprosen("Magnet_1",10.5,0,01,1002)''
DescriptionDESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If Computes and returns the magnet group 'label' already exists, the group is activatedRosenbrock function: (a-x)**2 + b*(y-x**2)**2.
====volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)rotate====
''ExampleSYNTAX: volume_current_grouprotate("Magnet_1"{{ArgTypeString}} object,0{{ArgTypeAny}} rot_angle_degree,0{{ArgTypeAny}} rot_axis_x,1e6{{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)''
DescriptionEXAMPLE: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already existsrotate("pyramid_1", the group is activated.45,1,1,0)''
====wire_current_groupDESCRIPTION: Rotates an object about a line passing through its LCS center and aligned along the specified direction vector ({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radiusrot_axis)====by the specified angle.
''Example: wire_current_group("Magnet_1",1,0.5)''====roughen====
DescriptionSYNTAX: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'roughen({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)
== EM.CubeEXAMPLE: ''roughen("Rect_1",1,5)''s Python Functions for Source & Lumped Device Definition ==
====lumped_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====DESCRIPTION: Roughens the surface of the specified object based on the specified RMS height and correlation length.
''Example: lumped_src("LS_1","Line_1",50,0)''====run_analysis====
DescriptionSYNTAX: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.run_analysis()
====distributed_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profileDESCRIPTION: Runs a simulation in the current active [, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance[EM.Cube]])====computational module.
''Example: distributed_src("DS_1","Rect_1","+y","uniform")''====save_data====
DescriptionSYNTAX: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.save_data({{ArgTypeString}} directory_name)
====microstrip_srcEXAMPLE: ''save_data({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]"Simulation_Data")====''
''ExampleDESCRIPTION: microstrip_src("MS_1","Rect_1",1Saves [[EM.5,"+x")'Cube]]'s output simulation data files under the specified directory.
Description: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modified.====sawtooth====
====cpw_srcSYNTAX: sawtooth({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]x)====
EXAMPLE: ''Example: cpw_srcsawtooth("CPW_1","Rect_1",10.5,"+x")''
DescriptionDESCRIPTION: Creates a CPW port source in [[EM.Tempo]]. If Computes and returns the CPW port 'label' already existsascending periodic sawtooth function of period T = 2, its properties are modifiedoscillating between two values +1 and -1 and having a zero value of at x = 0.
====coaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])scale====
''ExampleSYNTAX: coaxial_srcscale("COAX_1"{{ArgTypeString}} object,"Cyl_1",1.5,"+z"{{ArgTypeAny}} scale_factor)''
DescriptionEXAMPLE: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already existsscale("pyramid_1", its properties are modified.2)''
====waveguide_src({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====DESCRIPTION: Scales an object by the specified scale factor.
''Example: waveguide_src("WG_1","Box_1",50,0)''====select_module====
DescriptionSYNTAX: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, its properties are modified.select_module({{ArgTypeString}} module_name)
====wire_gap_srcEXAMPLE: ''select_module({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity"[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance[EM.Tempo]]")====''
''ExampleDESCRIPTION: wire_gap_src("WIG_1","Line_1",50,0)'Selects and sets [[EM.Cube]]'s active module.
Description: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, its properties are modified.====set_bandwidth====
====rect_gap_srcSYNTAX: set_bandwidth({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]value)====
EXAMPLE: ''Example: rect_gap_srcset_bandwidth("GAP_1","Rect_1",0,01e9)''
DescriptionDESCRIPTION: Creates a strip gap circuit source in Sets [[EM.PicassoCube]] or [[EM.Libera]]. If the strip gap source 'label' already exists, its properties are modifieds frequency bandwidth.
====probe_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])set_boundary_conditions====
''ExampleSYNTAX: probe_gap_srcset_boundary_conditions("Probe_1"{{ArgTypeString}} xn_type,"Via_1"{{ArgTypeString}} xp_type,0{{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)''
DescriptionEXAMPLE: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already existsset_domain_offset_lambda("pml", its properties are modified."pml","pml","pml","pec","pml")''
====wave_port({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} DESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offseton the &plusmn;X, {{ArgTypeAny}} is_negative[&plusmn;Y and &plusmn;Z boundary walls. The options are "pec", {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])===="pmc" and "pml".
''Example: wave_port("WP_1","Rect_1",0,0)''====set_domain_offset====
DescriptionSYNTAX: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the wave port 'label' already existsset_domain_offset({{ArgTypeAny}} dxn_offset, its properties are modified.{{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
====short_dipoleEXAMPLE: ''set_domain_offset({{ArgTypeString}} label20, {{ArgTypeAny}} x020, {{ArgTypeAny}} y020, {{ArgTypeAny}} z020, {{ArgTypeAny}} length0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase10)====''
''ExampleDESCRIPTION: wave_port("SD_1"Sets the domain offset values along the &plusmn;X,0,0,50,3,0,0,1,1,0)''&plusmn;Y and &plusmn;Z directions in project units.
Description: Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, its properties are modified.====set_domain_offset_lambda====
====planewaveSYNTAX: set_domain_offset_lambda({{ArgTypeStringArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} labeldyn_offset, {{ArgTypeAny}} thetadyp_offset, {{ArgTypeAny}} phidzn_offset, {{ArgTypeAny}} polarizationdzp_offset)====
EXAMPLE: ''Example: planewaveset_domain_offset_lambda("PW_1"0.1,1800.1,0.1,"tm"0.1,0,0.25)''
DescriptionDESCRIPTION: Creates a plane wave source. If Sets the plane wave source 'label' already existsdomain offset values along the &plusmn;X, its properties are modified&plusmn;Y and &plusmn;Z directions in free-space wavelengths.
====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)set_frequency====
''ExampleSYNTAX: gauss_beamset_frequency("PW_1",180,0,"tm",0,0,0,20,0,0{{ArgTypeAny}} value)''
DescriptionEXAMPLE: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modifiedset_frequency(2.4e9)''
====huygens_src({{ArgTypeString}} label, {{ArgTypeAny}} filenameDESCRIPTION: Sets [, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot[EM.Cube]])===='s center frequency.
''Example: huygens_src("HS_1","Huygens_1.HUY",1,100,100,0,0,0,0)''====set_lcs_link====
DescriptionSYNTAX: Creates a Huygens source. If the Huygens source 'label' already existsset_lcs_link({{ArgTypeString}} object, its properties are modified.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)
====transmitter_setEXAMPLE: ''set_lcs_link({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} base_point_set["box_1", {{ArgTypeAny}} pattern_file50, {{ArgTypeAny}} rot_x50, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z0)====''
''ExampleDESCRIPTION: transmitter_set("TX_1","PT_1","DPL_STDLinks the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.RAD",0,90,0)''
Description: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, its properties are modified.====set_periodic====
====resistorSYNTAX: set_periodic({{ArgTypeString}} label, {{ArgTypeAny}} line_objectis_periodic, {{ArgTypeAny}} offsetspacingX, {{ArgTypeAny}} resistancespacingY)====
EXAMPLE: ''Example: resistorset_periodic("Res_1","Line_1"1,2550,50)''
DescriptionDESCRIPTION: Creates a resistor in [[EM.Tempo]]. If Designates the resistor 'label' already exists, its properties are modifiedphysical structure as periodic and sets the periods along the X and Y directions.
====capacitor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} capacitance_pF)set_rot====
''ExampleSYNTAX: capacitorset_rot("Cap_1"{{ArgTypeString}} object,"Line_1"{{ArgTypeAny}} rot_x,25{{ArgTypeAny}} rot_y,10{{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'label' already existsset_rot("pyramid_1", its properties are modified.0,0,45)''
====inductor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH)====DESCRIPTION: Sets the three rotation angles of an object.
''Example: inductor("Cap_1","Line_1",25,10)''====set_rot_link====
DescriptionSYNTAX: Creates a inductor in [[EM.Tempo]]. If the inductor 'label' already existsset_rot_link({{ArgTypeString}} object, its properties are modified.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)
====diodeEXAMPLE: ''set_rot_link({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} line_object"box_1", {{ArgTypeAny}} polarity0, {{ArgTypeAny}} is_fA0, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor45)====''
''ExampleDESCRIPTION: diode("Diode_1","Line_1",25,0,10,300,1)''Links the rotation angles of the LCS of the first object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.
Description: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modified.====set_stackup_order====
== EMSYNTAX: set_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, .Cube's Python Functions for Observable Definition ==.., {{ArgTypeString}} label_n, "BHS")
====port_definition_defaultEXAMPLE: ''background_layer({{ArgTypeString}} label"THS","Top_Layer","Mid_Layer","Bottom_Layer","BHS")====''
DESCRIPTION: Sets the hierarchy of [[EM.Picasso]]''Example: port_definition_default(s background layer stackup from top to bottom. The sequence should always start with "PD_1THS")''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.
Description: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.====set_units====
====port_definition_customSYNTAX: set_units({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, ..., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...units)====
EXAMPLE: ''Example: port_definition_customset_units("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4meter",50))''
DescriptionDESCRIPTION: Creates a custom port definition observableSets [[EM. If the observable Cube]]'label' already exists, its properties are modifieds project length units.
====farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)sgn====
''ExampleSYNTAX: farfieldsgn("FF_1",1,1{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a far''sgn(-field radiation pattern observable1. If the observable 0)'label' already exists, its properties are modified.
====rcs_bistatic({{ArgTypeString}} labelDESCRIPTION: Computes and returns the signum function: 1 if x>0, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)====-1 if x<0.
''Example: rcs_bistatic("RCS_1",1,1)''====short_dipole====
DescriptionSYNTAX: Creates a bistatic RCS observable. If the observable '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)
====current_distEXAMPLE: ''short_dipole({{ArgTypeString}} label"SD_1",0,0,50,3,0,0,1,1,0)====''
''ExampleDESCRIPTION: current_dist("CD_1")Creates a Hertzian short dipole source. If the short dipole source 'label'already exists, its properties are modified.
Description: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified.====sigmoid====
====field_sensorSYNTAX: sigmoidnc({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamplesa)====
EXAMPLE: ''Example: field_sensorsigmoid("FS_1","z",0.5,0,0,100,100,0,25,25,01)''
DescriptionDESCRIPTION: Creates Computes and returns the sigmoid function of slope a near: 2/(1 + exp(-field sensor observable. If the observable 'label' already exists, its properties are modifieda*x)) - 1.
====field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)sinc====
''ExampleSYNTAX: field_sensor_gridsinc("FS_1","z",0,0,0{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a near-field sensor observable in [[EM''sinc(0.Tempo]] or [[EM.Ferma]]. If the observable 5)'label' already exists, its properties are modified.
====field_probeDESCRIPTION: Computes and returns the sinc function: sin({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0pi*x)====/(pi*x).
''Example: field_probe("FS_1",0,0,50)''====slice====
DescriptionSYNTAX: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already existsslice({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)
====receiver_setEXAMPLE: ''slice({{ArgTypeString}} label"Rect_1", {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z5)====''
''ExampleDESCRIPTION: receiver_set("TX_1","PT_1","DPL_STDSlices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.RAD",0,90,0)''
Description: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, its properties are modified.====slot_group====
====huygens_surfaceSYNTAX: slot_group({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)====
EXAMPLE: ''Example: huygens_surfaceslot_group("HS_1PMC_1",-10,-10,-10,10,10,10,40,40,40)''
DescriptionDESCRIPTION: Creates a Huygens surface observableslot trace group in the current module. If the observable slot trace group 'label' already exists, its properties are modifiedthe group is activated.
====huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)solution_plane====
''ExampleSYNTAX: huygens_surface_gridsolution_plane("HS_1"{{ArgTypeString}} label,-10{{ArgTypeAny}} field_sensor_label,-10,-10,10,10,10{{ArgTypeAny}} is_quasi)''
DescriptionEXAMPLE: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already existssolution_plane("FI_1", its properties are modified."FS_1",1)''
====voltage_integral({{ArgTypeString}} DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====its properties are modified.
''Example: voltage_integral("FI_1",0,0,-10,0,0,10)''====sphere====
DescriptionSYNTAX: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'sphere({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
====current_integralEXAMPLE: ''sphere({{ArgTypeString}} label"Sphere_1", {{ArgTypeAny}} x10, {{ArgTypeAny}} y10, {{ArgTypeAny}} z10, {{ArgTypeAny}} x210, {{ArgTypeAny}} y20, {{ArgTypeAny}} z2180)====''
''ExampleDESCRIPTION: current_integral("FI_1"Draws a sphere object in the project workspace under the currently activated Material Group node,-10,-10,0,10,10,0)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.
Description: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====spiral_curve====
====conduction_current_integralSYNTAX: spiral_curve({{ArgTypeString}} label, {{ArgTypeAny}} x1x0, {{ArgTypeAny}} y1y0, {{ArgTypeAny}} z1z0, {{ArgTypeAny}} x2radius_inner, {{ArgTypeAny}} y2radius_outer, {{ArgTypeAny}} z2nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)====
EXAMPLE: ''Example: conduction_current_integralspiral_curve("FI_1Spiral _1",-100,-100,0,10,1050,5,0,0)''
DescriptionDESCRIPTION: Creates Draws a conduction current integral observable spiral curve object in [[EM.Ferma]]. If the observable 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, 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.
====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)spiral_strip====
''ExampleSYNTAX: capacitancespiral_strip("FI_1"{{ArgTypeString}} label,-10{{ArgTypeAny}} x0,-10{{ArgTypeAny}} y0,5{{ArgTypeAny}} z0,10{{ArgTypeAny}} width,10{{ArgTypeAny}} radius_inner,10{{ArgTypeAny}} radius_outer,0{{ArgTypeAny}} nturns,0{{ArgTypeAny}} spiral_dir,-10,0,0,10{{ArgTypeAny}} is_dual)''
DescriptionEXAMPLE: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already existsspiral_strip("Spiral _1", its properties are modified.0,0,0,10,50,5,0,0)''
====inductance({{ArgTypeString}} DESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, {{ArgTypeAny}} z4)====a dual-arm spiral curve will be drawn.
''Example: inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''====spline_fit====
DescriptionSYNTAX: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.spline_fit({{ArgTypeString}} object)
====resistanceEXAMPLE: ''spline_fit({{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"Poly_1")====''
''ExampleDESCRIPTION: resistance("FI_1"Applies spline fit transformation on a specified polymesh,0,0,-10,0,0,10,-10,-10,0,10,10,0)''polyline or polystrip object.
Description: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====spline2====
====flux_electricSYNTAX: spline2({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2x)====
EXAMPLE: ''Example: flux_electricspline2("FI_1",-10,-10,5,10,10,101.0)''
DescriptionDESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already exists, its properties are modifiedquadratic B-spline function.
====flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)spline3====
''ExampleSYNTAX: flux_magneticspline3("FI_1",0,0,-10,10,0,10{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modifiedspline3(1.0)''
====energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Computes and returns the cubic B-spline function.
''Example: energy_electric("FI_1",-10,-10,-10,10,10,10)''====sqr_wave====
DescriptionSYNTAX: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.sqr_wave({{ArgTypeReal}} x)
====energy_magneticEXAMPLE: ''sqr_wave({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z20.5)====''
''ExampleDESCRIPTION: energy_magnetic("FI_1"Computes and returns the periodic square wave function of period T = 2,oscillating between two values +1 and -10,-10,-10,10,10,10)''1 and having a value of +1 at x = 0.
Description: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====sqr2====
====ohmic_lossSYNTAX: sqr2({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2y)====
EXAMPLE: ''Example: ohmic_losssqr2("FI_1",-10,-10,-10,10,100,101)''
DescriptionDESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already exists, its properties are modifiedsum of squares of x and y: x**2 + y**2.
====solution_plane({{ArgTypeString}} label, {{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)sqr3====
''ExampleSYNTAX: solution_planesqr2("FI_1"{{ArgTypeReal}} x,"FS_1"{{ArgTypeReal}} y,1{{ArgTypeReal}} z)''
DescriptionEXAMPLE: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already existssqr2(0, its properties are modified.1,2)''
== EMDESCRIPTION: Computes and returns the sum of squares of x, y and z: x**2 + y**2 + z**2.Cube's Python Functions for Simulation-Related Functions & Operations ==
====select_module({{ArgTypeString}} module_name)sqrt2====
''ExampleSYNTAX: select_modulesqrt2("[[EM.Tempo]]"{{ArgTypeReal}} x, {{ArgTypeReal}} y)''
DescriptionEXAMPLE: Selects and sets [[EM.Cube]]'s active module.'sqrt2(0,1)''
====set_unitsDESCRIPTION: Computes and returns the radius of the 2D point ({{ArgTypeString}} unitsx,y)====: sqrt(x**2 + y**2).
''Example: set_units("meter")''====sqrt3====
DescriptionSYNTAX: Sets [[EM.Cube]]'s project length units.sqrt3({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
====set_frequencyEXAMPLE: ''sqrt3({{ArgTypeAny}} value0,1,2)====''
''ExampleDESCRIPTION: set_frequencyComputes and returns the radius of the 3D point (x,y,z): sqrt(x**2 + y**2 + z**2.4e9)''.
Description: Sets [[EM.Cube]]'s center frequency.====step====
====set_bandwidthSYNTAX: step({{ArgTypeAnyArgTypeReal}} valuex)====
EXAMPLE: ''Example: set_bandwidthstep(1e91.0)''
DescriptionDESCRIPTION: Sets [[EM.Cube]]'s frequency bandwidthComputes and returns the unit step function: 1 if x>0, 0 if x<0.
====background_layer({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness)strip_sweep====
''ExampleSYNTAX: background_layerstrip_sweep("Mid_Layer"{{ArgTypeString}} object,3.3,0.001,1,1.5{{ArgTypeAny}} width)''
DescriptionEXAMPLE: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.'strip_sweep("Curve_1",5)''
====delete_background_layer({{ArgTypeString}} label)====DESCRIPTION: Creates a strip version of a given curve object.
''Example: delete_background_layer("Mid_Layer")''====subtract====
DescriptionSYNTAX: Deletes a finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup.subtract({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
====set_stackup_orderEXAMPLE: ''subtract("THSSubtract_Object", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, ..., {{ArgTypeString}} label_n"Rect_Strip1", "BHSRect_Strip2")====''
DESCRIPTION: Creates a Boolean object named 'label'Example: background_layer("THS","Top_Layer","Mid_Layer","Bottom_Layer","BHS")by subtracting object_2 from object_1. An error will be thrown if a Boolean object named 'label'already exists.
Description: Sets the hierarchy of [[EM.Picasso]]'s background layer stackup from top to bottom. The sequence should always start with "THS" standing for the top half-space and must end in "BHS" standing for the bottom half-space. All the intermediate finite-thickness substrate layers must be included and listed in the right order. ====superquad====
====global_groundSYNTAX: superquad({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} ground_ondiam_x, {{ArgTypeAny}} epsdiam_y, {{ArgTypeAny}} sigmaorder)====
EXAMPLE: ''Example: global_groundsuperquad(1"SuperQuad_1",3.30,0.001,0,50,20,4)''
DescriptionDESCRIPTION: Set Draws a super-quadratic curve object in the state of [[EM.Terrano]]'s global ground and its project workspace under the currently activated material propertiesgroup node, or modifies the super-quadratic curve named 'label' if it already exists. A zero value for ground_on means to no global ground assumed at Z If order = 02, the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
====delete({{ArgTypeString}} node_name)taper_strip====
''ExampleSYNTAX: deletetaper_strip("Box_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)''
DescriptionEXAMPLE: Deletes a node name from the navigation tree. The node can be any geometric object''taper_strip("ts_1", source0, observable or material group. 0,0,50,100,80,1)''
====rename({{ArgTypeString}} new_labelDESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, {{ArgTypeString}} old_label)====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.
''Example: rename("Box_2","Box_1")''====terrain_group====
DescriptionSYNTAX: Deletes a node name from the navigation tree. The node can be any geometric objectterrain_group({{ArgTypeString}} label, source{{ArgTypeAny}} eps, observable or material group. {{ArgTypeAny}} sigma)
====zoom_extentsEXAMPLE: ''terrain_group("Terrain_1",5.0,0.0001)====''
DescriptionDESCRIPTION: Zooms to fit Creates an terrain surface group in [[EM.Terrano]]. If the extents of terrain surface group 'label' already exists, the physical structure into the screengroup is activated.
====get_domain_extent({{ArgTypeString}} coordinate)thinwire_group====
''ExampleSYNTAX: get_domain_extentthinwire_group("x"{{ArgTypeString}} label, {{ArgTypeAny}} radius)''
DescriptionEXAMPLE: Returns the size of the computational domain along the specified direction.''thinwire_group("Thinwire_1",4)''
====set_domain_offset({{ArgTypeAny}} dxn_offsetDESCRIPTION: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)====the group is activated.
''Example: set_domain_offset(20,20,20,20,0,10)''====torus====
DescriptionSYNTAX: Sets the domain offset values along the &plusmn;Xtorus({{ArgTypeString}} label, &plusmn;Y and &plusmn;Z directions in project units.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
====set_domain_offset_lambdaEXAMPLE: ''torus({{ArgTypeAny}} dxn_offset"Torus_1", {{ArgTypeAny}} dxp_offset0, {{ArgTypeAny}} dyn_offset0, {{ArgTypeAny}} dyp_offset0, {{ArgTypeAny}} dzn_offset50, {{ArgTypeAny}} dzp_offset20)====''
DESCRIPTION: Draws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label'Example: set_domain_offset_lambda(0if it already exists.1,0The arguments start_angle and end_angle are in degrees and specify a sweep about the torus's azimuth axis.1,0.1,0.1,0,0.25)''
Description: Sets the domain offset values along the &plusmn;X, &plusmn;Y and &plusmn;Z directions in free-space wavelengths.====translate_by====
====set_boundary_conditionsSYNTAX: translate_by({{ArgTypeString}} xn_typeobject, {{ArgTypeStringArgTypeReal}} xp_typex_dist, {{ArgTypeStringArgTypeReal}} yn_typey_dist, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeStringArgTypeReal}} zp_typez_dist)====
EXAMPLE: ''Example: set_domain_offset_lambdatranslate_by("pmlMyObj","pml"10,"pml"10,"pml","pec","pml"x)''
DescriptionDESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on Translates an object by the &plusmn;X, &plusmn;Y and &plusmn;Z boundary walls. The options are "pec", "pmc" and "pml"specified distances in each direction.
====add_variable({{ArgTypeString}} var_name, {{ArgTypeAny}} value)translate_to====
''ExampleSYNTAX: add_variabletranslate_to("MyVar"{{ArgTypeString}} object,1 {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)''
DescriptionEXAMPLE: Adds a new variable to [[EM.Cube]]'s variable list.'translate_to("MyObj",20,20,x2)''
====run_analysis()====DESCRIPTION: Translates an object to the specified destination.
Description: Runs a simulation in the current active [[EM.Cube]] computational module.====transmitter_set====
====set_periodicSYNTAX: transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} is_periodicrot_x, {{ArgTypeAny}} spacingXrot_y, {{ArgTypeAny}} spacingYrot_z) ====
EXAMPLE: ''Example: set_periodictransmitter_set(1"TX_1","PT_1","DPL_STD.RAD",0,5090,500)''
DescriptionDESCRIPTION: Designates Creates a transmitter set in [[EM.Terrano]]. If the physical structure as periodic and sets the periods along the X and Y directionstransmitter set 'label' already exists, its properties are modified.
====get_standard_output({{ArgTypeString}} output_name) tri====
''ExampleSYNTAX: get_standard_outputtri("S11M"{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Returns the computed value of the specified standard output parameter at the end of a simulation''tri(0.1)''
====save_data({{ArgTypeString}} directory_name) ====DESCRIPTION: Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.
''Example: save_data("Simulation_Data")''====tri_wave====
DescriptionSYNTAX: Saves [[EM.Cube]]'s output simulation data files under the specified directory.tri_wave({{ArgTypeReal}} x)
====plot_fileEXAMPLE: ''tri_wave({{ArgTypeString}} filename0.5) ====''
''ExampleDESCRIPTION: plot_file("D0Computes 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 = 0.DAT")''
Description: Plots the contents of a specified data file in EM.Grid.====triangle_strip====
====meshSYNTAX: triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)====
DescriptionEXAMPLE: Generates and displays the mesh of the physical structure.''triangle_strip("ts_1",0,0,0,50,100,90)''
====emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambdaDESCRIPTION: Draws a triangle strip object in the project workspace under the currently activated material group node, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs)====or modifies the triangle strip object named 'label' if it already exists.
''Example: emtempo_mesh_settings(30,0.1,0.1,0.02)''====union====
DescriptionSYNTAX: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator.union({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
====emillumina_mesh_settingsEXAMPLE: ''union({{ArgTypeAny}} cells_per_lambda"Union_Object","Rect_Strip1","Rect_Strip2")====''
DESCRIPTION: Creates a Boolean object named 'label'Example: emillumina_mesh_settings(30)by unioning object_1 and object_2. An error will be thrown if a Boolean object named 'label'already exists.
Description: Sets the parameters of [[EM.Illumina]]'s mesh generator.====virtual_group====
====empicasso_mesh_settingsSYNTAX: virtual_group({{ArgTypeAnyArgTypeString}} cells_per_lambdalabel)====
EXAMPLE: ''Example: empicasso_mesh_settingsvirtual_group(30"VIR_1")''
DescriptionDESCRIPTION: Sets the parameters of Creates a virtual object group in [[EM.PicassoTerrano]]. If the virtual group 's planar hybrid mesh generatorlabel' already exists, the group is activated.
====emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda)voltage_integral====
''ExampleSYNTAX: emlibera_mesh_settingsvoltage_integral(30{{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)''
DescriptionEXAMPLE: Sets the parameters of [[EM.Libera]]'s mesh generator.'voltage_integral("FI_1",0,0,-10,0,0,10)''
====emferma_mesh_settings({{ArgTypeAny}} cell_size_xDESCRIPTION: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z)====its properties are modified.
''Example: emferma_mesh_settings(0.5,0.5,0.5)''====volume_current_group====
DescriptionSYNTAX: Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator.volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)
====emterrano_mesh_settingsEXAMPLE: ''volume_current_group({{ArgTypeAny}} edge_length"Magnet_1", {{ArgTypeAny}} angle_tol0,0,1e6)====''
DESCRIPTION: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label'Example: emterrano_mesh_settings(5already exists,10)''the group is activated.
Description: Sets the parameters of [[EM.Terrano]]'s facet mesh generator.====wave_port====
====cubecad_mesh_settingsSYNTAX: wave_port({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} edge_lengthphase, {{ArgTypeAny}} angle_tolresistance])====
EXAMPLE: ''Example: cubecad_mesh_settingswave_port(5"WP_1","Rect_1",0,100)''
DescriptionDESCRIPTION: Sets Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the parameters of CubeCADwave port 's mesh generatorlabel' already exists, its properties are modified.
====emtempo_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps)waveguide_design====
''ExampleSYNTAX: emtempo_engine_settingswaveguide_design("single-precision"{{ArgTypeReal}} er,-50,20000{{ArgTypeReal}} freq_hertz)''
DescriptionEXAMPLE: Sets the parameters of [[EM.Tempo]]'s FDTD simulation engine'waveguide_design(1.0,2e9)''
====emterrano_engine_settingsDESCRIPTION: Computes and returns the minimum larger dimension ({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshholdin meters)====of the cross section of a hollow rectangular waveguide above cutoff with a material filling of relative permittivity er at an operating frequency of freq_hertz.
''Example: emterrano_engine_settings(5,1,1,-100)''====waveguide_src====
DescriptionSYNTAX: Sets the parameters of waveguide_src({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[[EM.Terrano], {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]'s SBR simulation engine.)
====empicasso_engine_settingsEXAMPLE: ''waveguide_src({{ArgTypeString}} matrix_solver"WG_1", {{ArgTypeAny}} error_tol"Box_1", {{ArgTypeAny}} max_iterations50,0)====''
DESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label'Example: empicasso_engine_settings("bicg"already exists,1e-3,1000)''its properties are modified.
Description: Sets the parameters of [[EM.Picasso]]'s planar MoM simulation engine.====wire_current_group====
====emillumina_engine_settingsSYNTAX: wire_current_group({{ArgTypeString}} enginelabel, {{ArgTypeAny}} is_fixed_iterationcurrent, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterationswire_radius)====
EXAMPLE: ''Example: emillumina_engine_settingswire_current_group("ipoMagnet_1",1,0,1e-2,20.5)''
DescriptionDESCRIPTION: Sets the parameters of Creates a wire current source group in [[EM.IlluminaFerma]]. If the wire current group 's Physical Optics simulation enginelabel' already exists, the group is activated.
====emferma_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)wire_gap_src====
''ExampleSYNTAX: emferma_engine_settingswire_gap_src("bicg-stab"{{ArgTypeString}} label,1e-3{{ArgTypeAny}} line_object,100{{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Sets the parameters of [[EM.Ferma]]'s electrostatic and magnetostatic simulation engines.'wire_gap_src("WIG_1","Line_1",50,0)''
====emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solverDESCRIPTION: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)====its properties are modified.
''Example: emlibera_engine_settings_wmom("bicg",1e-3,1000)''====zoom_extents====
DescriptionSYNTAX: Sets the parameters of [[EM.Libera]]'s wire MoM simulation engines.zoom_extents()
====emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha)====DESCRIPTION: Zooms to fit the extents of the physical structure into the screen.
''Example: emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)''<br />
Description: Sets the parameters of [[EM.Libera]]'s surface MoM simulation engines.<hr>
<p>&nbsp;</p>[[Image:Top_icon.png|48px30px]] '''[[#Standard Python Functions Standard_Python_Operators | Back to the Top of the Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
28,333
edits