<table><tr><td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td><tr></table>[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''<br />Â == Standard Python Operators ==Â {| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description|-| style="width:80px;" | -p| style="width:150px;" | Std. Python operator| style="width:270px;" | negative of p|-| style="width:80px;" | p=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is equal to q|-| style="width:80px;" | p+q| style="width:150px;" | Std. Python operator| style="width:270px;" | sum of p and q|-| style="width:80px;" | p-q| style="width:150px;" | Std. Python operator| style="width:270px;" | difference p and q|-| style="width:80px;" | p*q| style="width:150px;" | Std. Python operator| style="width:270px;" | product of p and q|-| style="width:80px;" | p/q| style="width:150px;" | Std. Python operator| style="width:270px;" | quotient of p over q|-| style="width:80px;" | p**q| style="width:150px;" | Std. Python operator| style="width:270px;" | p to the power of q|-| style="width:80px;" | p%q| style="width:150px;" | Std. Python operator| style="width:270px;" | p modulus q|-| style="width:80px;" | p==q| style="width:150px;" | Std. Python operator| style="width:270px;" | p logically equal to q|-| style="width:80px;" | p>q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is greater than q|-| style="width:80px;" | p>=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is greater than or equal to q|-| style="width:80px;" | p<q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is less than q|-| style="width:80px;" | p<=q| style="width:150px;" | Std. Python operator| style="width:270px;" | p is less than or equal to q|-| style="width:80px;" | !p| style="width:150px;" | Std. Python operator| style="width:270px;" | Logical not p|-| style="width:80px;" | p and q| style="width:150px;" | Std. Python operator| style="width:270px;" | p Boolean and q|-| style="width:80px;" | p or q| style="width:150px;" | Std. Python operator| style="width:270px;" | p Boolean or q|-|}Â == Basic Mathematical Python Functions ==
{| class="wikitable"
| style="width:270px;" | Absolute value function
| style="width:270px;" | x if x>0, -x if x<0
|-
| ceiling(x)
| Std. Python function
| Ceiling function
| Nearest integer >= x
|-
| floor(x)
| Std. Python function
| Floor function
| Nearest integer <= x
|-
| pow(x,y)
| Std. Python function
| Factorial
| For for integer values of x: n! = n(n-1)(n-2)...3.2.1
|-
| max(x,y)
| -
|-
| asinhnp.arcsinh(x)
| Std. Python function
| Inverse hyperbolic sine function
| -
|-
| acoshnp.arccosh(x)
| Std. Python function
| Inverse hyperbolic cosine function
| -
|-
| atanhnp.arctanh(x)
| Std. Python function
| Inverse hyperbolic tangent function
| -
|-
| np.floor(x)
| Std. Python function
| Floor function
| nearest integer <= x
|}
| style="width:150px;" | Std. Python function
| style="width:270px;" | Sine and cosine integral functions
| style="width:270px;" | See see [https://en.wikipedia.org/wiki/Trigonometric_integral Trigonometric Integrals on Wikipedia.]
|-
| sp.fresnel(x)
| Std. Python function
| Sine and cosine Fresnel integral functions
| See see [https://en.wikipedia.org/wiki/Fresnel_integral Fresnel Integrals on Wikipedia.]
|-
| sp.ellipe(x)
| Std. Python function
| Elliptic function of the first kind
| See see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
|-
| sp.ellipk(x)
| Std. Python function
| Elliptic function of the second kind
| See see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
|-
| sp.expi(x)
| Std. Python function
| Exponential integral function
| See see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
|-
| sp.expn(n,x)
| Std. Python function
| Generalized exponential integral function of order n
| See see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
|-
| sp.erf(x)
| Std. Python function
| Error function
| See see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
|-
| sp.erfc(x)
| Std. Python function
| Complementary error function
| See see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
|-
| sp.gamma(x)
| Std. Python function
| Gamma function
| See see [https://en.wikipedia.org/wiki/Gamma_function Gamma Function on Wikipedia.]
|-
| sp.airy(x)
| Std. Python function
| Airy function of the first (Ai) and second (Bi) kind and their derivatives
| See see [https://en.wikipedia.org/wiki/Airy_function Airy Functions on Wikipedia.]
|-
| sp.j0(x)
| Std. Python function
| Bessel function of the first kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.j1(x)
| Std. Python function
| Bessel function of the first kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.jv(n,x)
| Std. Python function
| Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.y0(x)
| Std. Python function
| Bessel function of the second kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.y1(x)
| Std. Python function
| Bessel function of the second kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.yv(n,x)
| Std. Python function
| Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.i0(x)
| Std. Python function
| Modified Bessel function of the first kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.i1(x)
| Std. Python function
| Modified Bessel function of the first kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.iv(n,x)
| Std. Python function
| Modified Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.k0(x)
| Std. Python function
| Modified Bessel function of the second kind and order 0
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.k1(x)
| Std. Python function
| Modified Bessel function of the second kind and order 1
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.kv(n,x)
| Std. Python function
| Modified Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_jn(n,x)
| Std. Python function
| Spherical Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_yn(n,x)
| Std. Python function
| Spherical Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_in(n,x)
| Std. Python function
| Modified spherical Bessel function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.sph_kn(n,x)
| Std. Python function
| Modified spherical Bessel function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
|-
| sp.lpn(n,x)
| Std. Python function
| Legendre function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
|-
| sp.lqn(n,x)
| Std. Python function
| Legendre function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.lpmn(m,n,x)
| Std. Python function
| Associated Legendre function of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
|-
| sp.lqmn(m,n,x)
| Std. Python function
| Associated Legendre function of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.eval_chebyt(n,x)
| Std. Python function
| Chebyshev polynomial of the first kind and order n
| See see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
|-
| sp.eval_chebyu(n,x)
| Std. Python function
| Chebyshev polynomial of the second kind and order n
| See see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
|-
| sp.eval_legendre(n,x)
| Std. Python function
| Legendre polynomial of order n
| See see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
|-
| sp.eval_laguerre(n,x)
| Std. Python function
| Laguerre polynomial of order n
| See see [https://en.wikipedia.org/wiki/Laguerre_polynomials Laguerre Polynomials on Wikipedia.]
|-
| sp.eval_hermite(n,x)
| Std. Python function
| Hermite polynomial of order n
| See see [https://en.wikipedia.org/wiki/Hermite_polynomials Hermite Polynomials on Wikipedia.]
|-
| Math_cesp.mathieu_cem(n,rq,x)
| Std. Python function
| Even periodic (cosine) Mathieu function of order nand its derivative| See see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
|-
| Math_sesp.mathieu_sem(n,rq,x)
| Std. Python function
| Odd periodic (sine) Mathieu function of order nand its derivative| See see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
|}
== EM.Cube's Miscellaneous Native Python Functions ==
{| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description!scopeactivate="col"| Notes|-| style="width:80px;" | rect(x)| style="width:150px;" | EMAG Python function| style="width:270px;" | Rectangle function| style="width:270px;" | 1 if |x|≤0.5, 0 elsewhere |-| tri(x)| EMAG Python function| Triangle function| 1 if |1-x|≤1, 0 elsewhere |-| spline2(x)| EMAG Python function| Quadratic spline function| -|-| spline3(x)| EMAG Python function| Cubic spline function| -|-| step(x)| EMAG Python function| Step function| 1 if x>0, 0 if x<0|-| sgn(x)| Std. Python function| Sign function| 1 if x>0, -1 if x<0|-| ramp(x)| EMAG Python function| Ramp function| 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")''!scope="col"| Syntax!scope="col"| TypeDESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube]] module for insertion of new objects. !scope="col"| Description!scope="col"| Notes===add_variable====|-| style="widthSYNTAX:100px;" | microstrip_designadd_variable(z0{{ArgTypeString}} var_name,er{{ArgTypeAny}} value)| style="widthEXAMPLE:150px;''add_variable(" | EMAG Python function| style=MyVar"width,1)'' DESCRIPTION:250px;" | Returns the width-Adds a new variable to-height ratio of a microstrip transmission line [[EM.Cube]]'s variable list. | style="width:250px;" | z0: characteristic impedance in Ohms, er: substrate permittivity===array====|-| style="widthSYNTAX:100px;" | microstrip_z0array(w{{ArgTypeString}} label,h{{ArgTypeString}} object,er{{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing)| style="width:150px;" | EMAG Python function| style="widthEXAMPLE:250px;''array(" | Returns the characteristic impedance of a microstrip transmission line in Ohms | style=Array_1"width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="width:100px;Rect_Strip_1" | microstrip_eps_eff(w,h4,4,er1,50,50,0)''| style="width:150px;" | EMAG Python function| style="widthDESCRIPTION:250px;" | Returns the effective permittivity of a microstrip transmission line Creates or modifies an array object.| style====array_custom===="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="widthSYNTAX:100px;" | microstrip_lambda_garray_custom(w{{ArgTypeString}} label,h{{ArgTypeString}} object,er{{ArgTypeAny}} x_count,freq_hertz{{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)| style="widthEXAMPLE:150px;''array_custom(" | EMAG Python function| style=Array_1"width:250px;," | Returns the guide wavelength of a microstrip transmission line in meters| style=Rect_Strip_1"width:250px;" | w: microstrip width, h: substrate height4, er: substrate permittivity4, freq_hertz: frequency in Hz|-| style="width:100px;" | cpw_design_w(z01,s50,50,0,h100,er100,20,0,0,45)''| style="widthDESCRIPTION:150px;" | EMAG Python functionCreates or modifies an array object and sets its local coordinate system and rotation angles. | style="width:250px;" | Returns the slot width of a coplanar waveguide (CPW) transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, s: center strip width (or slot spacing), h: substrate height, er: substrate permittivity==background_layer====|-| style="widthSYNTAX:100px;" | cpw_design_sbackground_layer(z0{{ArgTypeString}} label,w{{ArgTypeAny}} eps,h{{ArgTypeAny}} sigma,er{{ArgTypeAny}} mu, {{ArgTypeAny}} thickness)| style="width:150px;" | EMAG Python function| style="widthEXAMPLE:250px;" | Returns the center strip width ''background_layer(or slot spacing) of a coplanar waveguide (CPW) transmission line | style="width:250px;Mid_Layer" | z0: characteristic impedance in Ohms, w: slot width3.3, h: substrate height0.001, er: substrate permittivity|-| style="width:100px;" | coaxial_design(z01,er1.5)''| style="width:150px;" | EMAG Python function| style="widthDESCRIPTION:250px;" | Returns the ratio of radius of the outer conductor Adds a new substrate layer to the radius of the inner condutcor of a coaxial transmission line [[EM.Picasso]]'s background layer stackup.| style====base_point_group===="width:250px;" | z0: characteristic impedance in Ohms, er: core permittivity|-| style="widthSYNTAX:100px;" | waveguide_designbase_point_group(er,freq_hertz{{ArgTypeString}} label)| style="widthEXAMPLE:150px;''base_point_set(" | EMAG Python functionBP_Set_1")''| style="widthDESCRIPTION:250px;" | Returns the minimum larger dimension Creates a base point set in meter of [[EM.Terrano]]. If the cross section of a hollow rectangular waveguide above cutoff | style="width:250px;" | er: filling permittivitybase point set group 'label' already exists, freq_hertz: frequency in Hzthe group is activated.|-| style="width:100px;" | horn_design_a(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna =bh_step====| style="widthSYNTAX:250px;" | D0_dB: directivity dbh_step({{ArgTypeReal}} x, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide {{ArgTypeReal}} T)|-| style="widthEXAMPLE:100px;" | horn_design_b''bh_step(D0_dB,a_lambda0.5,b_lambda1)''| style="width:150px;" | EMAG Python function| style="widthDESCRIPTION:250px;" | Returns Computes and returns the wavelengthBlackman-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna Harris step function.| style====bh_window===="width:250px;" | D0_dB: directivity d, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide |-| style="widthSYNTAX:100px;" | horn_design_lbh_window(D0_dB{{ArgTypeReal}} x,a_lambda,b_lambda{{ArgTypeReal}} T)| style="width:150px;" | EMAG Python function| style="widthEXAMPLE:250px;" | Returns the wavelength-normalized length of an optimal pyramidal horn antenna | style="width:250px;" | D0_dB: directivity d''bh_window(0.5, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide |}1)''
== EMDESCRIPTION: Computes and returns the Blackman-Harris window function.Cube's Python Functions for Geometric Object Creation ==
====box====
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.
====cylindercapacitance====
SYNTAX: cylindercapacitance({{ArgTypeString}} label, {{ArgTypeAny}} x0x1, {{ArgTypeAny}} y0y1, {{ArgTypeAny}} z0z1, {{ArgTypeAny}} radiusx2, {{ArgTypeAny}} height[y2, {{ArgTypeAny}} start_anglez2, {{ArgTypeAny}} end_anglex3, {{ArgTypeAny}} cap_topy3, {{ArgTypeAny}} cap_bottom]z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
EXAMPLE: ''cylindercapacitance("Cylinder_1FI_1",0-10,-10,5,10,10,10,0,0,-10,1000,0,10)''
DESCRIPTION: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====capacitor==== SYNTAX: capacitor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} capacitance_pF) EXAMPLE: ''capacitor("Cap_1","Line_1",25,10)'' DESCRIPTION: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'label' already exists, its properties are modified. ====charge_group==== SYNTAX: charge_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. ====circ_strip==== SYNTAX: circ_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]) EXAMPLE: ''circ_strip("cs_1",0,0,0,50,0)'' DESCRIPTION: Draws a cylinder circle strip object in the project workspace under the currently activated material group node, or modifies the cylinder 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 cylindercircle strip's azimuth axis. ====circle==== SYNTAX: circle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle) EXAMPLE: ''circle("pyramid_1",0,0,0,10,10,100)'' DESCRIPTION: Draws a circular curve object in 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. ====clone==== SYNTAX: clone({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0) EXAMPLE: ''clone("NewObj","MyObj",10,10,0)'' DESCRIPTION: Creates a copy of the specified object and repositions it at the given coordinates.  ====close_curve==== SYNTAX: close_curve({{ArgTypeString}} label, {{ArgTypeString}} close_state) EXAMPLE: ''close_curve("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: ''coaxial_design(50,2.2)'' DESCRIPTION: Computes and returns the ratio of the radius of the outer conductor to the radius of the inner conductor of a coaxial transmission line of characteristic impedance z0 (in Ohms) with core relative permittivity er. ====coaxial_src==== SYNTAX: coaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''coaxial_src("COAX_1","Cyl_1",1.5,"+z")'' DESCRIPTION: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified. ====color_group==== SYNTAX: color_group({{ArgTypeString}} label) EXAMPLE: ''color_group("Color_1")'' DESCRIPTION: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated. ====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("FI_1",-10,-10,0,10,10,0)'' DESCRIPTION: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====conductive_sheet_group==== SYNTAX: conductive_sheet_group({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness) EXAMPLE: ''conductive_sheet_group("Cond_1",100, 0.01)'' DESCRIPTION: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated.
====cone====
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.
====pyramidconsolidate====
SYNTAX: pyramidconsolidate({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} heightobject)
EXAMPLE: ''pyramidconsolidate("Pyramid_1Poly_1",0,0,0,10,10,100)''
DESCRIPTION: Draws Consolidates a pyramid specified object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.
====spherecpw_design_s====
SYNTAX: spherecpw_design_s({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeReal}} z0, {{ArgTypeAnyArgTypeReal}} radius[w, {{ArgTypeAnyArgTypeReal}} start_angleh, {{ArgTypeAnyArgTypeReal}} end_angle]er)
EXAMPLE: ''spherecpw_design_s("Sphere_1"50,0,0,0,102,0.5,1802.2)''
DESCRIPTION: Draws Computes and returns the center strip width (in meters) of a sphere object in the project workspace under the currently activated Material Group nodeCPW transmission line of characteristic impedance z0 with slot width w, or modifies the sphere named 'label' if it already exists. The arguments start_angle substrate height h and end_angle are in degrees and specify a sweep about the sphere's azimuth axissubstrate relative permittivity er.
====ellipsoidcpw_design_w====
SYNTAX: ellipsoidcpw_design_w({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeReal}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAnyArgTypeReal}} radius_z[s, {{ArgTypeAnyArgTypeReal}} start_angleh, {{ArgTypeAnyArgTypeReal}} end_angle]er)
EXAMPLE: ''ellipsoidcpw_design_w("Ellipsoid_1"50,0,0,0,100,100,501,0.5,3602.2)''
DESCRIPTION: Draws an ellipsoid object in Computes and returns 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 slot width (in degrees and specify meters) of a sweep about the ellipsoid'CPW transmission line of characteristic impedance z0 with center strip width s azimuth axis, substrate height h and substrate relative permittivity er.
====toruscpw_src====
SYNTAX: toruscpw_src({{ArgTypeString}} label, {{ArgTypeAny}} x0rect_object, {{ArgTypeAny}} y0spacing, {{ArgTypeAny}} z0edge[, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[amplitude, {{ArgTypeAny}} start_anglephase, {{ArgTypeAny}} end_angleresistance])
EXAMPLE: ''toruscpw_src("Torus_1CPW_1",0"Rect_1",01.5,0,50,20"+x")''
DESCRIPTION: Draws an torus object Creates a CPW port source in [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the torus named CPW port 'label' if it already exists. The arguments start_angle and end_angle , its properties are in degrees and specify a sweep about the torus's azimuth axismodified.
====rect_stripcubecad_mesh_settings====
SYNTAX: rect_stripcubecad_mesh_settings({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_xedge_length, {{ArgTypeAny}} side_yangle_tol)
EXAMPLE: ''rect_stripcubecad_mesh_settings("my_rectangle"5,0,0,0,50,2010)''
DESCRIPTION: Draws a rectangle Strip object in Sets the project workspace under the currently activated material group node, or modifies the rectangle strip object named 'labelparameters of CubeCAD' if it already existss mesh generator.
====circ_stripcurrent_dist====
SYNTAX: circ_stripcurrent_dist({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
EXAMPLE: ''circ_stripcurrent_dist("cs_1CD_1",0,0,0,50,0)''
DESCRIPTION: Draws Creates a circle strip object in current distribution observable. If the project workspace under the currently activated material group node, or modifies the circle strip object named observable 'label' if it already exists. The arguments start_angle and end_angle , its properties are in degrees and specify a sweep about the circle strip's azimuth axismodified.
====radial_stripcurrent_integral====
SYNTAX: radial_stripcurrent_integral({{ArgTypeString}} label, {{ArgTypeAny}} x0x1, {{ArgTypeAny}} y0y1, {{ArgTypeAny}} z0z1, {{ArgTypeAny}} radiusx2, {{ArgTypeAny}} base_lengthy2, {{ArgTypeAny}} anglez2)
EXAMPLE: ''radial_stripcurrent_integral("Radial_1FI_1",0-10,0-10,0,5010,10,0,90)''
DESCRIPTION: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====cylinder==== SYNTAX: cylinder({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]) EXAMPLE: ''cylinder("Cylinder_1",0,0,0,10,100)'' DESCRIPTION: Draws a radial strip cylinder object in the project workspace under the currently activated material group node, or modifies the radial strip object cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis. ====delete==== SYNTAX: delete({{ArgTypeString}} node_name) EXAMPLE: ''delete("Box_1")'' DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.  ====delete_background_layer==== SYNTAX: delete_background_layer({{ArgTypeString}} label) EXAMPLE: ''delete_background_layer("Mid_Layer")'' DESCRIPTION: Deletes a finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup. ====dielectric_group==== SYNTAX: dielectric_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho) EXAMPLE: ''dielectric_group("Dielectric_1","my_eps",0,1,0)'' DESCRIPTION: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated. ====diode==== SYNTAX: diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor) EXAMPLE: ''diode("Diode_1","Line_1",25,0,10,300,1)'' DESCRIPTION: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modified. ====distributed_src==== SYNTAX: distributed_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''distributed_src("DS_1","Rect_1","+y","uniform")'' DESCRIPTION: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.
====ellipse_strip====
DESCRIPTION: Draws a ellipse strip object in the project workspace under the currently activated material group node, or modifies the ellipse strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse strip's azimuth axis.
====triangle_stripellipsoid====
SYNTAX: triangle_stripellipsoid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1radius_x, {{ArgTypeAny}} side2radius_y, {{ArgTypeAny}} angleradius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
EXAMPLE: ''triangle_stripellipsoid("ts_1Ellipsoid_1",0,0,0,50100,100,9050,0,360)''
DESCRIPTION: Draws a triangle strip an ellipsoid object in the project workspace under the currently activated material group node, or modifies the triangle strip object 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.
====taper_stripemferma_engine_settings====
SYNTAX: taper_stripemferma_engine_settings({{ArgTypeString}} labelmatrix_solver, {{ArgTypeAny}} x0error_tol, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expomax_iterations)
EXAMPLE: ''taper_stripemferma_engine_settings("ts_1bicg-stab",0,0,0,501e-3,100,80,1)''
DESCRIPTION: Draws a taper strip object in Sets the project workspace under the currently activated material group node, or modifies the taper strip object named parameters of [[EM.Ferma]]'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawns electrostatic and magnetostatic simulation engines.
====polygon_regemferma_mesh_settings====
SYNTAX: polygon_regemferma_mesh_settings({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0cell_size_x, {{ArgTypeAny}} radiuscell_size_y, {{ArgTypeAny}} n_sidescell_size_z)
EXAMPLE: ''polygon_regemferma_mesh_settings("ts_1",0.5,0.5,0,50,100,80,1.5)''
DESCRIPTION: Draws a regular polygon object in Sets the project workspace under the currently activated material group node, or modifies the regular polygon object named 'labelparameters of [[EM.Ferma]]' if it already existss fixed-cell mesh generator.
====spiral_stripemillumina_engine_settings====
SYNTAX: spiral_stripemillumina_engine_settings({{ArgTypeString}} labelengine, {{ArgTypeAny}} x0is_fixed_iteration, {{ArgTypeAny}} y0error_tol, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dualmax_iterations)
EXAMPLE: ''spiral_stripemillumina_engine_settings("Spiral _1ipo",0,01e-2,0,10,50,5,0,020)''
DESCRIPTION: Draws a spiral strip object in Sets the project workspace under the currently activated material group node, or modifies the spiral strip named parameters of [[EM.Illumina]]'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawns Physical Optics simulation engine.
====polystripemillumina_mesh_settings====
SYNTAX: polystripemillumina_mesh_settings({{ArgTypeStringArgTypeAny}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pncells_per_lambda)
EXAMPLE: ''polystripemillumina_mesh_settings("ps_1",(0,0,0),(1,0,0),(1,0,0)30)''
DESCRIPTION: Creates or modifies a Polystrip object in Sets the project workspaceparameters of [[EM. Each point is represented with a Python tuple type. The poly_strip function is Illumina]]'self-closing' -- there is no need to supply the first point again at the end of the point lists mesh generator.
====nurbs_stripemlibera_engine_settings_smom====
SYNTAX: nurbs_stripemlibera_engine_settings_smom({{ArgTypeString}} labelmatrix_solver, {{ArgType| 3x1 Python tupleArgTypeAny}} p0error_tol, {{ArgType| 3x1 Python tupleArgTypeAny}} p1max_iterations, ... {{ArgType| 3x1 Python tupleArgTypeAny}} pnncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha)
EXAMPLE: ''nurbs_stripemlibera_engine_settings_smom("ns_1bicg",(01e-3,01000,0)4,(1,0,0),(1,0"efie",0).4)''
DESCRIPTION: Creates or modifies a NURBS Strip object in Sets the project workspaceparameters of [[EM. Each point is represented with a Python tuple type. The nurbs_strip function is Libera]]'self-closing' -- there is no need to supply the first point again at the end of the point lists surface MoM simulation engines.
====lineemlibera_engine_settings_wmom====
SYNTAX: lineemlibera_engine_settings_wmom({{ArgTypeString}} labelmatrix_solver, {{ArgTypeAny}} x0error_tol, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir]max_iterations)
EXAMPLE: ''lineemlibera_engine_settings_wmom("my_linebicg",01e-3,0,0,100,"x"1000)''
DESCRIPTION: Draws a Line object in Sets the project workspace under the currently activated material group node, or modifies the line named parameters of [[EM.Libera]]'label' if it already exists. Without the argument "dir", a vertical line is drawn by defaults wire MoM simulation engines.
====circleemlibera_mesh_settings====
SYNTAX: circleemlibera_mesh_settings({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_anglecells_per_lambda)
EXAMPLE: ''circleemlibera_mesh_settings("pyramid_1",0,0,0,10,10,10030)''
DESCRIPTION: Draws a circular curve object in Sets the project workspace under the currently activated material group node, or modifies the circle named parameters of [[EM.Libera]]'label' if it already exists. The parameters start_angle and end_angle are in degreess mesh generator.
====superquadempicasso_engine_settings====
SYNTAX: empicasso_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
SYNTAXEXAMPLE: superquad''empicasso_engine_settings({{ArgTypeString}} label"bicg", {{ArgTypeAny}} x01e-3, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order1000)''
EXAMPLEDESCRIPTION: Sets the parameters of [[EM.Picasso]]''superquad("SuperQuad_1",0,0,0,50,20,4)''s planar MoM simulation engine.
DESCRIPTION: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already exists. If order = 2, the curve reduces to an ellipse. Higher order make the round edges sharper. An infinite order reduces the curve to a rectangle. ===empicasso_mesh_settings====
====parabola====SYNTAX: empicasso_mesh_settings({{ArgTypeAny}} cells_per_lambda)
SYNTAXEXAMPLE: parabola''empicasso_mesh_settings({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only30)''
EXAMPLEDESCRIPTION: Sets the parameters of [[EM.Picasso]]''parabola("Parabola _1",0,0,0,50,20,0)''s planar hybrid mesh generator.
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. ====emtempo_engine_settings====
====hyperbola====SYNTAX: emtempo_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps)
SYNTAXEXAMPLE: hyperbola''emtempo_engine_settings({{ArgTypeString}} label"single-precision", {{ArgTypeAny}} x0-50, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only20000)''
EXAMPLEDESCRIPTION: Sets the parameters of [[EM.Tempo]]''hyperbola("Hyperbola _1",0,0,0,50,40,20,0)''s FDTD simulation engine.
DESCRIPTION: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn. ====emtempo_mesh_settings====
====spiral_curve====SYNTAX: emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambda, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs)
EXAMPLE: ''emtempo_mesh_settings(30,0.1,0.1,0.02)''
SYNTAXDESCRIPTION: spiral_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator.
EXAMPLE: ''spiral_curve("Spiral _1",0,0,0,10,50,5,0,0)''====emterrano_engine_settings====
DESCRIPTIONSYNTAX: Draws a spiral curve object in the project workspace under the currently activated material group nodeemterrano_engine_settings({{ArgTypeAny}} bounce_count, or modifies the spiral curve named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1{{ArgTypeAny}} do_edge_diffraction, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1{{ArgTypeAny}} angular_resolution, a dual-arm spiral curve will be drawn. {{ArgTypeAny}} ray_threshhold)
====helix====EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)''
SYNTAXDESCRIPTION: helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)Sets the parameters of [[EM.Terrano]]'s SBR simulation engine.
EXAMPLE: ''helix("Helix_1",0,0,0,15,15,10,0)''====emterrano_mesh_settings====
DESCRIPTIONSYNTAX: Draws a helical curve in the project workspace under the currently activated material group nodeemterrano_mesh_settings({{ArgTypeAny}} edge_length, or modifies the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwise. {{ArgTypeAny}} angle_tol)
====polyline====EXAMPLE: ''emterrano_mesh_settings(5,10)''
SYNTAXDESCRIPTION: polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, Sets the parameters of [[EM.Terrano]]'s facet mesh generator.. {{ArgType| 3x1 Python tuple}} pn)
EXAMPLE: ''polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))''====energy_electric====
DESCRIPTIONSYNTAX: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pnenergy_electric({{ArgTypeString}} label, otherwise{{ArgTypeAny}} x1, it is open.{{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====nurbs_curve====EXAMPLE: ''energy_electric("FI_1",-10,-10,-10,10,10,10)''
SYNTAXDESCRIPTION: nurbs_curve({{ArgTypeString}} Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ..its properties are modified. {{ArgType| 3x1 Python tuple}} pn)
EXAMPLE: ''nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))''====energy_magnetic====
DESCRIPTIONSYNTAX: Creates or modifies a NURBS Curve object in the project workspace. Each point is represented with a Python tuple type. The curve is closed if p0 is specified again as pnenergy_magnetic({{ArgTypeString}} label, otherwise{{ArgTypeAny}} x1, it is open.{{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====point====EXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)''
SYNTAXDESCRIPTION: point({{ArgTypeString}} Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)its properties are modified.
EXAMPLE: ''point("Point_1",0,0,10)''====explode====
SYNTAX: explode({{ArgTypeString}} object) EXAMPLE: ''explode("MyArray")'' DESCRIPTION: Draws Explodes an object into its basic primitives. ====export_dxf==== SYNTAX: export_dxf({{ArgTypeString}} file_name) EXAMPLE: ''export_dxf("MyDXFModel.DXF")'' DESCRIPTION: Exports the physical structure of the project workspacean to a point in DXF model file. If the file path is not specified, the current project folder is assumed as the path. ====export_py==== SYNTAX: export_py({{ArgTypeString}} file_name) EXAMPLE: ''export_py("MyPYModel.PY")'' DESCRIPTION: Exports the physical structure of the project workspace or the current object selection to a Python geometry file. The default path is the Python subfolder under "Documents → EMAG". ====export_stl==== SYNTAX: export_stl({{ArgTypeString}} file_name) EXAMPLE: ''export_stl("MySTLModel.STL")'' DESCRIPTION: Exports the currently activated material group nodephysical structure of the project workspacean to an STL model file. If the file path is not specified, the current project folder is assumed as the path. ====extrude==== SYNTAX: extrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends) EXAMPLE: ''extrude("Extrude_1","Rect_Strip1",50)'' DESCRIPTION: Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object, the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the point named face's normal. ====farfield==== SYNTAX: farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr) EXAMPLE: ''farfield("FF_1",1,1)'' DESCRIPTION: Creates a far-field radiation pattern observable. If the observable 'label' if it already exists, its properties are modified. ====field_probe==== SYNTAX: field_probe({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''field_probe("FS_1",0,0,50)'' DESCRIPTION: 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("FS_1","z",0,0,0,100,100,0,25,25,0)'' DESCRIPTION: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified. ====field_sensor_grid==== SYNTAX: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''field_sensor_grid("FS_1","z",0,0,0)'' DESCRIPTION: 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("Curve_1")'' DESCRIPTION: Fill the interior of the specified closed curve object. ====fillet==== fillet({{ArgTypeString}} object, {{ArgTypeAny}} radius) EXAMPLE: ''fillet("Rect_1",5)'' DESCRIPTION: Fillets the corners of the specified surface or curve object by the specified radius. ====flux_electric==== SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_electric("FI_1",-10,-10,5,10,10,10)'' DESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====flux_magnetic==== SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''flux_magnetic("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.
====fractal_tree====
DESCRIPTION: 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.
====param_curvefreeze====
SYNTAX: param_curvefreeze({{ArgTypeString}} labelobject, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)]freeze_state)
EXAMPLE: ''param_curvefreeze("Curve_1MyObj",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''
DESCRIPTION: Generates a parametric curve in Sets the project workspace under the currently activated material group node, or modifies the parametric curve named 'label' if it already existsfreeze state of an object (0/1).
====param_surfacegauss====
SYNTAX: param_surfacegauss({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0mu, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAnyArgTypeReal}} functionsigma)
EXAMPLE: ''param_surfacegauss("Surf_1",0,0,0,"xy",0,10,0.15,0,10,0.1,"sin(x)*sin(y)")''
DESCRIPTION: 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 existsGaussian function of mean mu and standard deviation sigma: exp(-0.5*((x-mu)/sigma)**2)/sigma/sqrt(2*pi).
====import_stlgauss_beam====
SYNTAX: import_stlgauss_beam({{ArgTypeString}} file_namelabel, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode)
EXAMPLE: ''import_stlgauss_beam("MySTLModel.STLPW_1",180,0,"tm",0,0,0,20,0,0)''
DESCRIPTION: Imports an external STL model file to the project workspaceCreates a Gaussian beam source in [[EM.Tempo]]. If the file path is not specifiedGaussian beam source 'label' already exists, the current project folder is assumed as the pathits properties are modified.
====import_dxfgenerate_input_files====
SYNTAX: import_dxfgenerate_input_files({{ArgTypeString}} file_name)
EXAMPLE: ''import_dxfgenerate_input_files("MyDXFModel.DXF")''
DESCRIPTION: Imports an external DXF model file to Generates all the project workspace. If input files for the file path is not specified, simulation engine of the current project folder is assumed as the pathmodule without running a simulation.
====import_stpgeo====
SYNTAX: import_stpgeo({{ArgTypeStringArgTypeReal}} file_namex, {{ArgTypeReal}} y)
EXAMPLE: ''import_stpgeo("MySTPModel.STP"1,2)''
DESCRIPTION: Computes and returns the geometric mean of x and y: sqrt(x*y). ====get_area==== SYNTAX: get_area({{ArgTypeString}} object) EXAMPLE: ''get_area("ellipse_1")'' DESCRIPTION: Returns the 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 specified coordinate of the unit vector along the specified local axis of an object. ====get_domain_extent==== SYNTAX: get_domain_extent({{ArgTypeString}} coordinate) EXAMPLE: ''get_domain_extent("x")'' DESCRIPTION: Returns the size of the computational domain along the specified direction. ====get_extent==== SYNTAX: get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_extent("pyramid_1","x")'' DESCRIPTION: Returns the size of the bounding box of an object along the specified direction. ====get_lcs==== SYNTAX: get_lcs({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_lcs("pyramid_1","x")'' DESCRIPTION: Returns the specified coordinate of the LCS of an object. ====get_lcs_offset==== SYNTAX: get_lcs_offset({{ArgTypeString}} object, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinate) EXAMPLE: ''get_lcs_offset("box_1",50,50,0,"x")'' DESCRIPTION: Returns the specified coordinate of the LCS of an object after being translated by the specified offset values along the three principal axes. ====get_length==== SYNTAX: get_length({{ArgTypeString}} object) EXAMPLE: ''get_length("helix_1")'' DESCRIPTION: Returns the length of a curve object. ====get_rot==== SYNTAX: get_rot({{ArgTypeString}} object, {{ArgTypeString}} coordinate) EXAMPLE: ''get_rot("pyramid_1","x")'' DESCRIPTION: Returns the specified rotation angle of an object. ====get_standard_output==== SYNTAX: get_standard_output({{ArgTypeString}} output_name)  EXAMPLE: ''get_standard_output("S11M")'' DESCRIPTION: Returns the computed value of the specified standard output parameter at the end of a simulation. ====get_vertex==== SYNTAX: get_vertex({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate) EXAMPLE: ''get_vertex("pyramid_1",0,"x")'' DESCRIPTION: Returns the specified coordinate of the specified vertex of the bounding box of an object. The vertices are specified by node indices. The lower front left corner has an index of 0, while the upper back right corner has an index of 7. The indices are numbered counterclockwise, with the bottom face first and top face next.  ====get_volume==== SYNTAX: get_volume({{ArgTypeString}} object) EXAMPLE: ''get_volume("pyramid_1")'' DESCRIPTION: Returns the volume of a solid object. ====global_ground==== SYNTAX: global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''global_ground(1,3.3,0.001)'' DESCRIPTION: Set the state of [[EM.Terrano]]'s global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0.  ====group==== SYNTAX: group({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...) EXAMPLE: ''group("Composite_1","Box_1","Box_2","Box_3")'' DESCRIPTION: Groups a number of objects into a composite object with the given label. ====harm==== SYNTAX: harm({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''harm(1,2)'' DESCRIPTION: Computes and returns the harmonic mean of x and y: 2/(1/x+1/y). ====helix==== SYNTAX: helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir) EXAMPLE: ''helix("Helix_1",0,0,0,15,15,10,0)'' DESCRIPTION: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwise. ====horn_design_a==== SYNTAX: horn_design_a({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda) EXAMPLE: ''horn_design_a(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda. ====horn_design_b==== SYNTAX: horn_design_b({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda) EXAMPLE: ''horn_design_b(15,0.4,0.3)'' DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda. ====horn_design_l==== SYNTAX: horn_design_l({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda) EXAMPLE: ''horn_design_l(15,0.4,0.3)'' DESCRIPTION: 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. ====huygens_src==== SYNTAX: huygens_src({{ArgTypeString}} label, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot]) EXAMPLE: ''huygens_src("HS_1","Huygens_1.HUY",1,100,100,0,0,0,0)'' DESCRIPTION: Creates a Huygens source. If the Huygens source 'label' already exists, its properties are modified. ====huygens_surface==== SYNTAX: huygens_surface({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples) EXAMPLE: ''huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)'' DESCRIPTION: Creates a Huygens surface observable. If the observable 'label' already exists, its properties are modified. ====huygens_surface_grid==== SYNTAX: huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''huygens_surface_grid("HS_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified. ====hyperbola==== SYNTAX: hyperbola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only) EXAMPLE: ''hyperbola("Hyperbola _1",0,0,0,50,40,20,0)'' DESCRIPTION: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn.  ====impedance_surface_group==== SYNTAX: impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag) EXAMPLE: ''impedance_surface_group("IMP_1",100,-100)'' DESCRIPTION: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated. ====impenetrable_surface_group==== SYNTAX: impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''impenetrable_surface_group("Impenet_1",2.2,0.0001)'' DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated. ====import_dxf==== SYNTAX: import_dxf({{ArgTypeString}} file_name) EXAMPLE: ''import_dxf("MyDXFModel.DXF")'' DESCRIPTION: Imports an external STEP DXF model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path.
====import_igs====
DESCRIPTION: Imports a Python geometry file to the project workspace. The default path is the Python subfolder under "Documents → EMAG".
====export_stlimport_stl====
SYNTAX: export_stlimport_stl({{ArgTypeString}} file_name)
EXAMPLE: ''export_stlimport_stl("MySTLModel.STL")''
DESCRIPTION: Exports the physical structure of the project workspacean to Imports an external STL model fileto the project workspace. If the file path is not specified, the current project folder is assumed as the path.
====export_dxfimport_stp====
SYNTAX: export_dxfimport_stp({{ArgTypeString}} file_name)
EXAMPLE: ''export_dxfimport_stp("MyDXFModelMySTPModel.DXFSTP")''
DESCRIPTION: Exports the physical structure of Imports an external STEP model file to the project workspacean to a DXF model fileworkspace. If the file path is not specified, the current project folder is assumed as the path.
====export_pyinductance====
SYNTAX: export_pyinductance({{ArgTypeString}} file_namelabel, {{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: ''export_pyinductance("MyPYModel.PYFI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''
DESCRIPTION: Exports the physical structure of the project workspace or the current object selection to Creates a Python geometry fileinductance integral observable in [[EM.Ferma]]. The default path is If the Python subfolder under "Documents → EMAG"observable 'label' already exists, its properties are modified.
== EM.Cube's Python Functions for Geometric Object Transformation ==inductor====
====freezeSYNTAX: inductor({{ArgTypeString}} objectlabel, {{ArgTypeRealArgTypeAny}} freeze_stateline_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH)====
EXAMPLE: ''Example: freezeinductor("MyObjCap_1",1"Line_1",25,10)''
DescriptionDESCRIPTION: Sets Creates a inductor in [[EM.Tempo]]. If the freeze state of an object (0/1)inductor 'label' already exists, its properties are modified.
====move_to({{ArgTypeString}} object, {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name])intersect====
''ExampleSYNTAX: move_tointersect("NewObj"{{ArgTypeString}} label,"MyObj"{{ArgTypeString}} object_1,10,10,0{{ArgTypeString}} object_2)''
DescriptionEXAMPLE: Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module. ''intersect("Intersection_Object","Rect_Strip1","Rect_Strip2")''
====clone({{ArgTypeString}} DESCRIPTION: Creates a Boolean object named 'label, ' by intersecting object_1 and object_2. {{ArgTypeString}} An error will be thrown if a Boolean object, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0)====named 'label' already exists.
''Example: clone("NewObj","MyObj",10,10,0)''====line====
DescriptionSYNTAX: Creates a copy of the specified object and repositions it at the given coordinates. line({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir])
====translate_byEXAMPLE: ''line({{ArgTypeString}} object"my_line", {{ArgTypeReal}} x_dist0, {{ArgTypeReal}} y_dist0, {{ArgTypeReal}} z_dist0,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: translate_by(if it already exists. Without the argument "MyObjdir",10,10,x)''a vertical line is drawn by default.
Description: Translates an object by the specified distances in each direction.====loft====
====translate_toSYNTAX: loft({{ArgTypeString}} objectlabel, {{ArgTypeRealArgTypeString}} x_destobject, {{ArgTypeRealArgTypeAny}} y_destloft_height, {{ArgTypeRealArgTypeAny}} z_destcap_base)====
EXAMPLE: ''Example: translate_toloft("MyObjLoft_1",20,20"Rect_Strip1",x250)''
DescriptionDESCRIPTION: Translates an Creates or modifies a loft object to from a specified object by the specified destinationheight. 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.
====rotate({{ArgTypeString}} object, {{ArgTypeAny}} rot_angle_degree, {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)lumped_src====
''ExampleSYNTAX: rotatelumped_src("pyramid_1"{{ArgTypeString}} label,45{{ArgTypeAny}} line_object,1{{ArgTypeAny}} offset,1{{ArgTypeAny}} polarity[,0{{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Rotates an object about a line passing through its LCS center and aligned along the specified direction vector ''lumped_src(rot_axis"LS_1","Line_1",50,0) by the specified angle.''
====scale({{ArgTypeString}} objectDESCRIPTION: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, {{ArgTypeAny}} scale_factor)====its properties are modified.
''Example: scale("pyramid_1",2)''====magnet_group====
DescriptionSYNTAX: Scales an object by the specified scale factor.magnet_group({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)
====get_lengthEXAMPLE: ''magnet_group({{ArgTypeString}} object"Magnet_1",1,0,0,100)====''
''ExampleDESCRIPTION: get_length("helix_1")Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label'already exists, the group is activated.
Description: Returns the length of a curve object.====mcos====
====get_areaSYNTAX: mcos({{ArgTypeStringArgTypeReal}} objectx, {{ArgTypeReal}} r)====
EXAMPLE: ''Example: get_areamcos("ellipse_1"0.5,2)''
DescriptionDESCRIPTION: Returns Computes and returns the area super-quadratic cosine function of a surface object or the total surface area of a solid objectorder r.
====get_volume({{ArgTypeString}} object)mean====
''ExampleSYNTAX: get_volumemean("pyramid_1"{{ArgTypeReal}} x, {{ArgTypeReal}} y)''
DescriptionEXAMPLE: Returns the volume of a solid object.''mean(1,2)''
====get_lcsDESCRIPTION: Computes and returns the arithmetic mean of x and y: 0.5*({{ArgTypeString}} object, {{ArgTypeString}} coordinatex+y)====.
''Example: get_lcs("pyramid_1","x")''====merge_curve====
DescriptionSYNTAX: Returns the specified coordinate of the LCS of an object.merge_curve({{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
====get_rotEXAMPLE: ''merge_curve({{ArgTypeString}} object"Curve_1", {{ArgTypeString}} coordinate"Curve_2")====''
''ExampleDESCRIPTION: get_rot("pyramid_1","x")''Merges two specified curve objects into a single curve.
Description: Returns the specified rotation angle of an object.====mesh====
====get_axisSYNTAX: mesh({{ArgTypeString}} object, {{ArgTypeString}} axis, {{ArgTypeString}} coordinate)====
''ExampleDESCRIPTION: get_axis("pyramid_1","x","y")''Generates and displays the mesh of the physical structure.
Description: Returns the specified coordinate of the unit vector along the specified local axis of an object.====microstrip_design====
====get_lcs_offsetSYNTAX: microstrip_design({{ArgTypeStringArgTypeReal}} objectz0, {{ArgTypeAnyArgTypeReal}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinateer)====
EXAMPLE: ''Example: get_lcs_offsetmicrostrip_design("box_1",50,50,0,"x"2.2)''
DescriptionDESCRIPTION: Returns Computes and returns the specified coordinate width-to-height ratio of the LCS of an object after being translated by the specified offset values along the three principal axesa microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.
====get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate)microstrip_eps_eff====
''ExampleSYNTAX: get_extentmicrostrip_eps_eff("pyramid_1"{{ArgTypeReal}} w,"x"{{ArgTypeReal}} h, {{ArgTypeReal}} er)''
DescriptionEXAMPLE: Returns the size of the bounding box of an object along the specified direction''microstrip_eps_eff(2,0.5,2.2)''
====get_vertex({{ArgTypeString}} objectDESCRIPTION: Computes and returns the effective permittivity of a microstrip transmission line with width w, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate)====substrate height h and substrate relative permittivity er.
''Example: get_vertex("pyramid_1",0,"x")''====microstrip_lambda_g====
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 0microstrip_lambda_g({{ArgTypeReal}} w, while the upper back right corner has an index of 7. The indices are numbered counterclockwise{{ArgTypeReal}} h, with the bottom face first and top face next. {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====set_rotEXAMPLE: ''microstrip_lambda_g({{ArgTypeString}} object2, {{ArgTypeAny}} rot_x0.5, {{ArgTypeAny}} rot_y2.2, {{ArgTypeAny}} rot_z2e9)====''
''ExampleDESCRIPTION: set_rotComputes and returns the guide wavelength ("pyramid_1"in meters) of a microstrip transmission line with width w,0,0,45)''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
Description: Sets the three rotation angles of an object.====microstrip_src====
====set_lcs_linkSYNTAX: microstrip_src({{ArgTypeString}} objectlabel, {{ArgTypeStringArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} lcs_objedge[, {{ArgTypeAny}} x_offamplitude, {{ArgTypeAny}} y_offphase, {{ArgTypeAny}} z_offresistance])====
EXAMPLE: ''Example: set_lcs_linkmicrostrip_src("pyramid_1MS_1","box_1Rect_1",501.5,50,0"+x")''
DescriptionDESCRIPTION: Links Creates a microstrip port source in [[EM.Tempo]]. If the LCS of the first object to the LCS of the second object by the specified offset values along the three axesmicrostrip port 'label' already exists, its properties are modified.
====set_rot_link({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)microstrip_z0====
''ExampleSYNTAX: set_rot_linkmicrostrip_z0("pyramid_1"{{ArgTypeReal}} w,"box_1"{{ArgTypeReal}} h,0,0,45{{ArgTypeReal}} er)''
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''microstrip_z0(2,0.5,2.2)''
====mirrorDESCRIPTION: Computes and returns the characteristic impedance ({{ArgTypeString}} objectin Ohms) of a microstrip transmission line with width w, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)====substrate height h and substrate relative permittivity er.
''Example: mirror("pyramid_1",0,0,0,1,0,0)''====microstrip_zoc====
DescriptionSYNTAX: Mirrors an object in a plane defined by the specified point coordinates and specified normal vector components.microstrip_zoc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====groupEXAMPLE: ''microstrip_zoc({{ArgTypeString}} label2, {{ArgTypeString}} object_125, {{ArgTypeString}} object_20.5, 2...2,2e9)====''
''ExampleDESCRIPTION: groupComputes and returns the input reactance ("Composite_1"in Ohms) of an open-circuited microstrip transmission line with width w,"Box_1"length l,"Box_2","Box_3")''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
Description: Groups a number of objects into a composite object with the given label.====microstrip_zsc====
====arraySYNTAX: microstrip_zsc({{ArgTypeStringArgTypeReal}} labelw, {{ArgTypeStringArgTypeReal}} objectl, {{ArgTypeAnyArgTypeReal}} x_counth, {{ArgTypeAnyArgTypeReal}} y_counter, {{ArgTypeAnyArgTypeReal}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacingfreq_hertz)====
EXAMPLE: ''Example: arraymicrostrip_zsc("Array_1"2,"Rect_Strip_1"25,40.5,42.2,1,50,50,02e9)''
DescriptionDESCRIPTION: Creates or modifies Computes and returns the input reactance (in Ohms) of a short-circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an array objectoperating frequency of freq_hertz.
====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)mirror====
''ExampleSYNTAX: array_custommirror("Array_1"{{ArgTypeString}} object,"Rect_Strip_1"{{ArgTypeAny}} x0,4{{ArgTypeAny}} y0,4{{ArgTypeAny}} z0,1{{ArgTypeAny}} uX,50{{ArgTypeAny}} uY,50,0,100,100,20,0,0,45{{ArgTypeAny}} uZ)''
DescriptionEXAMPLE: Creates or modifies an array object and sets its local coordinate system and rotation angles.''mirror("pyramid_1",0,0,0,1,0,0)''
====explode({{ArgTypeString}} DESCRIPTION: Mirrors an object)====in a plane defined by the specified point coordinates and specified normal vector components.
''Example: explode("MyArray")''====move_to====
DescriptionSYNTAX: Explodes an move_to({{ArgTypeString}} object into its basic primitives., {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name])
====subtractEXAMPLE: ''move_to({{ArgTypeString}} label"NewObj", {{ArgTypeString}} object_1"MyObj", {{ArgTypeString}} object_210,10,0)====''
''ExampleDESCRIPTION: subtract("Subtract_Object","Rect_Strip1","Rect_Strip2")''Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module.
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.====msin====
====unionSYNTAX: msin({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeStringArgTypeReal}} object_1, {{ArgTypeString}} object_2r)====
EXAMPLE: ''Example: unionmsin("Union_Object","Rect_Strip1"0.5,"Rect_Strip2"2)''
DescriptionDESCRIPTION: Creates a Boolean object named 'label' by unioning object_1 Computes and object_2. An error will be thrown if a Boolean object named 'label' already existsreturns the super-quadratic sine function of order r.
====intersect({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)nurbs_curve====
''ExampleSYNTAX: intersectnurbs_curve("Intersection_Object"{{ArgTypeString}} label,"Rect_Strip1"{{ArgType| 3x1 Python tuple}} p0,"Rect_Strip2"{{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)''
DescriptionEXAMPLE: Creates a Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))'label' already exists.
====extrude({{ArgTypeString}} label, {{ArgTypeString}} DESCRIPTION: Creates or modifies a 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, {{ArgTypeAny}} extrude_heightotherwise, {{ArgTypeAny}} cap_ends)====it is open.
''Example:extrude("Extrude_1","Rect_Strip1",50)''====nurbs_strip====
DescriptionSYNTAX: Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion objectnurbs_strip({{ArgTypeString}} label, the pre-existing primitive is used{{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, .. This command can only extrude objects that have a single face and will extrude along the face's normal.{{ArgType| 3x1 Python tuple}} pn)
====loftEXAMPLE: ''nurbs_strip({{ArgTypeString}} label"ns_1", {{ArgTypeString}} object(0, {{ArgTypeAny}} loft_height0, {{ArgTypeAny}} cap_base0),(1,0,0),(1,0,0))====''
''ExampleDESCRIPTION: loft("Loft_1","Rect_Strip1",50)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.
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.====ohmic_loss====
====revolveSYNTAX: ohmic_loss({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0x1, {{ArgTypeAny}} z0y1, {{ArgTypeAny}} uXz1, {{ArgTypeAny}} uYx2, {{ArgTypeAny}} uZy2, {{ArgTypeAny}} rot_anglez2)====
EXAMPLE: ''Example: revolveohmic_loss("Rev1FI_1","Line_1",0,0-10,0-10,0-10,010,110,36010)''
DescriptionDESCRIPTION: Creates or modifies a revolution object from a specified objectan ohmic loss integral observable in [[EM.Ferma]]. If modifying an existing revolution object, the pre-existing primitive object is used. (x0observable 'label' already exists,y0,z0) specifies the center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is given in degreesits properties are modified.
====consolidate({{ArgTypeString}} object)parabola====
''ExampleSYNTAX: consolidateparabola("Poly_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)''
DescriptionEXAMPLE: Consolidates a specified object.''parabola("Parabola _1",0,0,0,50,20,0)''
====spline_fit({{ArgTypeString}} 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.
''Example: spline_fit("Poly_1")''====param_curve====
DescriptionSYNTAX: Applies spline fit transformation on a specified polymeshparam_curve({{ArgTypeString}} label, polyline or polystrip object.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)])
====fill_curveEXAMPLE: ''param_curve({{ArgTypeString}} object"Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")====''
''ExampleDESCRIPTION: fill_curve("Curve_1")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.
Description: Fill the interior of the specified closed curve object.====param_surface====
====merge_curveSYNTAX: param_surface({{ArgTypeString}} object_1label, {{ArgTypeStringArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} object_2function)====
EXAMPLE: ''Example: merge_curveparam_surface("Curve_1Surf_1",0,0,0,"Curve_2xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")''
DescriptionDESCRIPTION: Merges two specified curve objects into Generates a single curveparametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already exists.
====close_curve({{ArgTypeString}} label, {{ArgTypeString}} close_state)pec_group====
''ExampleSYNTAX: close_curvepec_group("Curve_1",1{{ArgTypeString}} label)''
DescriptionEXAMPLE: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve.''pec_group("PEC_1")''
====polygonize({{ArgTypeString}} objectDESCRIPTION: Creates a PEC material group in the current module. If the PEC group 'label' already exists, {{ArgTypeAny}} side_length)====the group is activated.
''Example: polygonize("Cric_1",2)''====pec_via_group====
DescriptionSYNTAX: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer)
====polymeshEXAMPLE: ''pec_via_group({{ArgTypeString}} label"PEC_1", {{ArgTypeString}} object, {{ArgTypeAny}} edge_length10)====''
DESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label'Example: polymesh("Poly_1"already exists,"Cric_1",2)''the group is activated.
Description: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.====pec_voltage_group====
====filletSYNTAX: pec_voltage_group({{ArgTypeString}} objectlabel, {{ArgTypeAny}} radiusvoltage)====
EXAMPLE: ''Example: filletpec_voltage_group("Rect_1PEC_1",510)''
DescriptionDESCRIPTION: Fillets Creates a fixed-potential PEC object group in the corners of current module. If the specified surface or curve object by PEC group 'label' already exists, the specified radiusgroup is activated.
====slice({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)penetrable_surface_group====
''ExampleSYNTAX: filletpenetrable_surface_group("Rect_1"{{ArgTypeString}} label,5{{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)''
DescriptionEXAMPLE: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates''penetrable_surface_group("Penet_1",2.2,0.0001, 1)''
====roughen({{ArgTypeString}} DESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)====the group is activated.
''Example: roughen("Rect_1",1,5)''====penetrable_volume_group====
DescriptionSYNTAX: Roughens the surface of the specified object based on the specified RMS height and correlation length.penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
====random_groupEXAMPLE: ''penetrable_volume_group({{ArgTypeString}} label"Vol_Penet_1", {{ArgTypeString}} key_object2.2, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count0.0001)====''
DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label'Example: random_group("Rand_1"already exists,"Rect_1","Box_1",100)''the group is activated.
Description: Creates a random group using the specified key object and confines them in the specified container object.====pipe_sweep====
====strip_sweepSYNTAX: pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} widthradius)====
EXAMPLE: ''Example: strip_sweeppipe_sweep("Curve_1",5)''
DescriptionDESCRIPTION: Creates a strip pipe version of a given curve object.
====pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius)planewave====
''ExampleSYNTAX: pipe_sweepplanewave("Curve_1"{{ArgTypeString}} label,5{{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)''
Description'EXAMPLE: Creates a pipe version of a given curve object.''planewave("PW_1",180,0,"tm")''
====rail_sweep({{ArgTypeString}} rail_objectDESCRIPTION: Creates a plane wave source. If the plane wave source 'label' already exists, {{ArgTypeString}} sweep_object)====its properties are modified.
''Example: rail_sweep("Curve_1","Curve_2")''====plot_file====
DescriptionSYNTAX: Rail-sweeps the specified sweep object along the specified curve object.plot_file({{ArgTypeString}} filename)
== EMEXAMPLE: ''plot_file("D0.CubeDAT")''s Python Functions for Material or Object Group Creation ==
====activate({{ArgTypeString}} group_node_label)====DESCRIPTION: Plots the contents of a specified data file in EM.Grid.
''Example: activate("Color_1")''====pmc_group====
DescriptionSYNTAX: Activates a color, material or object group in the current active [[EM.Cube]] module. pmc_group({{ArgTypeString}} label)
====color_groupEXAMPLE: ''pmc_group({{ArgTypeString}} label"PMC_1")====''
''ExampleDESCRIPTION: color_group("Color_1")Creates a PMC material group in the current module. If the PMC group 'label'already exists, the group is activated.
Description: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated.====point====
====pec_groupSYNTAX: point({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)====
EXAMPLE: ''Example: pec_grouppoint("PEC_1Point_1",0,0,10)''
DescriptionDESCRIPTION: Creates Draws a PEC material group point in the current module. If project workspace under the PEC currently activated material group node, or modifies the point named 'label' if it already exists, the group is activated.
====pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)polygon_reg====
''ExampleSYNTAX: pec_voltage_grouppolygon_reg("PEC_1"{{ArgTypeString}} label,10{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides)''
DescriptionEXAMPLE: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label' already existspolygon_reg("ts_1", the group is activated.0,0,0,50,100,80,1)''
====pec_via_group({{ArgTypeString}} labelDESCRIPTION: Draws a regular polygon object in the project workspace under the currently activated material group node, {{ArgTypeAny}} host_layer)====or modifies the regular polygon object named 'label' if it already exists.
''Example: pec_via_group("PEC_1",10)''====polygonize====
DescriptionSYNTAX: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already existspolygonize({{ArgTypeString}} object, the group is activated.{{ArgTypeAny}} side_length)
====thinwire_groupEXAMPLE: ''polygonize({{ArgTypeString}} label"Cric_1", {{ArgTypeAny}} radius2)====''
''ExampleDESCRIPTION: thinwire_group("Thinwire_1",4)''Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.
Description: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, the group is activated.====polyline====
====pmc_groupSYNTAX: polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)====
EXAMPLE: ''Example: pmc_grouppolyline("PMC_1pl_1",(0,0,0),(1,0,0),(1,0,0))''
DescriptionDESCRIPTION: Creates or modifies a PMC material group PolyLine object in the current moduleproject workspace. If the PMC group 'label' already existsEach point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, the group otherwise, it is activatedopen.
====slot_group({{ArgTypeString}} label)polymesh====
''ExampleSYNTAX: slot_grouppolymesh("PMC_1"{{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} edge_length)''
DescriptionEXAMPLE: Creates a slot trace group in the current module. If the slot trace group 'label' already existspolymesh("Poly_1", the group is activated."Cric_1",2)''
====dielectric_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho)====DESCRIPTION: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.
''Example: dielectric_group("Dielectric_1","my_eps",0,1,0)''====polystrip====
DescriptionSYNTAX: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'polystrip({{ArgTypeString}} label' already exists, the group is activated{{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ...{{ArgType| 3x1 Python tuple}} pn)
====impenetrable_surface_groupEXAMPLE: ''polystrip({{ArgTypeString}} label"ps_1", {{ArgTypeAny}} eps(0, {{ArgTypeAny}} sigma0,0),(1,0,0),(1,0,0))====''
''ExampleDESCRIPTION: impenetrable_surface_group("Impenet_1",2Creates or modifies a Polystrip object in the project workspace.2,0Each point is represented with a Python tuple type.0001)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: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated.====port_definition_custom====
====penetrable_surface_groupSYNTAX: port_definition_custom({{ArgTypeString}} label, ({{ArgTypeAnyArgTypeString}} epsport_1_src_1, {{ArgTypeAnyArgTypeString}} sigmaport_1_src_2, ..., {{ArgTypeAnyArgTypeString}} thicknessport_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...)====
EXAMPLE: ''Example: penetrable_surface_groupport_definition_custom("Penet_1PD_1",2.2("LS_1",0.0001"LS_2",50),,("LS_3","LS_4", 150))''
DescriptionDESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]custom port definition observable. If the penetrable surface group observable 'label' already exists, the group is activatedits properties are modified.
====penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)port_definition_default====
''ExampleSYNTAX: penetrable_volume_groupport_definition_default("Vol_Penet_1",2.2,0.0001{{ArgTypeString}} label)''
DescriptionEXAMPLE: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.port_definition_default("PD_1")''
====terrain_group({{ArgTypeString}} DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)====its properties are modified.
''Example: terrain_group("Terrain_1",5.0,0.0001)''====probe_gap_src====
DescriptionSYNTAX: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'probe_gap_src({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====base_point_groupEXAMPLE: ''probe_gap_src({{ArgTypeString}} label"Probe_1","Via_1",0)====''
''ExampleDESCRIPTION: base_point_set("BP_Set_1")Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label'already exists, its properties are modified.
Description: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already exists, the group is activated.====pyramid====
====virtual_groupSYNTAX: pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)====
EXAMPLE: ''Example: virtual_grouppyramid("VIR_1Pyramid_1",0,0,0,10,10,100)''
DescriptionDESCRIPTION: Creates Draws a virtual pyramid object group in [[EM.Terrano]]. If the virtual project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists, the group is activated.
====impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag)radial_strip====
''ExampleSYNTAX: impedance_surface_groupradial_strip("IMP_1"{{ArgTypeString}} label,100{{ArgTypeAny}} x0,-100{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)''
DescriptionEXAMPLE: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already existsradial_strip("Radial_1", the group is activated.0,0,0,50,0,90)''
====conductive_sheet_group({{ArgTypeString}} DESCRIPTION: Draws a radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip object named 'label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)====' if it already exists.
''Example: conductive_sheet_group("Cond_1",100, 0.01)''====rail_sweep====
DescriptionSYNTAX: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already existsrail_sweep({{ArgTypeString}} rail_object, the group is activated.{{ArgTypeString}} sweep_object)
====charge_groupEXAMPLE: ''rail_sweep({{ArgTypeString}} label"Curve_1", {{ArgTypeAny}} density"Curve_2")====''
''ExampleDESCRIPTION: charge_group("Charge_1",Rail-1e-5)''sweeps the specified sweep object along the specified curve object.
Description: Creates a volume charge source group in [[EM.Ferma]]. If the charge group 'label' already exists, the group is activated.====ramp====
====magnet_groupSYNTAX: ramp({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mzx)====
EXAMPLE: ''Example: magnet_groupramp("Magnet_1",1,0,0,100.5)''
DescriptionDESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If Computes and returns the magnet group 'label' already existsramp function: x if x>0, the group is activated0 if x<0.
====volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)rand====
''ExampleSYNTAX: volume_current_grouprand("Magnet_1"{{ArgTypeReal}} x,0,0,1e6{{ArgTypeReal}} y)''
DescriptionEXAMPLE: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already existsrand(0, the group is activated.1)''
====wire_current_group({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius)====DESCRIPTION: Computes and returns a random number between x and y using an uniform distribution.
''Example: wire_current_group("Magnet_1",1,0.5)''====random_group====
DescriptionSYNTAX: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'random_group({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)
== EM.CubeEXAMPLE: ''random_group("Rand_1","Rect_1","Box_1",100)''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: Creates a random group using the specified key object and confines them in the specified container object.
''Example: lumped_src("LS_1","Line_1",50,0)''====rcs_bistatic====
DescriptionSYNTAX: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'rcs_bistatic({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
====distributed_srcEXAMPLE: ''rcs_bistatic({{ArgTypeString}} label"RCS_1", {{ArgTypeAny}} rect_object1, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]1)====''
DESCRIPTION: Creates a bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label'Example: distributed_src("DS_1"already exists,"Rect_1","+y","uniform")''its properties are modified.
Description: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.====rcs_monostatic====
====microstrip_srcSYNTAX: rcs_monostatic({{ArgTypeString}} label, {{ArgTypeAny}} rect_objecttheta_incr, {{ArgTypeAny}} height, {{ArgTypeAny}} edgephi_incr[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistancefrequency])====
EXAMPLE: ''Example: microstrip_srcrcs_monostatic("MS_1RCS_1","Rect_1"1,1.5,"+x")''
DescriptionDESCRIPTION: Creates a microstrip port source in monostatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the microstrip port observable 'label' already exists, its properties are modified.
====cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])receiver_set====
''ExampleSYNTAX: cpw_srcreceiver_set("CPW_1"{{ArgTypeString}} label,"Rect_1"{{ArgTypeAny}} base_point_set[,1.5{{ArgTypeAny}} pattern_file,"+x"{{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already existsreceiver_set("TX_1", its properties are modified"PT_1","DPL_STD.RAD",0,90,0)''
====coaxial_src({{ArgTypeString}} DESCRIPTION: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====its properties are modified.
''Example: coaxial_src("COAX_1","Cyl_1",1.5,"+z")''====rect====
DescriptionSYNTAX: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified.rect({{ArgTypeReal}} x)
====waveguide_srcEXAMPLE: ''rect({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]0.1)====''
''ExampleDESCRIPTION: waveguide_src("WG_1","Box_1",50Computes and returns the rectangular window function: 1 if x<0.5,0)''elsewhere.
Description: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, its properties are modified.====rect_gap_src====
====wire_gap_srcSYNTAX: rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_objectrect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====
EXAMPLE: ''Example: wire_gap_srcrect_gap_src("WIG_1GAP_1","Line_1Rect_1",500,0)''
DescriptionDESCRIPTION: Creates a wire strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the wire strip gap source 'label' already exists, its properties are modified.
====rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])rect_strip====
''ExampleSYNTAX: rect_gap_srcrect_strip("GAP_1"{{ArgTypeString}} label,"Rect_1"{{ArgTypeAny}} x0,0{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)''
DescriptionEXAMPLE: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already existsrect_strip("my_rectangle", its properties are modified.0,0,0,50,20)''
====probe_gap_src({{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}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====' if it already exists.
''Example: probe_gap_src("Probe_1","Via_1",0)''====rename====
DescriptionSYNTAX: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already existsrename({{ArgTypeString}} new_label, its properties are modified.{{ArgTypeString}} old_label)
====wave_portEXAMPLE: ''rename({{ArgTypeString}} label"Box_2", {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]"Box_1")====''
''ExampleDESCRIPTION: wave_port("WP_1"Deletes a node name from the navigation tree. The node can be any geometric object,"Rect_1"source,0,0)''observable or material group.
Description: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the wave port 'label' already exists, its properties are modified.====resistance====
====short_dipoleSYNTAX: resistance({{ArgTypeString}} label, {{ArgTypeAny}} x0x1, {{ArgTypeAny}} y0y1, {{ArgTypeAny}} z0z1, {{ArgTypeAny}} lengthx2, {{ArgTypeAny}} uXy2, {{ArgTypeAny}} uYz2, {{ArgTypeAny}} uZx3, {{ArgTypeAny}} amplitudey3, {{ArgTypeAny}} phasez3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)====
EXAMPLE: ''Example: wave_portresistance("SD_1FI_1",0,0,50-10,30,0,10,-10,-10,0,110,110,0)''
DescriptionDESCRIPTION: Creates a Hertzian short dipole sourceresistance integral observable in [[EM.Ferma]]. If the short dipole source observable 'label' already exists, its properties are modified.
====planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)resistor====
''ExampleSYNTAX: planewaveresistor("PW_1"{{ArgTypeString}} label,180{{ArgTypeAny}} line_object,0{{ArgTypeAny}} offset,"tm"{{ArgTypeAny}} resistance)''
DescriptionEXAMPLE: Creates a plane wave source. If the plane wave source 'label' already existsresistor("Res_1", its properties are modified."Line_1",25,50)''
====gauss_beam({{ArgTypeString}} DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already exists, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode)====its properties are modified.
''Example: gauss_beam("PW_1",180,0,"tm",0,0,0,20,0,0)''====revolve====
DescriptionSYNTAX: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'revolve({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)
====huygens_srcEXAMPLE: ''revolve({{ArgTypeString}} label"Rev1", {{ArgTypeAny}} filename["Line_1", {{ArgTypeAny}} set_lcs0, {{ArgTypeAny}} polarization0, {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00, {{ArgTypeAny}} x_rot1, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot]360)====''
''ExampleDESCRIPTION: huygens_src("HS_1"Creates or modifies a revolution object from a specified object. If modifying an existing revolution object,"Huygens_1the pre-existing primitive object is used.HUY"(x0,1y0,100z0) specifies the center of revolution,100and (uX,0uY,0,0,0uZ)''specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.
Description: Creates a Huygens source. If the Huygens source 'label' already exists, its properties are modified.====rosen====
====transmitter_setSYNTAX: rosen({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} base_point_set[y, {{ArgTypeAnyArgTypeReal}} pattern_filea, {{ArgTypeAnyArgTypeReal}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_zb)====
EXAMPLE: ''Example: transmitter_setrosen("TX_1","PT_1","DPL_STD0.RAD"5,0,901,02)''
DescriptionDESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If Computes and returns the transmitter set 'label' already exists, its properties are modifiedRosenbrock function: (a-x)**2 + b*(y-x**2)**2.
====resistor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)rotate====
''ExampleSYNTAX: resistorrotate("Res_1"{{ArgTypeString}} object,"Line_1"{{ArgTypeAny}} rot_angle_degree,25{{ArgTypeAny}} rot_axis_x,50{{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)''
DescriptionEXAMPLE: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already existsrotate("pyramid_1", its properties are modified.45,1,1,0)''
====capacitorDESCRIPTION: Rotates an object about a line passing through its LCS center and aligned along the specified direction vector ({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} capacitance_pFrot_axis)====by the specified angle.
''Example: capacitor("Cap_1","Line_1",25,10)''====roughen====
DescriptionSYNTAX: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'roughen({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)
====inductorEXAMPLE: ''roughen({{ArgTypeString}} label"Rect_1", {{ArgTypeAny}} line_object1, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH5)====''
''ExampleDESCRIPTION: inductor("Cap_1","Line_1",25,10)''Roughens the surface of the specified object based on the specified RMS height and correlation length.
Description: Creates a inductor in [[EM.Tempo]]. If the inductor 'label' already exists, its properties are modified.====run_analysis====
====diodeSYNTAX: run_analysis({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)====
''ExampleDESCRIPTION: diode("Diode_1","Line_1",25,0,10,300,1)''Runs a simulation in the current active [[EM.Cube]] computational module.
Description: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modified.====save_data====
== EM.Cube's Python Functions for Observable Definition ==SYNTAX: save_data({{ArgTypeString}} directory_name)
====port_definition_defaultEXAMPLE: ''save_data({{ArgTypeString}} label"Simulation_Data")====''
''ExampleDESCRIPTION: port_definition_default("PD_1")'Saves [[EM.Cube]]'s output simulation data files under the specified directory.
Description: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.====sawtooth====
====port_definition_customSYNTAX: sawtooth({{ArgTypeStringArgTypeReal}} 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), ...x)====
EXAMPLE: ''Example: port_definition_custom("PD_1",("LS_1","LS_2",50),,sawtooth("LS_3","LS_4",50)0.5)''
DescriptionDESCRIPTION: Creates a custom port definition observable. If Computes and returns the observable '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.
====farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)scale====
''ExampleSYNTAX: farfieldscale("FF_1"{{ArgTypeString}} object,1,1{{ArgTypeAny}} scale_factor)''
DescriptionEXAMPLE: Creates a far-field radiation pattern observable. If the observable 'label' already existsscale("pyramid_1", its properties are modified.2)''
====rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)====DESCRIPTION: Scales an object by the specified scale factor.
''Example: rcs_bistatic("RCS_1",1,1)''====select_module====
DescriptionSYNTAX: Creates a bistatic RCS observable. If the observable 'label' already exists, its properties are modified.select_module({{ArgTypeString}} module_name)
====current_distEXAMPLE: ''select_module({{ArgTypeString}} label"[[EM.Tempo]]")====''
''ExampleDESCRIPTION: current_dist("CD_1")'Selects and sets [[EM.Cube]]'s active module.
Description: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified.====set_bandwidth====
====field_sensorSYNTAX: set_bandwidth({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamplesvalue)====
EXAMPLE: ''Example: field_sensorset_bandwidth("FS_1","z",0,0,0,100,100,0,25,25,01e9)''
DescriptionDESCRIPTION: Creates a near-field sensor observableSets [[EM. If the observable Cube]]'label' already exists, its properties are modifieds frequency bandwidth.
====field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)set_boundary_conditions====
''ExampleSYNTAX: field_sensor_gridset_boundary_conditions("FS_1"{{ArgTypeString}} xn_type,"z"{{ArgTypeString}} xp_type,0{{ArgTypeString}} yn_type,0{{ArgTypeString}} yp_type,0{{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)''
DescriptionEXAMPLE: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already existsset_domain_offset_lambda("pml", its properties are modified."pml","pml","pml","pec","pml")''
====field_probe({{ArgTypeString}} labelDESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on the ±X, {{ArgTypeAny}} x0±Y and ±Z boundary walls. The options are "pec", {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)===="pmc" and "pml".
''Example: field_probe("FS_1",0,0,50)''====set_domain_offset====
DescriptionSYNTAX: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable '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)
====receiver_setEXAMPLE: ''set_domain_offset({{ArgTypeString}} label20, {{ArgTypeAny}} base_point_set[20, {{ArgTypeAny}} pattern_file20, {{ArgTypeAny}} rot_x20, {{ArgTypeAny}} rot_y0, {{ArgTypeAny}} rot_z10)====''
''ExampleDESCRIPTION: receiver_set("TX_1"Sets the domain offset values along the ±X,"PT_1","DPL_STD±Y and ±Z directions in project units.RAD",0,90,0)''
Description: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, its properties are modified.====set_domain_offset_lambda====
====huygens_surfaceSYNTAX: set_domain_offset_lambda({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2dxn_offset, {{ArgTypeAny}} y2dxp_offset, {{ArgTypeAny}} z2dyn_offset, {{ArgTypeAny}} xSamplesdyp_offset, {{ArgTypeAny}} ySamplesdzn_offset, {{ArgTypeAny}} zSamplesdzp_offset)====
EXAMPLE: ''Example: huygens_surfaceset_domain_offset_lambda("HS_1",-10,-10,-10,100.1,100.1,100.1,400.1,400,400.25)''
DescriptionDESCRIPTION: Creates a Huygens surface observable. If Sets the observable 'label' already existsdomain offset values along the ±X, its properties are modified±Y and ±Z directions in free-space wavelengths.
====huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)set_frequency====
''ExampleSYNTAX: huygens_surface_gridset_frequency("HS_1",-10,-10,-10,10,10,10{{ArgTypeAny}} value)''
DescriptionEXAMPLE: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modifiedset_frequency(2.4e9)''
====voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Sets [[EM.Cube]]'s center frequency.
''Example: voltage_integral("FI_1",0,0,-10,0,0,10)''====set_lcs_link====
DescriptionSYNTAX: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already existsset_lcs_link({{ArgTypeString}} object, its properties are modified.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)
====current_integralEXAMPLE: ''set_lcs_link({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} x1"box_1", {{ArgTypeAny}} y150, {{ArgTypeAny}} z150, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z20)====''
''ExampleDESCRIPTION: current_integral("FI_1",-10,-10,0,10,10,0)''Links the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.
Description: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====set_periodic====
====conduction_current_integralSYNTAX: set_periodic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2is_periodic, {{ArgTypeAny}} y2spacingX, {{ArgTypeAny}} z2spacingY)====
EXAMPLE: ''Example: conduction_current_integralset_periodic("FI_1",-10,-10,0,101,1050,050)''
DescriptionDESCRIPTION: Creates a conduction current integral observable in [[EM.Ferma]]. If Designates the observable 'label' already exists, its properties are modifiedphysical structure as periodic and sets the periods along the X and Y directions.
====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)set_rot====
''ExampleSYNTAX: capacitanceset_rot("FI_1"{{ArgTypeString}} object,-10{{ArgTypeAny}} rot_x,-10{{ArgTypeAny}} rot_y,5,10,10,10,0,0,-10,0,0,10{{ArgTypeAny}} rot_z)''
DescriptionEXAMPLE: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already existsset_rot("pyramid_1", its properties are modified.0,0,45)''
====inductance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)====DESCRIPTION: Sets the three rotation angles of an object.
''Example: inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''====set_rot_link====
DescriptionSYNTAX: Creates a inductance integral observable in [[EM.Ferma]]. If the observable '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)
====resistanceEXAMPLE: ''set_rot_link({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} x1"box_1", {{ArgTypeAny}} y10, {{ArgTypeAny}} z10, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z445)====''
''ExampleDESCRIPTION: resistance("FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)''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 resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====set_stackup_order====
====flux_electricSYNTAX: set_stackup_order("THS", {{ArgTypeString}} labellabel_1, {{ArgTypeAnyArgTypeString}} x1label_2, {{ArgTypeAny}} y1..., {{ArgTypeAnyArgTypeString}} z1label_n, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2"BHS")====
EXAMPLE: ''Example: flux_electricbackground_layer("FI_1THS",-10"Top_Layer",-10"Mid_Layer",5,10"Bottom_Layer",10,10"BHS")''
DescriptionDESCRIPTION: Creates an electric flux integral observable in Sets the hierarchy of [[EM.FermaPicasso]]'s background layer stackup from top to bottom. If The sequence should always start with "THS" standing for the observable 'label' already exists, its properties are modifiedtop 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.
====flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)set_units====
''ExampleSYNTAX: flux_magneticset_units("FI_1",0,0,-10,10,0,10{{ArgTypeString}} units)''
DescriptionEXAMPLE: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.set_units("meter")''
====energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Sets [[EM.Cube]]'s project length units.
''Example: energy_electric("FI_1",-10,-10,-10,10,10,10)''====sgn====
DescriptionSYNTAX: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.sgn({{ArgTypeReal}} x)
====energy_magneticEXAMPLE: ''sgn({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2-1.0)====''
''ExampleDESCRIPTION: energy_magnetic("FI_1"Computes and returns the signum function: 1 if x>0,-10,-10,-10,10,10,10)''1 if x<0.
Description: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====short_dipole====
====ohmic_lossSYNTAX: short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} x1x0, {{ArgTypeAny}} y1y0, {{ArgTypeAny}} z1z0, {{ArgTypeAny}} x2length, {{ArgTypeAny}} y2uX, {{ArgTypeAny}} z2uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)====
EXAMPLE: ''Example: ohmic_lossshort_dipole("FI_1SD_1",-100,0,50,3,-100,-100,101,101,100)''
DescriptionDESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]a Hertzian short dipole source. If the observable short dipole source 'label' already exists, its properties are modified.
====solution_plane({{ArgTypeString}} label, {{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)sigmoid====
''ExampleSYNTAX: solution_planesigmoidnc("FI_1"{{ArgTypeReal}} x,"FS_1",1{{ArgTypeReal}} a)''
DescriptionEXAMPLE: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modifiedsigmoid(0.5,1)''
== EM.Cube's Python Functions for SimulationDESCRIPTION: Computes and returns the sigmoid function of slope a: 2/(1 + exp(-Related Functions & Operations ==a*x)) - 1.
====select_module({{ArgTypeString}} module_name)sinc====
''ExampleSYNTAX: select_modulesinc("[[EM.Tempo]]"{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Selects and sets [[EM.Cube]]'s active module'sinc(0.5)''
====set_unitsDESCRIPTION: Computes and returns the sinc function: sin({{ArgTypeString}} unitspi*x)====/(pi*x).
''Example: set_units("meter")''====slice====
DescriptionSYNTAX: Sets [[EM.Cube]]'s project length units.slice({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)
====set_frequencyEXAMPLE: ''slice({{ArgTypeAny}} value"Rect_1",5)====''
''ExampleDESCRIPTION: set_frequency(2Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.4e9)''
Description: Sets [[EM.Cube]]'s center frequency.====slot_group====
====set_bandwidthSYNTAX: slot_group({{ArgTypeAnyArgTypeString}} valuelabel)====
EXAMPLE: ''Example: set_bandwidthslot_group(1e9"PMC_1")''
DescriptionDESCRIPTION: Sets [[EMCreates a slot trace group in the current module.Cube]]If the slot trace group 's frequency bandwidthlabel' already exists, the group is activated.
====background_layer({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness)solution_plane====
''ExampleSYNTAX: background_layersolution_plane("Mid_Layer"{{ArgTypeString}} label,3.3{{ArgTypeAny}} field_sensor_label,0.001,1,1.5{{ArgTypeAny}} is_quasi)''
DescriptionEXAMPLE: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.'solution_plane("FI_1","FS_1",1)''
====delete_background_layer({{ArgTypeString}} DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label)====' already exists, its properties are modified.
''Example: delete_background_layer("Mid_Layer")''====sphere====
DescriptionSYNTAX: Deletes a finite-thickness substrate layer from sphere({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[[EM.Picasso], {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]'s background layer stackup.)
====set_stackup_orderEXAMPLE: ''sphere("THSSphere_1", {{ArgTypeString}} label_10, {{ArgTypeString}} label_20, ...0, {{ArgTypeString}} label_n10, "BHS"0,180)====''
''ExampleDESCRIPTION: background_layer("THS"Draws a sphere object in the project workspace under the currently activated Material Group node,"Top_Layer","Mid_Layer","Bottom_Layer","BHS")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: 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. ====spiral_curve====
====global_groundSYNTAX: spiral_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} ground_onnturns, {{ArgTypeAny}} epsspiral_dir, {{ArgTypeAny}} sigmais_dual)====
EXAMPLE: ''Example: global_groundspiral_curve(1"Spiral _1",3.30,0,0,10,50,5,0,0.001)''
DescriptionDESCRIPTION: Set Draws a spiral 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 spiral curve named 'label' if it already exists. A zero value for ground_on means to no global ground assumed at Z = 0If the Boolean parameter "spiral_dir" is 1, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawn.
====delete({{ArgTypeString}} node_name)spiral_strip====
''ExampleSYNTAX: deletespiral_strip("Box_1"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)''
DescriptionEXAMPLE: Deletes a node name from the navigation tree. The node can be any geometric object''spiral_strip("Spiral _1", source0, observable or material group. 0,0,10,50,5,0,0)''
====rename({{ArgTypeString}} new_labelDESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, {{ArgTypeString}} old_label)====or modifies the spiral strip named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, a dual-arm spiral curve will be drawn.
''Example: rename("Box_2","Box_1")''====spline_fit====
DescriptionSYNTAX: Deletes a node name from the navigation tree. The node can be any geometric spline_fit({{ArgTypeString}} object, source, observable or material group. )
====zoom_extentsEXAMPLE: ''spline_fit("Poly_1")====''
DescriptionDESCRIPTION: Zooms to Applies spline fit the extents of the physical structure into the screentransformation on a specified polymesh, polyline or polystrip object.
====get_domain_extent({{ArgTypeString}} coordinate)spline2====
''ExampleSYNTAX: get_domain_extentspline2("{{ArgTypeReal}} x")''
DescriptionEXAMPLE: Returns the size of the computational domain along the specified direction''spline2(1.0)''
====set_domain_offset({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)====DESCRIPTION: Computes and returns the quadratic B-spline function.
''Example: set_domain_offset(20,20,20,20,0,10)''====spline3====
DescriptionSYNTAX: Sets the domain offset values along the ±X, ±Y and ±Z directions in project units.spline3({{ArgTypeReal}} x)
====set_domain_offset_lambdaEXAMPLE: ''spline3({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset1.0)====''
''ExampleDESCRIPTION: set_domain_offset_lambda(0Computes and returns the cubic B-spline function.1,0.1,0.1,0.1,0,0.25)''
Description: Sets the domain offset values along the ±X, ±Y and ±Z directions in free-space wavelengths.====sqr_wave====
====set_boundary_conditionsSYNTAX: sqr_wave({{ArgTypeStringArgTypeReal}} xn_type, {{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_typex)====
EXAMPLE: ''Example: set_domain_offset_lambdasqr_wave("pml","pml","pml","pml","pec","pml"0.5)''
DescriptionDESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on Computes and returns the ±Xperiodic square wave function of period T = 2, ±Y oscillating between two values +1 and ±Z boundary walls. The options are "pec", "pmc" -1 and "pml"having a value of +1 at x = 0.
====add_variable({{ArgTypeString}} var_name, {{ArgTypeAny}} value)sqr2====
''ExampleSYNTAX: add_variablesqr2("MyVar"{{ArgTypeReal}} x,1{{ArgTypeReal}} y)''
DescriptionEXAMPLE: Adds a new variable to [[EM.Cube]]'s variable list.'sqr2(0,1)''
====run_analysis()====DESCRIPTION: Computes and returns the sum of squares of x and y: x**2 + y**2.
Description: Runs a simulation in the current active [[EM.Cube]] computational module.====sqr3====
====set_periodicSYNTAX: sqr2({{ArgTypeAnyArgTypeReal}} is_periodicx, {{ArgTypeAnyArgTypeReal}} spacingXy, {{ArgTypeAnyArgTypeReal}} spacingYz) ====
EXAMPLE: ''Example: set_periodicsqr2(10,501,502)''
DescriptionDESCRIPTION: Designates the physical structure as periodic Computes and sets returns the periods along the X sum of squares of x, y and Y directionsz: x**2 + y**2 + z**2.
====get_standard_output({{ArgTypeString}} output_name) sqrt2====
''ExampleSYNTAX: get_standard_outputsqrt2("S11M"{{ArgTypeReal}} x, {{ArgTypeReal}} y)''
DescriptionEXAMPLE: Returns the computed value of the specified standard output parameter at the end of a simulation.''sqrt2(0,1)''
====save_dataDESCRIPTION: Computes and returns the radius of the 2D point ({{ArgTypeString}} directory_namex,y) ====: sqrt(x**2 + y**2).
''Example: save_data("Simulation_Data")''====sqrt3====
DescriptionSYNTAX: Saves [[EM.Cube]]'s output simulation data files under the specified directory.sqrt3({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
====plot_fileEXAMPLE: ''sqrt3({{ArgTypeString}} filename0,1,2) ====''
''ExampleDESCRIPTION: plot_fileComputes and returns the radius of the 3D point ("D0.DAT"x,y,z)'': sqrt(x**2 + y**2 + z**2).
Description: Plots the contents of a specified data file in EM.Grid.====step====
====meshSYNTAX: step({{ArgTypeReal}} x)====
DescriptionEXAMPLE: Generates and displays the mesh of the physical structure''step(1.0)''
DESCRIPTION: Computes and returns the unit step function: 1 if x>0, 0 if x<0. ====strip_sweep====emtempo_mesh_settings SYNTAX: strip_sweep({{ArgTypeString}} object, {{ArgTypeAny}} cells_per_lambdawidth) EXAMPLE: ''strip_sweep("Curve_1",5)'' DESCRIPTION: Creates a strip version of a given curve object. ====subtract==== SYNTAX: subtract({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2) EXAMPLE: ''subtract("Subtract_Object","Rect_Strip1","Rect_Strip2")'' 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. ====superquad==== SYNTAX: superquad({{ArgTypeString}} label, {{ArgTypeAny}} ratio_contourx0, {{ArgTypeAny}} ratio_thiny0, {{ArgTypeAny}} ratio_absz0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order) EXAMPLE: ''superquad("SuperQuad_1",0,0,0,50,20,4)'' DESCRIPTION: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already exists. If order =2, the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.  ====taper_strip==== SYNTAX: taper_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo) EXAMPLE: ''taper_strip("ts_1",0,0,0,50,100,80,1)'' DESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn.  ====terrain_group==== SYNTAX: terrain_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''terrain_group("Terrain_1",5.0,0.0001)'' DESCRIPTION: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already exists, the group is activated. ====thinwire_group==== SYNTAX: thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius) EXAMPLE: ''thinwire_group("Thinwire_1",4)'' DESCRIPTION: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, the group is activated. ====torus==== SYNTAX: torus({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]) EXAMPLE: ''torus("Torus_1",0,0,0,50,20)'' DESCRIPTION: 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 torus's azimuth axis. ====translate_by==== SYNTAX: translate_by({{ArgTypeString}} object, {{ArgTypeReal}} x_dist, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist) EXAMPLE: ''translate_by("MyObj",10,10,x)'' DESCRIPTION: Translates an object by the specified distances in each direction. ====translate_to==== SYNTAX: translate_to({{ArgTypeString}} object, {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest) EXAMPLE: ''translate_to("MyObj",20,20,x2)'' DESCRIPTION: Translates an object to the specified destination. ====transmitter_set==== SYNTAX: transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z) EXAMPLE: ''transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)'' DESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, its properties are modified. ====tri==== SYNTAX: tri({{ArgTypeReal}} x) EXAMPLE: ''tri(0.1)'' DESCRIPTION: Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere. ====tri_wave==== SYNTAX: tri_wave({{ArgTypeReal}} x) EXAMPLE: ''tri_wave(0.5)'' DESCRIPTION: Computes and returns the periodic triangular wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0. ====triangle_strip==== SYNTAX: triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle) EXAMPLE: ''triangle_strip("ts_1",0,0,0,50,100,90)'' DESCRIPTION: Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'label' if it already exists.
''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> </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]]'''