<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="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description!scope="col"| Notes|-| style="widthEXAMPLE:100px;" | microstrip_design''activate(z0,er)| style="width:150px;Color_1" | EMAG Python function| style="width:250px;" | Returns the width-to-height ratio of a microstrip transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, er: substrate permittivity|-| style="width:100px;" | microstrip_z0(w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the characteristic impedance of a microstrip transmission line in Ohms | style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | microstrip_eps_eff(w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the effective permittivity of a microstrip transmission line | style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | microstrip_lambda_g(w,h,er,freq_hertz)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the guide wavelength of a microstrip transmission line in meters| style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity, freq_hertz: frequency in Hz|-| style="width:100px;" | cpw_design_w(z0,s,h,er)| style="width:150px;" | EMAG Python function| 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|-| style="width:100px;" | cpw_design_s(z0,w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the center strip width (or slot spacing) of a coplanar waveguide (CPW) transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, w: slot width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | coaxial_design(z0,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the ratio of radius of the outer conductor to the radius of the inner condutcor of a coaxial transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, er: core permittivity|-| style="width:100px;" | waveguide_design(er,freq_hertz)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the minimum larger dimension in meter of the cross section of a hollow rectangular waveguide above cutoff | style="width:250px;" | er: filling permittivity, freq_hertz: frequency in Hz|-| 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 | style="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="width:100px;" | horn_design_b(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna | style="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="width:100px;" | horn_design_l(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized length of an optimal pyramidal horn antenna | style="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 |}''
== DESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube's Python Functions ]] module for Geometric Object Creation ==insertion of new objects.
====boxadd_variable====
SYNTAX: boxadd_variable({{ArgTypeString}} labelvar_name, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom]value)
EXAMPLE: ''boxadd_variable("Box_1MyVar",0,0,0,50,50,1001)''
DESCRIPTION: Draws Adds a box object in the project workspace under the currently activated material group node, or modifies the box named new variable to [[EM.Cube]]'label' if it already existss variable list.
====cylinderarray====
SYNTAX: cylinderarray({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeString}} z0object, {{ArgTypeAny}} radiusx_count, {{ArgTypeAny}} height[y_count, {{ArgTypeAny}} start_anglez_count, {{ArgTypeAny}} end_anglex_spacing, {{ArgTypeAny}} cap_topy_spacing, {{ArgTypeAny}} cap_bottom]z_spacing)
EXAMPLE: ''cylinderarray("Cylinder_1Array_1",0"Rect_Strip_1",04,04,101,10050,50,0)''
DESCRIPTION: Draws a cylinder object in the project workspace under the currently activated material group node, Creates or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axisan array object.
====conearray_custom====
SYNTAX: conearray_custom({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0x_count, {{ArgTypeAny}} y0y_count, {{ArgTypeAny}} z0z_count, {{ArgTypeAny}} base_radiusx_spacing, {{ArgTypeAny}} height[y_spacing, {{ArgTypeAny}} top_radiusz_spacing, {{ArgTypeAny}} start_anglex0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} end_anglerot_x, {{ArgTypeAny}} cap_toprot_y, {{ArgTypeAny}} cap_bottom]rot_z)
EXAMPLE: ''conearray_custom("Cone_1Array_1",0"Rect_Strip_1",04,4,1,50,50,0,30100,40100,20,0,1800,45)''
DESCRIPTION: Draws a cone object in the project workspace under the currently activated material group node, Creates or modifies the cone named 'label' if it already exists. The arguments start_angle an array object and end_angle are in degrees sets its local coordinate system and specify a sweep about the cone's azimuth axisrotation angles.
====pyramidbackground_layer====
SYNTAX: pyramidbackground_layer({{ArgTypeString}} label, {{ArgTypeAny}} x0eps, {{ArgTypeAny}} y0sigma, {{ArgTypeAny}} z0mu, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} heightthickness)
EXAMPLE: ''pyramidbackground_layer("Pyramid_1Mid_Layer",03.3,0.001,0,10,101,1001.5)''
DESCRIPTION: Draws Adds a pyramid object in the project workspace under the currently activated material group node, or modifies the pyramid named new substrate layer to [[EM.Picasso]]'label' if it already existss background layer stackup.
====spherebase_point_group====
SYNTAX: spherebase_point_group({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
EXAMPLE: ''spherebase_point_set("Sphere_1BP_Set_1",0,0,0,10,0,180)''
DESCRIPTION: Draws Creates a sphere object base point set in [[EM.Terrano]]. If the project workspace under the currently activated Material Group node, or modifies the sphere named base point set group 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about , the sphere's azimuth axisgroup is activated.
====ellipsoidbh_step====
SYNTAX: ellipsoidbh_step({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]T)
EXAMPLE: ''ellipsoidbh_step("Ellipsoid_1",0,0,0,100,100,50,0.5,3601)''
DESCRIPTION: Draws an ellipsoid object in the project workspace under the currently activated material group node, or modifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees Computes and specify a sweep about returns the ellipsoid's azimuth axisBlackman-Harris step function.
====torusbh_window====
SYNTAX: torusbh_window({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]T)
EXAMPLE: ''torusbh_window("Torus_1",0.5,0,0,50,201)''
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 Computes and specify a sweep about returns the torus's azimuth axisBlackman-Harris window function.
====rect_stripbox====
SYNTAX: rect_stripbox({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_xbase_x, {{ArgTypeAny}} side_ybase_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
EXAMPLE: ''rect_stripbox("my_rectangleBox_1",0,0,0,50,2050,100)''
DESCRIPTION: Draws a rectangle Strip box object in the project workspace under the currently activated material group node, or modifies the rectangle strip object box named 'label' if it already exists. ====capacitance==== SYNTAX: capacitance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4) EXAMPLE: ''capacitance("FI_1",-10,-10,5,10,10,10,0,0,-10,0,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====
DESCRIPTION: Draws a circle strip object in the project workspace under the currently activated material group node, or modifies the circle strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the circle strip's azimuth axis.
====radial_stripcircle====
SYNTAX: radial_stripcircle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_lengthstart_angle, {{ArgTypeAny}} angleend_angle)
EXAMPLE: ''radial_stripcircle("Radial_1pyramid_1",0,0,0,5010,010,90100)''
DESCRIPTION: Draws a radial strip circular curve object in the project workspace under the currently activated material group node, or modifies the radial strip object circle named 'label' if it already exists. The parameters start_angle and end_angle are in degrees.
====ellipse_stripclone====
SYNTAX: ellipse_stripclone({{ArgTypeString}} label, {{ArgTypeAnyArgTypeString}} x0object, {{ArgTypeAnyArgTypeReal}} y0x0, {{ArgTypeAnyArgTypeReal}} z0y0, {{ArgTypeAnyArgTypeReal}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]z0)
EXAMPLE: ''ellipse_stripclone("es_1NewObj",0,0"MyObj",010,5010,0)''
DESCRIPTION: Draws Creates a ellipse strip object in copy of the project workspace under the currently activated material group node, or modifies the ellipse strip specified object named 'label' if and repositions it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about at the ellipse strip's azimuth axisgiven coordinates.
====triangle_stripclose_curve====
SYNTAX: triangle_stripclose_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAnyArgTypeString}} angleclose_state)
EXAMPLE: ''triangle_stripclose_curve("ts_1Curve_1",0,0,0,50,100,901)''
DESCRIPTION: Draws Sets the open/close state of a triangle strip object in the project workspace under the currently activated material group node, polyline or modifies the triangle strip object named 'label' if it already existsNURBS curve. Use 0 for open curve and 1 for close curve.
====taper_stripcoaxial_design====
SYNTAX: taper_stripcoaxial_design({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeReal}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAnyArgTypeReal}} is_expoer)
EXAMPLE: ''taper_stripcoaxial_design("ts_1",0,0,0,50,100,80,12.2)''
DESCRIPTION: Draws a taper strip object in Computes and returns the project workspace under ratio of the currently activated material group node, or modifies radius of the taper strip object named 'label' if it already exists. If outer conductor to the Boolean parameters "is_expo" is 1, an exponential taper will be drawnradius of the inner conductor of a coaxial transmission line of characteristic impedance z0 (in Ohms) with core relative permittivity er.
====polygon_regcoaxial_src====
SYNTAX: polygon_regcoaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} x0cylinder_object, {{ArgTypeAny}} y0outer_radius, {{ArgTypeAny}} z0edge[, {{ArgTypeAny}} radiusamplitude, {{ArgTypeAny}} n_sidesphase, {{ArgTypeAny}} resistance])
EXAMPLE: ''polygon_regcoaxial_src("ts_1COAX_1",0,0,0,50,100,80"Cyl_1",1.5,"+z")''
DESCRIPTION: Draws Creates a regular polygon object coaxial port source in [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the regular polygon object named coaxial port 'label' if it already exists, its properties are modified.
====spiral_stripcolor_group====
SYNTAX: spiral_stripcolor_group({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
EXAMPLE: ''spiral_stripcolor_group("Spiral _1Color_1",0,0,0,10,50,5,0,0)''
DESCRIPTION: Draws Creates a spiral strip object color group in CubeCAD module. If the project workspace under the currently activated material color group node, 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" group is 1, a dual-arm spiral curve will be drawnactivated.
====polystripconduction_current_integral====
SYNTAX: polystripconduction_current_integral({{ArgTypeString}} label, {{ArgType| 3x1 Python tupleArgTypeAny}} p0x1, {{ArgType| 3x1 Python tupleArgTypeAny}} p1y1, ... {{ArgType| 3x1 Python tupleArgTypeAny}} pnz1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
EXAMPLE: ''polystripconduction_current_integral("ps_1FI_1",(0-10,0-10,0),(110,0,0),(1,010,0))''
DESCRIPTION: Creates or modifies a Polystrip object conduction current integral observable in the project workspace[[EM. Each point is represented with a Python tuple typeFerma]]. The poly_strip function is If the observable 'self-closinglabel' -- there is no need to supply the first point again at the end of the point listalready exists, its properties are modified.
====nurbs_stripconductive_sheet_group====
SYNTAX: nurbs_stripconductive_sheet_group({{ArgTypeString}} label, {{ArgType| 3x1 Python tupleArgTypeAny}} p0sigma, {{ArgType| 3x1 Python tupleArgTypeAny}} p1, ... {{ArgType| 3x1 Python tuple}} pnthickness)
EXAMPLE: ''nurbs_stripconductive_sheet_group("ns_1Cond_1",(0,0,0),(1,0,0),(1,0100,0).01)''
DESCRIPTION: Creates or modifies a NURBS Strip object conductive sheet group in the project workspace[[EM. Each point is represented with a Python tuple typePicasso]]. The nurbs_strip function is If the conductive sheet group 'self-closinglabel' -- there already exists, the group is no need to supply the first point again at the end of the point listactivated.
====linecone====
SYNTAX: linecone({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} lengthbase_radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} dirtop_radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
EXAMPLE: ''linecone("my_lineCone_1",0,0,0,10030,"x"40,20,0,180)''
DESCRIPTION: Draws a Line cone object in the project workspace under the currently activated material group node, or modifies the line cone named 'label' if it already exists. Without the argument "dir", The arguments start_angle and end_angle are in degrees and specify a vertical line is drawn by defaultsweep about the cone's azimuth axis.
====circleconsolidate====
SYNTAX: circleconsolidate({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angleobject)
EXAMPLE: ''circleconsolidate("pyramid_1Poly_1",0,0,0,10,10,100)''
DESCRIPTION: Draws Consolidates a circular curve specified 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.
====superquadcpw_design_s====
SYNTAX: cpw_design_s({{ArgTypeReal}} z0, {{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
SYNTAXEXAMPLE: superquad''cpw_design_s({{ArgTypeString}} label50, {{ArgTypeAny}} x02, {{ArgTypeAny}} y00.5, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order2.2)''
EXAMPLEDESCRIPTION: ''superquadComputes and returns the center strip width ("SuperQuad_1"in meters) of a CPW transmission line of characteristic impedance z0 with slot width w,0,0,0,50,20,4)''substrate height h and substrate relative permittivity er.
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. ===cpw_design_w====
====parabola====SYNTAX: cpw_design_w({{ArgTypeReal}} z0, {{ArgTypeReal}} s, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
SYNTAXEXAMPLE: parabola''cpw_design_w({{ArgTypeString}} label50, {{ArgTypeAny}} x01, {{ArgTypeAny}} y00.5, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only2.2)''
EXAMPLEDESCRIPTION: ''parabolaComputes and returns the slot width ("Parabola _1"in meters) of a CPW transmission line of characteristic impedance z0 with center strip width s,0,0,0,50,20,0)''substrate height h and substrate relative permittivity er.
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. ====cpw_src====
====hyperbola====SYNTAX: cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
SYNTAXEXAMPLE: hyperbola''cpw_src({{ArgTypeString}} label"CPW_1", {{ArgTypeAny}} x0"Rect_1", {{ArgTypeAny}} y01.5, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only"+x")''
EXAMPLEDESCRIPTION: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label'hyperbola("Hyperbola _1"already exists,0,0,0,50,40,20,0)''its properties are modified.
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. ====cubecad_mesh_settings====
====spiral_curve====SYNTAX: cubecad_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol)
EXAMPLE: ''cubecad_mesh_settings(5,10)''
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 CubeCAD's mesh generator.
EXAMPLE: ''spiral_curve("Spiral _1",0,0,0,10,50,5,0,0)''====current_dist====
DESCRIPTIONSYNTAX: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'current_dist({{ArgTypeString}} 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. )
====helix====EXAMPLE: ''current_dist("CD_1")''
SYNTAXDESCRIPTION: helix({{ArgTypeString}} Creates a current distribution observable. If the observable 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)its properties are modified.
EXAMPLE: ''helix("Helix_1",0,0,0,15,15,10,0)''====current_integral====
DESCRIPTIONSYNTAX: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'current_integral({{ArgTypeString}} label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1{{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, the helical curve will be drawn counter-clockwise. {{ArgTypeAny}} z2)
====polyline====EXAMPLE: ''current_integral("FI_1",-10,-10,0,10,10,0)''
SYNTAXDESCRIPTION: polyline({{ArgTypeString}} Creates a current 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: ''polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))''====cylinder====
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 pncylinder({{ArgTypeString}} label, otherwise{{ArgTypeAny}} x0, it is open.{{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
====nurbs_curve====EXAMPLE: ''cylinder("Cylinder_1",0,0,0,10,100)''
SYNTAXDESCRIPTION: nurbs_curve({{ArgTypeString}} Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, .' if it already exists.The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis. {{ArgType| 3x1 Python tuple}} pn)
EXAMPLE: ''nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))''====delete====
DESCRIPTIONSYNTAX: Creates or modifies a NURBS Curve object in the project workspace. Each point is represented with a Python tuple type. The curve is closed if p0 is specified again as pn, otherwise, it is open.delete({{ArgTypeString}} node_name)
====point====EXAMPLE: ''delete("Box_1")''
SYNTAXDESCRIPTION: point({{ArgTypeString}} labelDeletes a node name from the navigation tree. The node can be any geometric object, {{ArgTypeAny}} x0source, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)observable or material group.
EXAMPLE: ''point("Point_1",0,0,10)''====delete_background_layer====
DESCRIPTIONSYNTAX: Draws a point in the project workspace under the currently activated material group node, or modifies the point named 'delete_background_layer({{ArgTypeString}} label' if it already exists.)
====fractal_tree====EXAMPLE: ''delete_background_layer("Mid_Layer")''
SYNTAXDESCRIPTION: fractal_tree({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} key_type, {{ArgTypeAny}} key_size, {{ArgTypeAny}} n_level, {{ArgTypeAny}} sep_angle, {{ArgTypeAny}} n_gen, {{ArgTypeAny}} prune_factor, {{ArgTypeAny}} Deletes a finite-thickness, {{ArgTypeAny}} thick_factor)substrate layer from [[EM.Picasso]]'s background layer stackup.
EXAMPLE: ''fractal_tree("Fractal_1",0,0,0,"line",10,3,30,3,0,0,0)''====dielectric_group====
DESCRIPTIONSYNTAX: Generates a fractal tree in the project workspace under the currently activated material group node, or modifies the fractal tree named 'dielectric_group({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho)
====param_curve====EXAMPLE: ''dielectric_group("Dielectric_1","my_eps",0,1,0)''
SYNTAXDESCRIPTION: param_curve({{ArgTypeString}} Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)])the group is activated.
EXAMPLE: ''param_curve("Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''====diode====
DESCRIPTIONSYNTAX: Generates a parametric curve in the project workspace under the currently activated material group node, or modifies the parametric curve named 'diode({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)
====param_surface====EXAMPLE: ''diode("Diode_1","Line_1",25,0,10,300,1)''
SYNTAXDESCRIPTION: param_surface({{ArgTypeString}} Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function)its properties are modified.
EXAMPLE: ''param_surface("Surf_1",0,0,0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")''====distributed_src====
DESCRIPTIONSYNTAX: Generates a parametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'distributed_src({{ArgTypeString}} label' if it already exists., {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
====import_stl====EXAMPLE: ''distributed_src("DS_1","Rect_1","+y","uniform")''
SYNTAXDESCRIPTION: import_stl({{ArgTypeString}} file_name)Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.
EXAMPLE: ''import_stl("MySTLModel.STL")''====ellipse_strip====
DESCRIPTIONSYNTAX: Imports an external STL model file to the project workspace. If the file path is not specifiedellipse_strip({{ArgTypeString}} label, the current project folder is assumed as the path.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
====import_dxf====EXAMPLE: ''ellipse_strip("es_1",0,0,0,50,0)''
SYNTAXDESCRIPTION: import_dxf({{ArgTypeString}} file_name)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.
EXAMPLE: ''import_dxf("MyDXFModel.DXF")''====ellipsoid====
DESCRIPTIONSYNTAX: Imports an external DXF model file to the project workspace. If the file path is not specifiedellipsoid({{ArgTypeString}} label, the current project folder is assumed as the path.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
====import_stp====EXAMPLE: ''ellipsoid("Ellipsoid_1",0,0,0,100,100,50,0,360)''
SYNTAXDESCRIPTION: import_stp({{ArgTypeString}} file_name)Draws an ellipsoid object in the project workspace under the currently activated material group node, or modifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipsoid's azimuth axis.
EXAMPLE: ''import_stp("MySTPModel.STP")''====emferma_engine_settings====
DESCRIPTIONSYNTAX: Imports an external STEP model file to the project workspace. If the file path is not specifiedemferma_engine_settings({{ArgTypeString}} matrix_solver, the current project folder is assumed as the path.{{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
====import_igs====EXAMPLE: ''emferma_engine_settings("bicg-stab",1e-3,100)''
SYNTAXDESCRIPTION: import_igs({{ArgTypeString}} file_name)Sets the parameters of [[EM.Ferma]]'s electrostatic and magnetostatic simulation engines.
EXAMPLE: ''import_igs("MyIGSModel.IGS")''====emferma_mesh_settings====
DESCRIPTIONSYNTAX: Imports an external IGES model file to the project workspace. If the file path is not specifiedemferma_mesh_settings({{ArgTypeAny}} cell_size_x, the current project folder is assumed as the path.{{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z)
====import_py====EXAMPLE: ''emferma_mesh_settings(0.5,0.5,0.5)''
SYNTAXDESCRIPTION: import_py({{ArgTypeString}} file_name)Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator.
EXAMPLE: ''import_py("MyPYModel.PY")''====emillumina_engine_settings====
DESCRIPTIONSYNTAX: Imports a Python geometry file to the project workspace. The default path is the Python subfolder under "Documents → EMAG".emillumina_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} is_fixed_iteration, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
====export_stl====EXAMPLE: ''emillumina_engine_settings("ipo",0,1e-2,20)''
SYNTAXDESCRIPTION: export_stl({{ArgTypeString}} file_name)Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine.
====emillumina_mesh_settings==== SYNTAX: emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''export_stlemillumina_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s mesh generator. ====emlibera_engine_settings_smom==== SYNTAX: emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha) EXAMPLE: ''emlibera_engine_settings_smom("MySTLModelbicg",1e-3,1000,4,"efie",0.STL4)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s surface MoM simulation engines. ====emlibera_engine_settings_wmom==== SYNTAX: emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''emlibera_engine_settings_wmom("bicg",1e-3,1000)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s wire MoM simulation engines. ====emlibera_mesh_settings==== SYNTAX: emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''emlibera_mesh_settings(30)'' DESCRIPTION: Sets the parameters of [[EM.Libera]]'s mesh generator. ====empicasso_engine_settings====
SYNTAX: empicasso_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations) EXAMPLE: ''empicasso_engine_settings("bicg",1e-3,1000)'' DESCRIPTION: Exports Sets the physical structure parameters of [[EM.Picasso]]'s planar MoM simulation engine. ====empicasso_mesh_settings==== SYNTAX: empicasso_mesh_settings({{ArgTypeAny}} cells_per_lambda) EXAMPLE: ''empicasso_mesh_settings(30)'' DESCRIPTION: Sets the project workspacean to parameters of [[EM.Picasso]]'s planar hybrid mesh generator. ====emtempo_engine_settings==== SYNTAX: emtempo_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps) EXAMPLE: ''emtempo_engine_settings("single-precision",-50,20000)'' DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s FDTD simulation engine. ====emtempo_mesh_settings==== SYNTAX: emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambda, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs) EXAMPLE: ''emtempo_mesh_settings(30,0.1,0.1,0.02)'' DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator. ====emterrano_engine_settings==== SYNTAX: emterrano_engine_settings({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold) EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine. ====emterrano_mesh_settings==== SYNTAX: emterrano_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol) EXAMPLE: ''emterrano_mesh_settings(5,10)'' DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s facet mesh generator. ====energy_electric==== SYNTAX: energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_electric("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates an STL model fileelectric energy integral observable in [[EM.Ferma]]. If the file path is not specifiedobservable 'label' already exists, its properties are modified. ====energy_magnetic==== SYNTAX: energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the current project folder is assumed as the pathobservable 'label' already exists, its properties are modified. ====explode==== SYNTAX: explode({{ArgTypeString}} object) EXAMPLE: ''explode("MyArray")'' DESCRIPTION: Explodes an object into its basic primitives.
====export_dxf====
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".
== EM.Cube's Python Functions for Geometric Object Transformation ==export_stl====
====freeze====SYNTAX: export_stl({{ArgTypeString}} file_name)
SYNTAXEXAMPLE: freeze''export_stl({{ArgTypeString}} object, {{ArgTypeReal}} freeze_state"MySTLModel.STL")''
EXAMPLEDESCRIPTION: ''freeze("MyObj"Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified,1)''the current project folder is assumed as the path.
DESCRIPTION: Sets the freeze state of an object (0/1). ====extrude====
====move_to====SYNTAX: extrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends)
SYNTAXEXAMPLE: move_to''extrude({{ArgTypeString}} object"Extrude_1", {{ArgTypeString}} group_node_label["Rect_Strip1", {{ArgTypeString}} module_name]50)''
EXAMPLEDESCRIPTION: ''move_to("NewObj" Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object,"MyObj",10,10,0)'the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the face's normal.
DESCRIPTION: Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module. ====farfield====
====clone====SYNTAX: farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)
SYNTAXEXAMPLE: clone''farfield({{ArgTypeString}} label"FF_1", {{ArgTypeString}} object1, {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z01)''
EXAMPLEDESCRIPTION: Creates a far-field radiation pattern observable. If the observable 'label'clone("NewObj"already exists,"MyObj",10,10,0)''its properties are modified.
DESCRIPTION: Creates a copy of the specified object and repositions it at the given coordinates. ====field_probe====
====translate_by====SYNTAX: field_probe({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
SYNTAXEXAMPLE: translate_by''field_probe({{ArgTypeString}} object"FS_1", {{ArgTypeReal}} x_dist0, {{ArgTypeReal}} y_dist0, {{ArgTypeReal}} z_dist50)''
EXAMPLEDESCRIPTION: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label'translate_by("MyObj"already exists,10,10,x)''its properties are modified.
DESCRIPTION: Translates an object by the specified distances in each direction.====field_sensor====
====translate_to====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)
SYNTAXEXAMPLE: translate_to''field_sensor({{ArgTypeString}} object"FS_1", {{ArgTypeReal}} x_dest"z", {{ArgTypeReal}} y_dest0, {{ArgTypeReal}} z_dest0,0,100,100,0,25,25,0)''
EXAMPLEDESCRIPTION: Creates a near-field sensor observable. If the observable 'label'translate_to("MyObj"already exists,20,20,x2)''its properties are modified.
DESCRIPTION: Translates an object to the specified destination.====field_sensor_grid====
====rotate====SYNTAX: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
SYNTAXEXAMPLE: rotate''field_sensor_grid({{ArgTypeString}} object"FS_1", {{ArgTypeAny}} rot_angle_degree"z", {{ArgTypeAny}} rot_axis_x0, {{ArgTypeAny}} rot_axis_y0, {{ArgTypeAny}} rot_axis_z0)''
EXAMPLEDESCRIPTION: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label'rotate("pyramid_1"already exists,45,1,1,0)''its properties are modified.
DESCRIPTION: Rotates an object about a line passing through its LCS center and aligned along the specified direction vector (rot_axis) by the specified angle.====fill_curve====
====scale====SYNTAX: fill_curve({{ArgTypeString}} object)
SYNTAXEXAMPLE: scale''fill_curve({{ArgTypeString}} object, {{ArgTypeAny}} scale_factor"Curve_1")''
EXAMPLEDESCRIPTION: ''scale("pyramid_1",2)''Fill the interior of the specified closed curve object.
DESCRIPTION: Scales an object by the specified scale factor.====fillet====
====get_length====fillet({{ArgTypeString}} object, {{ArgTypeAny}} radius)
SYNTAXEXAMPLE: get_length''fillet({{ArgTypeString}} object"Rect_1",5)''
EXAMPLEDESCRIPTION: ''get_length("helix_1")''Fillets the corners of the specified surface or curve object by the specified radius.
DESCRIPTION: Returns the length of a curve object.====flux_electric====
====get_area====SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
SYNTAXEXAMPLE: get_area''flux_electric({{ArgTypeString}} object"FI_1",-10,-10,5,10,10,10)''
EXAMPLEDESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label'get_area("ellipse_1")''already exists, its properties are modified.
DESCRIPTION: Returns the area of a surface object or the total surface area of a solid object.====flux_magnetic====
====get_volume====SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
SYNTAXEXAMPLE: get_volume''flux_magnetic({{ArgTypeString}} object"FI_1",0,0,-10,10,0,10)''
EXAMPLEDESCRIPTION: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label'get_volume("pyramid_1")''already exists, its properties are modified.
DESCRIPTION: Returns the volume of a solid object.====fractal_tree====
====get_lcs====SYNTAX: fractal_tree({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} key_type, {{ArgTypeAny}} key_size, {{ArgTypeAny}} n_level, {{ArgTypeAny}} sep_angle, {{ArgTypeAny}} n_gen, {{ArgTypeAny}} prune_factor, {{ArgTypeAny}} thickness, {{ArgTypeAny}} thick_factor)
SYNTAXEXAMPLE: get_lcs''fractal_tree({{ArgTypeString}} object"Fractal_1", {{ArgTypeString}} coordinate0,0,0,"line",10,3,30,3,0,0,0)''
EXAMPLEDESCRIPTION: ''get_lcs("pyramid_1"Generates a fractal tree in the project workspace under the currently activated material group node,"x")or modifies the fractal tree named 'label'if it already exists.
DESCRIPTION: Returns the specified coordinate of the LCS of an object.====freeze====
====get_rot====SYNTAX: freeze({{ArgTypeString}} object, {{ArgTypeReal}} freeze_state)
SYNTAXEXAMPLE: get_rot''freeze({{ArgTypeString}} object"MyObj", {{ArgTypeString}} coordinate1)''
EXAMPLEDESCRIPTION: ''get_rotSets the freeze state of an object ("pyramid_1","x"0/1)''.
====gauss==== SYNTAX: gauss({{ArgTypeReal}} x, ArgTypeReal}} mu, ArgTypeReal}} sigma) EXAMPLE: ''gauss(0.5,0,1)'' DESCRIPTION: Computes and returns the Gaussian function of mean mu and standard deviation sigma: exp(-0.5*((x-mu)/sigma)**2)/sigma/sqrt(2*pi). ====gauss_beam==== SYNTAX: gauss_beam({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode) EXAMPLE: ''gauss_beam("PW_1",180,0,"tm",0,0,0,20,0,0)'' DESCRIPTION: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modified. ====generate_input_files==== SYNTAX: generate_input_files() EXAMPLE: ''generate_input_files()'' DESCRIPTION: Generates all the input files for the simulation engine of the current module without running a simulation. ====geo==== SYNTAX: geo({{ArgTypeReal}} x, {{ArgTypeReal}} y) EXAMPLE: ''geo(1,2)'' DESCRIPTION: Computes and returns the geometric mean of x and y: sqrt(x*y). ====get_area==== SYNTAX: get_area({{ArgTypeString}} object) EXAMPLE: ''get_area("ellipse_1")'' DESCRIPTION: Returns the specified rotation angle area of a surface object or the total surface area of an a solid object.
====get_axis====
DESCRIPTION: Returns the specified coordinate of the unit vector along the specified local axis of an object.
====get_lcs_offsetget_domain_extent====
SYNTAX: get_lcs_offsetget_domain_extent({{ArgTypeString}} object, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinate)
EXAMPLE: ''get_lcs_offsetget_domain_extent("box_1",50,50,0,"x")''
DESCRIPTION: Returns the specified coordinate size of the LCS of an object after being translated by computational domain along the specified offset values along the three principal axesdirection.
====get_extent====
DESCRIPTION: Returns the size of the bounding box of an object along the specified direction.
====get_vertexget_lcs====
SYNTAX: get_vertexget_lcs({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate)
EXAMPLE: ''get_vertexget_lcs("pyramid_1",0,"x")''
DESCRIPTION: Returns the specified coordinate of the specified vertex of the bounding box LCS 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.
====set_rotget_lcs_offset====
SYNTAX: set_rotget_lcs_offset({{ArgTypeString}} object, {{ArgTypeAny}} rot_xx_off, {{ArgTypeAny}} rot_yy_off, {{ArgTypeAny}} rot_zz_off, {{ArgTypeString}} coordinate)
EXAMPLE: ''set_rotget_lcs_offset("pyramid_1box_1",050,50,0,45"x")''
DESCRIPTION: Sets Returns the three rotation angles specified coordinate of the LCS of an objectafter being translated by the specified offset values along the three principal axes.
====set_lcs_linkget_length====
SYNTAX: set_lcs_linkget_length({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)
EXAMPLE: ''set_lcs_linkget_length("pyramid_1helix_1","box_1",50,50,0)''
DESCRIPTION: Links Returns the LCS length of the first a curve object to the LCS of the second object by the specified offset values along the three axes.
====set_rot_linkget_rot====
SYNTAX: set_rot_linkget_rot({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_degcoordinate)
EXAMPLE: ''set_rot_linkget_rot("pyramid_1","box_1x",0,0,45)''
DESCRIPTION: Links Returns the specified rotation angles angle of the LCS of the first an object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.
====mirrorget_standard_output====
SYNTAX: mirrorget_standard_output({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZoutput_name)
EXAMPLE: ''mirrorget_standard_output("pyramid_1S11M",0,0,0,1,0,0)''
DESCRIPTION: Mirrors 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 in a plane defined . The vertices are specified by node indices. The lower front left corner has an index of 0, while the specified point coordinates upper back right corner has an index of 7. The indices are numbered counterclockwise, with the bottom face first and specified normal vector componentstop 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====
DESCRIPTION: Groups a number of objects into a composite object with the given label.
====arrayharm====
SYNTAX: arrayharm({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeStringArgTypeReal}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacingy)
EXAMPLE: ''arrayharm("Array_1","Rect_Strip_1",4,4,1,50,50,02)''
DESCRIPTION: Creates or modifies an array objectComputes and returns the harmonic mean of x and y: 2/(1/x+1/y).
====array_customhelix====
SYNTAX: array_customhelix({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_countx0, {{ArgTypeAny}} y_county0, {{ArgTypeAny}} z_countz0, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0radius_inner, {{ArgTypeAny}} rot_xradius_outer, {{ArgTypeAny}} rot_ynturns, {{ArgTypeAny}} rot_zhelix_dir)
EXAMPLE: ''array_customhelix("Array_1Helix_1","Rect_Strip_1"0,4,4,1,50,500,0,10015,10015,2010,0,0,45)''
DESCRIPTION: Creates Draws a helical curve in the project workspace under the currently activated material group node, or modifies an array object the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and sets its local coordinate system and rotation anglesradius_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.
====explodehorn_design_a====
SYNTAX: explodehorn_design_a({{ArgTypeStringArgTypeReal}} objectD0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
EXAMPLE: ''explodehorn_design_a("MyArray"15,0.4,0.3)''
DESCRIPTION: Explodes Computes and returns the wavelength-normalized larger dimension of the aperture of an object into its basic primitivesoptimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
====subtracthorn_design_b====
SYNTAX: subtracthorn_design_b({{ArgTypeStringArgTypeReal}} labelD0_dB, {{ArgTypeStringArgTypeReal}} object_1a_lambda, {{ArgTypeStringArgTypeReal}} object_2b_lambda)
EXAMPLE: ''subtracthorn_design_b("Subtract_Object"15,"Rect_Strip1"0.4,"Rect_Strip2"0.3)''
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 existsComputes 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.
====unionhorn_design_l====
SYNTAX: unionhorn_design_l({{ArgTypeStringArgTypeReal}} labelD0_dB, {{ArgTypeStringArgTypeReal}} object_1a_lambda, {{ArgTypeStringArgTypeReal}} object_2b_lambda)
EXAMPLE: ''unionhorn_design_l("Union_Object"15,"Rect_Strip1"0.4,"Rect_Strip2"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 Boolean 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' by unioning object_1 and object_2if it already exists. An error If the Boolean parameter "half_only" is 1, only half of the hyperbola will be thrown if 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 Boolean object named impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated. ====impenetrable_surface_group==== SYNTAX: impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''impenetrable_surface_group("Impenet_1",2.2,0.0001)'' DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated. ====import_dxf==== SYNTAX: import_dxf({{ArgTypeString}} file_name) EXAMPLE: ''import_dxf("MyDXFModel.DXF")'' DESCRIPTION: Imports an external DXF model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_igs==== SYNTAX: import_igs({{ArgTypeString}} file_name) EXAMPLE: ''import_igs("MyIGSModel.IGS")'' DESCRIPTION: Imports an external IGES model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_py==== SYNTAX: import_py({{ArgTypeString}} file_name) EXAMPLE: ''import_py("MyPYModel.PY")'' DESCRIPTION: Imports a Python geometry file to the project workspace. The default path is the Python subfolder under "Documents → EMAG". ====import_stl==== SYNTAX: import_stl({{ArgTypeString}} file_name) EXAMPLE: ''import_stl("MySTLModel.STL")'' DESCRIPTION: Imports an external STL model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====import_stp==== SYNTAX: import_stp({{ArgTypeString}} file_name) EXAMPLE: ''import_stp("MySTPModel.STP")'' DESCRIPTION: Imports an external STEP model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path. ====inductance==== SYNTAX: inductance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4) EXAMPLE: ''inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)'' DESCRIPTION: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====inductor==== SYNTAX: inductor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH) EXAMPLE: ''inductor("Cap_1","Line_1",25,10)'' DESCRIPTION: Creates a inductor in [[EM.Tempo]]. If the inductor 'label' already exists, its properties are modified.
====intersect====
DESCRIPTION: Creates a Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.
====extrudeline====
SYNTAX: extrudeline({{ArgTypeString}} label, {{ArgTypeStringArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} objectz0, {{ArgTypeAny}} extrude_heightlength[, {{ArgTypeAny}} cap_endsdir])
EXAMPLE: ''extrudeline("Extrude_1my_line",0,0,0,100,"Rect_Strip1x",50)''
DESCRIPTION: Creates or modifies an extrusion object from Draws a specified Line object by in the specified height. If modifying an existing extrusion objectproject workspace under the currently activated material group node, or modifies the pre-existing primitive is usedline named 'label' if it already exists. This command can only extrude objects that have a single face and will extrude along Without the face's normalargument "dir", a vertical line is drawn by default.
====loft====
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.
====revolvelumped_src====
SYNTAX: revolvelumped_src({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0line_object, {{ArgTypeAny}} z0offset, {{ArgTypeAny}} uXpolarity[, {{ArgTypeAny}} uYamplitude, {{ArgTypeAny}} uZphase, {{ArgTypeAny}} rot_angleresistance])
EXAMPLE: ''revolvelumped_src("Rev1LS_1","Line_1",050,0,0,0,0,1,360)''
DESCRIPTION: Creates or modifies a revolution object from a specified objectlumped source in [[EM.Tempo]]. If modifying an existing revolution object, the pre-existing primitive object is used. (x0lumped source '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.
====consolidatemagnet_group====
SYNTAX: consolidatemagnet_group({{ArgTypeString}} objectlabel, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)
EXAMPLE: ''consolidatemagnet_group("Poly_1Magnet_1",1,0,0,100)''
DESCRIPTION: Consolidates Creates a specified objectpermanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already exists, the group is activated.
====spline_fitmcos====
SYNTAX: spline_fitmcos({{ArgTypeStringArgTypeReal}} objectx, {{ArgTypeReal}} r)
EXAMPLE: ''spline_fitmcos("Poly_1"0.5,2)''
DESCRIPTION: Applies spline fit transformation on a specified polymesh, polyline or polystrip objectComputes and returns the super-quadratic cosine function of order r.
====fill_curvemean====
SYNTAX: fill_curvemean({{ArgTypeStringArgTypeReal}} objectx, {{ArgTypeReal}} y)
EXAMPLE: ''fill_curvemean("Curve_1"1,2)''
DESCRIPTION: Fill Computes and returns the interior arithmetic mean of the specified closed curve objectx and y: 0.5*(x+y).
====merge_curve====
DESCRIPTION: Merges two specified curve objects into a single curve.
====close_curvemesh====
SYNTAX: close_curvemesh({{ArgTypeString}} label, {{ArgTypeString}} close_state)
EXAMPLEDESCRIPTION: ''close_curve("Curve_1",1)''Generates and displays the mesh of the physical structure.
====microstrip_design==== SYNTAX: microstrip_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_design(50,2.2)'' DESCRIPTION: Sets Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er. ====microstrip_eps_eff==== SYNTAX: microstrip_eps_eff({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_eps_eff(2,0.5,2.2)'' DESCRIPTION: Computes and returns the effective permittivity of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er. ====microstrip_lambda_g==== SYNTAX: microstrip_lambda_g({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_lambda_g(2,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the guide wavelength (in meters) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz. ====microstrip_src==== SYNTAX: microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]) EXAMPLE: ''microstrip_src("MS_1","Rect_1",1.5,"+x")'' DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modified. ====microstrip_z0==== SYNTAX: microstrip_z0({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er) EXAMPLE: ''microstrip_z0(2,0.5,2.2)'' DESCRIPTION: Computes and returns the characteristic impedance (in Ohms) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er. ====microstrip_zoc==== SYNTAX: microstrip_zoc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_zoc(2,25,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the input reactance (in Ohms) of an open/close state -circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz. ====microstrip_zsc==== SYNTAX: microstrip_zsc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz) EXAMPLE: ''microstrip_zsc(2,25,0.5,2.2,2e9)'' DESCRIPTION: Computes and returns the input reactance (in Ohms) of a polyline short-circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz. ====mirror==== SYNTAX: mirror({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ) EXAMPLE: ''mirror("pyramid_1",0,0,0,1,0,0)'' DESCRIPTION: Mirrors an object in a plane defined by the specified point coordinates and specified normal vector components. ====move_to==== SYNTAX: move_to({{ArgTypeString}} object, {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name]) EXAMPLE: ''move_to("NewObj","MyObj",10,10,0)'' DESCRIPTION: Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module.  ====msin==== SYNTAX: msin({{ArgTypeReal}} x, {{ArgTypeReal}} r) EXAMPLE: ''msin(0.5,2)'' DESCRIPTION: Computes and returns the super-quadratic sine function of order r. ====nurbs_curve==== SYNTAX: nurbs_curve({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''nurbs_curve("nc_1",(0,0,0),(1,0,0),(1,0,0))'' DESCRIPTION: Creates or modifies a NURBS Curve object in the project workspace. Each point is represented with a Python tuple type. The curveis closed if p0 is specified again as pn, otherwise, it is open. Use  ====nurbs_strip==== SYNTAX: nurbs_strip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn) EXAMPLE: ''nurbs_strip("ns_1",(0 for open ,0,0),(1,0,0),(1,0,0))'' DESCRIPTION: Creates or modifies a NURBS Strip object in the project workspace. Each point is represented with a Python tuple type. The nurbs_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list. ====ohmic_loss==== SYNTAX: ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2) EXAMPLE: ''ohmic_loss("FI_1",-10,-10,-10,10,10,10)'' DESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified. ====parabola==== SYNTAX: parabola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only) EXAMPLE: ''parabola("Parabola _1",0,0,0,50,20,0)'' DESCRIPTION: Draws a parabola object in the project workspace under the currently activated material group node, or modifies the parabola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the parabola will be drawn.  ====param_curve==== SYNTAX: param_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} model, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start, {{ArgTypeAny}} stop, {{ArgTypeAny}} step, {{ArgTypeAny}} function[, {{ArgTypeAny}} y(t), {{ArgTypeAny}} z(t)]) EXAMPLE: ''param_curve("Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")'' DESCRIPTION: Generates a parametric curve and in the project workspace under the currently activated material group node, or modifies the parametric curve named 'label' if it already exists. ====param_surface==== SYNTAX: param_surface({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function) EXAMPLE: ''param_surface("Surf_1",0,0,0,"xy",0,10,0.1 for close ,0,10,0.1,"sin(x)*sin(y)")'' DESCRIPTION: Generates a parametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already exists. ====pec_group==== SYNTAX: pec_group({{ArgTypeString}} label) EXAMPLE: ''pec_group("PEC_1")'' DESCRIPTION: Creates a PEC material group in the current module. If the PEC group 'label' already exists, the group is activated. ====pec_via_group==== SYNTAX: pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer) EXAMPLE: ''pec_via_group("PEC_1",10)'' DESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label' already exists, the group is activated. ====pec_voltage_group==== SYNTAX: pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage) EXAMPLE: ''pec_voltage_group("PEC_1",10)'' DESCRIPTION: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label' already exists, the group is activated. ====penetrable_surface_group==== SYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness) EXAMPLE: ''penetrable_surface_group("Penet_1",2.2,0.0001, 1)'' DESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activated. ====penetrable_volume_group==== SYNTAX: penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma) EXAMPLE: ''penetrable_volume_group("Vol_Penet_1",2.2,0.0001)'' DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated. ====pipe_sweep==== SYNTAX: pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius) EXAMPLE: ''pipe_sweep("Curve_1",5)'' DESCRIPTION: Creates a pipe version of a given curveobject. ====planewave==== SYNTAX: planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization) 'EXAMPLE: ''planewave("PW_1",180,0,"tm")'' DESCRIPTION: Creates a plane wave source. If the plane wave source 'label' already exists, its properties are modified. ====plot_file==== SYNTAX: plot_file({{ArgTypeString}} filename)  EXAMPLE: ''plot_file("D0.DAT")'' DESCRIPTION: Plots the contents of a specified data file in EM.Grid. ====pmc_group==== SYNTAX: pmc_group({{ArgTypeString}} label) EXAMPLE: ''pmc_group("PMC_1")'' DESCRIPTION: Creates a PMC material group in the current module. If the PMC group 'label' already exists, the group is activated. ====point==== SYNTAX: point({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0) EXAMPLE: ''point("Point_1",0,0,10)'' DESCRIPTION: Draws a point in the project workspace under the currently activated material group node, or modifies the point named 'label' if it already exists. ====polygon_reg==== SYNTAX: polygon_reg({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} n_sides) EXAMPLE: ''polygon_reg("ts_1",0,0,0,50,100,80,1)'' DESCRIPTION: Draws a regular polygon object in the project workspace under the currently activated material group node, or modifies the regular polygon object named 'label' if it already exists.
====polygonize====
DESCRIPTION: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.
Â
====polyline====
Â
SYNTAX: polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
Â
EXAMPLE: ''polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))''
Â
DESCRIPTION: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.
====polymesh====
DESCRIPTION: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.
====filletpolystrip====
filletSYNTAX: polystrip({{ArgTypeString}} objectlabel, {{ArgTypeAnyArgType| 3x1 Python tuple}} radiusp0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
EXAMPLE: ''filletpolystrip("Rect_1ps_1",5(0,0,0),(1,0,0),(1,0,0))''
DESCRIPTION: Fillets the corners of the specified surface Creates or curve modifies a Polystrip object by in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the specified radiuspoint list.
====sliceport_definition_custom====
SYNTAX: sliceport_definition_custom({{ArgTypeString}} objectlabel, ({{ArgTypeAnyArgTypeString}} x0port_1_src_1, {{ArgTypeAnyArgTypeString}} y0port_1_src_2, ..., {{ArgTypeAnyArgTypeString}} z0port_1_impedance), ({{ArgTypeAnyArgTypeString}} uXport_2_src_1, {{ArgTypeAnyArgTypeString}} uYport_2_src_2, ..., {{ArgTypeAnyArgTypeString}} uZport_2_impedance), ...)
EXAMPLE: ''sliceport_definition_custom("Rect_1PD_1",5("LS_1","LS_2",50),,("LS_3","LS_4",50))''
DESCRIPTION: Slices Creates a custom port definition observable. If the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinatesobservable 'label' already exists, its properties are modified.
====roughenport_definition_default====
SYNTAX: roughenport_definition_default({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)
EXAMPLE: ''roughenport_definition_default("Rect_1PD_1",1,5)''
DESCRIPTION: Roughens Creates a default port definition observable. If the surface of the specified object based on the specified RMS height and correlation lengthobservable 'label' already exists, its properties are modified.
====random_groupprobe_gap_src====
SYNTAX: random_groupprobe_gap_src({{ArgTypeString}} label, {{ArgTypeStringArgTypeAny}} key_objectvia_object, {{ArgTypeStringArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} container_objectphase, {{ArgTypeAny}} element_countresistance])
EXAMPLE: ''random_groupprobe_gap_src("Rand_1Probe_1","Rect_1Via_1","Box_1",1000)''
DESCRIPTION: Creates a random group using the specified key object and confines them probe gap circuit source in [[EM.Picasso]]. If the specified container objectprobe gap source 'label' already exists, its properties are modified.
====strip_sweeppyramid====
SYNTAX: strip_sweeppyramid({{ArgTypeString}} objectlabel, {{ArgTypeAny}} widthx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)
EXAMPLE: ''strip_sweeppyramid("Curve_1Pyramid_1",50,0,0,10,10,100)''
DESCRIPTION: Creates Draws a strip version of a given curve pyramid objectin the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.
====pipe_sweepradial_strip====
SYNTAX: pipe_sweepradial_strip({{ArgTypeString}} objectlabel, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)
EXAMPLE: ''pipe_sweepradial_strip("Curve_1Radial_1",50,0,0,50,0,90)''
DESCRIPTION: Creates Draws a pipe version of a given curve radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip objectnamed 'label' if it already exists.
====rail_sweep====
DESCRIPTION: Rail-sweeps the specified sweep object along the specified curve object.
== EM.Cube's Python Functions for Material or Object Group Creation ==ramp====
====activateSYNTAX: ramp({{ArgTypeStringArgTypeReal}} group_node_labelx)====
EXAMPLE: ''Example: activateramp("Color_1"0.5)''
DescriptionDESCRIPTION: Activates a color, material or object group in Computes and returns the current active [[EM.Cube]] moduleramp function: x if x>0, 0 if x<0.
====color_group({{ArgTypeString}} label)rand====
''ExampleSYNTAX: color_grouprand("Color_1"{{ArgTypeReal}} x, {{ArgTypeReal}} y)''
DescriptionEXAMPLE: Creates a color group in CubeCAD module. If the color group 'label' already existsrand(0, the group is activated.1)''
====pec_group({{ArgTypeString}} label)====DESCRIPTION: Computes and returns a random number between x and y using an uniform distribution.
''Example: pec_group("PEC_1")''====random_group====
DescriptionSYNTAX: Creates a PEC material group in the current module. If the PEC group 'random_group({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)
====pec_voltage_groupEXAMPLE: ''random_group({{ArgTypeString}} label"Rand_1", {{ArgTypeAny}} voltage"Rect_1","Box_1",100)====''
''ExampleDESCRIPTION: pec_voltage_group("PEC_1",10)''Creates a random group using the specified key object and confines them in the specified container object.
Description: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label' already exists, the group is activated.====rcs_bistatic====
====pec_via_groupSYNTAX: rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} host_layertheta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])====
EXAMPLE: ''Example: pec_via_grouprcs_bistatic("PEC_1RCS_1",101,1)''
DescriptionDESCRIPTION: Creates an embedded PEC via set group in the current modulea bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the PEC via group observable 'label' already exists, the group is activatedits properties are modified.
====thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius)rcs_monostatic====
''ExampleSYNTAX: thinwire_grouprcs_monostatic("Thinwire_1"{{ArgTypeString}} label,4{{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])''
DescriptionEXAMPLE: Creates a Thinwire material group in the current module. If the thin wire group 'label' already existsrcs_monostatic("RCS_1", the group is activated.1,1)''
====pmc_group({{ArgTypeString}} DESCRIPTION: Creates a monostatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label)====' already exists, its properties are modified.
''Example: pmc_group("PMC_1")''====receiver_set====
DescriptionSYNTAX: Creates a PMC material group in the current module. If the PMC group 'receiver_set({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
====slot_groupEXAMPLE: ''receiver_set({{ArgTypeString}} label"TX_1","PT_1","DPL_STD.RAD",0,90,0)====''
''ExampleDESCRIPTION: slot_group("PMC_1")Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label'already exists, its properties are modified.
Description: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, the group is activated.====rect====
====dielectric_groupSYNTAX: rect({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rhox)====
EXAMPLE: ''Example: dielectric_grouprect("Dielectric_1","my_eps",0,.1,0)''
DescriptionDESCRIPTION: Creates a dielectric material group in Computes and returns the current module with the specified material propertiesrectangular window function: 1 if x<0. If the dielectric group 'label' already exists5, the group is activated0 elsewhere.
====impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)rect_gap_src====
''ExampleSYNTAX: impenetrable_surface_grouprect_gap_src("Impenet_1"{{ArgTypeString}} label,2.2{{ArgTypeAny}} rect_object,0.0001{{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])''
DescriptionEXAMPLE: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already existsrect_gap_src("GAP_1", the group is activated."Rect_1",0,0)''
====penetrable_surface_group({{ArgTypeString}} DESCRIPTION: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already exists, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)====its properties are modified.
''Example: penetrable_surface_group("Penet_1",2.2,0.0001, 1)''====rect_strip====
DescriptionSYNTAX: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'rect_strip({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)
====penetrable_volume_groupEXAMPLE: ''rect_strip({{ArgTypeString}} label"my_rectangle", {{ArgTypeAny}} eps0, {{ArgTypeAny}} sigma0,0,50,20)====''
''ExampleDESCRIPTION: penetrable_volume_group("Vol_Penet_1"Draws a rectangle Strip object in the project workspace under the currently activated material group node,2.2,0.0001)or modifies the rectangle strip object named 'label'if it already exists.
Description: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.====rename====
====terrain_groupSYNTAX: rename({{ArgTypeString}} labelnew_label, {{ArgTypeAny}} eps, {{ArgTypeAnyArgTypeString}} sigmaold_label)====
EXAMPLE: ''Example: terrain_grouprename("Terrain_1Box_2",5.0,0.0001"Box_1")''
DescriptionDESCRIPTION: Creates an terrain surface group in [[EMDeletes a node name from the navigation tree.Terrano]]. If the terrain surface group 'label' already existsThe node can be any geometric object, the source, observable or material group is activated.
====base_point_group({{ArgTypeString}} label)resistance====
''ExampleSYNTAX: base_point_setresistance("BP_Set_1"{{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)''
DescriptionEXAMPLE: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already existsresistance("FI_1", the group is activated.0,0,-10,0,0,10,-10,-10,0,10,10,0)''
====virtual_group({{ArgTypeString}} DESCRIPTION: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label)====' already exists, its properties are modified.
''Example: virtual_group("VIR_1")''====resistor====
DescriptionSYNTAX: Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'resistor({{ArgTypeString}} label' already exists, the group is activated.{{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)
====impedance_surface_groupEXAMPLE: ''resistor({{ArgTypeString}} label"Res_1", {{ArgTypeAny}} z_real"Line_1", {{ArgTypeAny}} z_imag25,50)====''
DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label'Example: impedance_surface_group("IMP_1"already exists,100,-100)''its properties are modified.
Description: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated.====revolve====
====conductive_sheet_groupSYNTAX: revolve({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} sigmauZ, {{ArgTypeAny}} thicknessrot_angle)====
EXAMPLE: ''Example: conductive_sheet_grouprevolve("Cond_1Rev1",100"Line_1", 0.01,0,0,0,0,1,360)''
DescriptionDESCRIPTION: Creates or modifies a conductive sheet group in [[EM.Picasso]]revolution object from a specified object. If modifying an existing revolution object, the conductive sheet group 'label' already existspre-existing primitive object is used. (x0, y0,z0) specifies the group center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is activatedgiven in degrees.
====charge_group({{ArgTypeString}} label, {{ArgTypeAny}} density)rosen====
''ExampleSYNTAX: charge_grouprosen("Charge_1"{{ArgTypeReal}} x,-1e-5{{ArgTypeReal}} y, {{ArgTypeReal}} a, {{ArgTypeReal}} b)''
DescriptionEXAMPLE: Creates a volume charge source group in [[EM.Ferma]]. If the charge group 'label' already exists, the group is activatedrosen(0.5,0,1,2)''
====magnet_groupDESCRIPTION: Computes and returns the Rosenbrock function: ({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mza-x)====**2 + b*(y-x**2)**2.
''Example: magnet_group("Magnet_1",1,0,0,100)''====rotate====
DescriptionSYNTAX: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already existsrotate({{ArgTypeString}} object, the group is activated.{{ArgTypeAny}} rot_angle_degree, {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)
====volume_current_groupEXAMPLE: ''rotate({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} Jx45, {{ArgTypeAny}} Jy1, {{ArgTypeAny}} Jz1,0)====''
''ExampleDESCRIPTION: volume_current_groupRotates an object about a line passing through its LCS center and aligned along the specified direction vector ("Magnet_1",0,0,1e6rot_axis)''by the specified angle.
Description: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, the group is activated.====roughen====
====wire_current_groupSYNTAX: roughen({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} currentrms_height, {{ArgTypeAny}} wire_radiuscorrel_length)====
EXAMPLE: ''Example: wire_current_grouproughen("Magnet_1Rect_1",1,0.5)''
DescriptionDESCRIPTION: Creates a wire current source group in [[EM.Ferma]]. If Roughens the wire current group 'label' already exists, surface of the group is activatedspecified object based on the specified RMS height and correlation length.
== EM.Cube's Python Functions for Source & Lumped Device Definition ==run_analysis====
====lumped_srcSYNTAX: run_analysis({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])====
''ExampleDESCRIPTION: lumped_src("LS_1","Line_1",50,0)''Runs a simulation in the current active [[EM.Cube]] computational module.
Description: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.====save_data====
====distributed_srcSYNTAX: save_data({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]directory_name)====
EXAMPLE: ''Example: distributed_srcsave_data("DS_1","Rect_1","+y","uniformSimulation_Data")''
DescriptionDESCRIPTION: Creates a distributed source in Saves [[EM.TempoCube]]. If 's output simulation data files under the distributed source 'label' already exists, its properties are modifiedspecified directory.
====microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])sawtooth====
''ExampleSYNTAX: microstrip_srcsawtooth("MS_1","Rect_1",1.5,"+{{ArgTypeReal}} x")''
DescriptionEXAMPLE: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modifiedsawtooth(0.5)''
DESCRIPTION: Computes and returns the ascending periodic sawtooth function of period T ====cpw_src({{ArgTypeString}} label2, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])===oscillating between two values +1 and -1 and having a zero value of at x =0.
''Example: cpw_src("CPW_1","Rect_1",1.5,"+x")''====scale====
DescriptionSYNTAX: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already existsscale({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} scale_factor)
====coaxial_srcEXAMPLE: ''scale({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]2)====''
''ExampleDESCRIPTION: coaxial_src("COAX_1","Cyl_1",1Scales an object by the specified scale factor.5,"+z")''
Description: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified.====select_module====
====waveguide_srcSYNTAX: select_module({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]module_name)====
EXAMPLE: ''Example: waveguide_srcselect_module("WG_1","Box_1[[EM.Tempo]]",50,0)''
DescriptionDESCRIPTION: Creates a waveguide port source in Selects and sets [[EM.TempoCube]]. If the waveguide port 'label' already exists, its properties are modifieds active module.
====wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])set_bandwidth====
''ExampleSYNTAX: wire_gap_srcset_bandwidth("WIG_1","Line_1",50,0{{ArgTypeAny}} value)''
DescriptionEXAMPLE: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, its properties are modified.set_bandwidth(1e9)''
====rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarityDESCRIPTION: Sets [, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance[EM.Cube]])===='s frequency bandwidth.
''Example: rect_gap_src("GAP_1","Rect_1",0,0)''====set_boundary_conditions====
DescriptionSYNTAX: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already existsset_boundary_conditions({{ArgTypeString}} xn_type, its properties are modified.{{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)
====probe_gap_srcEXAMPLE: ''set_domain_offset_lambda({{ArgTypeString}} label"pml", {{ArgTypeAny}} via_object"pml", {{ArgTypeAny}} polarity["pml", {{ArgTypeAny}} amplitude"pml", {{ArgTypeAny}} phase"pec", {{ArgTypeAny}} resistance]"pml")====''
DESCRIPTION: Sets [[EM.Tempo]]''Example: probe_gap_src(s domain boundary conditions domain offset on the ±X, ±Y and ±Z boundary walls. The options are "Probe_1pec","Via_1pmc",0)''and "pml".
Description: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, its properties are modified.====set_domain_offset====
====wave_portSYNTAX: set_domain_offset({{ArgTypeString}} label, {{ArgTypeAny}} rect_objectdxn_offset, {{ArgTypeAny}} offsetdxp_offset, {{ArgTypeAny}} is_negative[dyn_offset, {{ArgTypeAny}} amplitudedyp_offset, {{ArgTypeAny}} phasedzn_offset, {{ArgTypeAny}} resistance]dzp_offset)====
EXAMPLE: ''Example: wave_portset_domain_offset("WP_1"20,"Rect_1"20,020,20,0,10)''
DescriptionDESCRIPTION: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If Sets the wave port 'label' already existsdomain offset values along the ±X, its properties are modified±Y and ±Z directions in project units.
====short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)set_domain_offset_lambda====
''ExampleSYNTAX: wave_portset_domain_offset_lambda("SD_1"{{ArgTypeAny}} dxn_offset,0{{ArgTypeAny}} dxp_offset,0{{ArgTypeAny}} dyn_offset,50{{ArgTypeAny}} dyp_offset,3{{ArgTypeAny}} dzn_offset,0,0,1,1,0{{ArgTypeAny}} dzp_offset)''
DescriptionEXAMPLE: Creates a Hertzian short dipole source. If the short dipole source 'label' already existsset_domain_offset_lambda(0.1, its properties are modified0.1,0.1,0.1,0,0.25)''
====planewave({{ArgTypeString}} labelDESCRIPTION: Sets the domain offset values along the ±X, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)====±Y and ±Z directions in free-space wavelengths.
''Example: planewave("PW_1",180,0,"tm")''====set_frequency====
DescriptionSYNTAX: Creates a plane wave source. If the plane wave source 'label' already exists, its properties are modified.set_frequency({{ArgTypeAny}} value)
====gauss_beamEXAMPLE: ''set_frequency({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization, {{ArgTypeAny}} focus_x, {{ArgTypeAny}} focus_y, {{ArgTypeAny}} focus_z, {{ArgTypeAny}} radius, {{ArgTypeAny}} p_mode, {{ArgTypeAny}} q_mode2.4e9)====''
''ExampleDESCRIPTION: gauss_beam("PW_1",180,0,"tm",0,0,0,20,0,0)'Sets [[EM.Cube]]'s center frequency.
Description: Creates a Gaussian beam source in [[EM.Tempo]]. If the Gaussian beam source 'label' already exists, its properties are modified.====set_lcs_link====
====huygens_srcSYNTAX: set_lcs_link({{ArgTypeString}} labelobject, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeString}} z0lcs_obj, {{ArgTypeAny}} x_rotx_off, {{ArgTypeAny}} y_roty_off, {{ArgTypeAny}} z_rot]z_off)====
EXAMPLE: ''Example: huygens_srcset_lcs_link("HS_1pyramid_1","Huygens_1.HUYbox_1",1,100,100,0,050,050,0)''
DescriptionDESCRIPTION: Creates a Huygens source. If Links the Huygens source 'label' already exists, its properties are modifiedLCS of the first object to the LCS of the second object by the specified offset values along the three axes.
====transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)set_periodic====
''ExampleSYNTAX: transmitter_setset_periodic("TX_1"{{ArgTypeAny}} is_periodic,"PT_1"{{ArgTypeAny}} spacingX,"DPL_STD.RAD",0,90,0{{ArgTypeAny}} spacingY)''
DescriptionEXAMPLE: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already existsset_periodic(1, its properties are modified.50,50)''
====resistor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)====DESCRIPTION: Designates the physical structure as periodic and sets the periods along the X and Y directions.
''Example: resistor("Res_1","Line_1",25,50)''====set_rot====
DescriptionSYNTAX: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already existsset_rot({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
====capacitorEXAMPLE: ''set_rot({{ArgTypeString}} label"pyramid_1", {{ArgTypeAny}} line_object0, {{ArgTypeAny}} offset0, {{ArgTypeAny}} capacitance_pF45)====''
''ExampleDESCRIPTION: capacitor("Cap_1","Line_1",25,10)''Sets the three rotation angles of an object.
Description: Creates a capacitor in [[EM.Tempo]]. If the capacitor 'label' already exists, its properties are modified.====set_rot_link====
====inductorSYNTAX: set_rot_link({{ArgTypeString}} labelobject, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} line_objectx_off_deg, {{ArgTypeAny}} offsety_off_deg, {{ArgTypeAny}} inductance_nHz_off_deg)====
EXAMPLE: ''Example: inductorset_rot_link("Cap_1pyramid_1","Line_1box_1",250,0,1045)''
DescriptionDESCRIPTION: Creates a inductor 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 [[EM.Tempo]]. If degrees along the inductor 'label' already exists, its properties are modifiedthree axes.
====diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)set_stackup_order====
''ExampleSYNTAX: diodeset_stackup_order("Diode_1THS","Line_1"{{ArgTypeString}} label_1,25{{ArgTypeString}} label_2,0...,10{{ArgTypeString}} label_n,300,1"BHS")''
DescriptionEXAMPLE: Creates a diode in [[EM.Tempo]]. If the diode 'label' already existsbackground_layer("THS", its properties are modified."Top_Layer","Mid_Layer","Bottom_Layer","BHS")''
== DESCRIPTION: Sets the hierarchy of [[EM.CubePicasso]]'s Python Functions background layer stackup from top to bottom. The sequence should always start with "THS" standing for Observable Definition ==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.
====port_definition_default({{ArgTypeString}} label)set_units====
''ExampleSYNTAX: port_definition_defaultset_units("PD_1"{{ArgTypeString}} units)''
DescriptionEXAMPLE: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.set_units("meter")''
====port_definition_custom({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, DESCRIPTION: Sets [[EM.Cube]]'s project length units.., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...)====
''Example: port_definition_custom("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))''====sgn====
DescriptionSYNTAX: Creates a custom port definition observable. If the observable 'label' already exists, its properties are modified.sgn({{ArgTypeReal}} x)
====farfieldEXAMPLE: ''sgn({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr-1.0)====''
''ExampleDESCRIPTION: Computes and returns the signum function: farfield("FF_1",1if x>0,-1)''if x<0.
Description: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.====short_dipole====
====rcs_bistaticSYNTAX: short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} theta_incrx0, {{ArgTypeAny}} phi_incry0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)====
EXAMPLE: ''Example: rcs_bistaticshort_dipole("RCS_1SD_1",0,0,50,3,0,0,1,1,0)''
DescriptionDESCRIPTION: Creates a bistatic RCS observableHertzian short dipole source. If the observable short dipole source 'label' already exists, its properties are modified.
====current_dist({{ArgTypeString}} label)sigmoid====
''ExampleSYNTAX: current_distsigmoidnc("CD_1"{{ArgTypeReal}} x, {{ArgTypeReal}} a)''
DescriptionEXAMPLE: Creates a current distribution observable. If the observable 'label' already exists, its properties are modifiedsigmoid(0.5,1)''
====field_sensorDESCRIPTION: Computes and returns the sigmoid function of slope a: 2/({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples1 + exp(-a*x))====- 1.
''Example: field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''====sinc====
DescriptionSYNTAX: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.sinc({{ArgTypeReal}} x)
====field_sensor_gridEXAMPLE: ''sinc({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z00.5)====''
''ExampleDESCRIPTION: field_sensor_gridComputes and returns the sinc function: sin(pi*x)/("FS_1","z",0,0,0pi*x)''.
Description: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====slice====
====field_probeSYNTAX: slice({{ArgTypeString}} labelobject, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)====
EXAMPLE: ''Example: field_probeslice("FS_1Rect_1",0,0,505)''
DescriptionDESCRIPTION: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If Slices the observable 'label' already exists, its properties are modifiedspecified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.
====receiver_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)slot_group====
''ExampleSYNTAX: receiver_setslot_group("TX_1","PT_1","DPL_STD.RAD",0,90,0{{ArgTypeString}} label)''
DescriptionEXAMPLE: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, its properties are modified.slot_group("PMC_1")''
====huygens_surface({{ArgTypeString}} DESCRIPTION: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)====the group is activated.
''Example: huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)''====solution_plane====
DescriptionSYNTAX: Creates a Huygens surface observable. If the observable 'solution_plane({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)
====huygens_surface_gridEXAMPLE: ''solution_plane({{ArgTypeString}} label"FI_1", {{ArgTypeAny}} x1"FS_1", {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z21)====''
DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label'Example: huygens_surface_grid("HS_1"already exists,-10,-10,-10,10,10,10)''its properties are modified.
Description: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified.====sphere====
====voltage_integralSYNTAX: sphere({{ArgTypeString}} label, {{ArgTypeAny}} x1x0, {{ArgTypeAny}} y1y0, {{ArgTypeAny}} z1z0, {{ArgTypeAny}} x2radius[, {{ArgTypeAny}} y2start_angle, {{ArgTypeAny}} z2end_angle])====
EXAMPLE: ''Example: voltage_integralsphere("FI_1Sphere_1",0,0,-0,10,0,0,10180)''
DescriptionDESCRIPTION: Creates Draws a voltage integral observable sphere object in [[EM.Ferma]]. If the observable project workspace under the currently activated Material Group node, or modifies the sphere named 'label' if it already exists, its properties . The arguments start_angle and end_angle are modifiedin degrees and specify a sweep about the sphere's azimuth axis.
====current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)spiral_curve====
''ExampleSYNTAX: current_integralspiral_curve("FI_1"{{ArgTypeString}} label,-10{{ArgTypeAny}} x0,-10{{ArgTypeAny}} y0,0{{ArgTypeAny}} z0,10{{ArgTypeAny}} radius_inner,10{{ArgTypeAny}} radius_outer,0{{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)''
DescriptionEXAMPLE: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already existsspiral_curve("Spiral _1", its properties are modified.0,0,0,10,50,5,0,0)''
====conduction_current_integral({{ArgTypeString}} DESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'label' if it already exists. If the Boolean parameter "spiral_dir" is 1, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2the spiral curve will be drawn counter-clockwise. If the Boolean parameter "is_dual" is 1, {{ArgTypeAny}} z2)====a dual-arm spiral curve will be drawn.
''Example: conduction_current_integral("FI_1",-10,-10,0,10,10,0)''====spiral_strip====
DescriptionSYNTAX: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'spiral_strip({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
====capacitanceEXAMPLE: ''spiral_strip({{ArgTypeString}} label"Spiral _1", {{ArgTypeAny}} x10, {{ArgTypeAny}} y10, {{ArgTypeAny}} z10, {{ArgTypeAny}} x210, {{ArgTypeAny}} y250, {{ArgTypeAny}} z25, {{ArgTypeAny}} x30, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z40)====''
DESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label'Example: capacitance(if it already exists. If the Boolean parameter "FI_1spiral_dir"is 1,the spiral curve will be drawn counter-10clockwise. If the Boolean parameter "is_dual" is 1,a dual-10,5,10,10,10,0,0,-10,0,0,10)''arm spiral curve will be drawn.
Description: Creates a capacitance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====spline_fit====
====inductanceSYNTAX: spline_fit({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4object)====
EXAMPLE: ''Example: inductancespline_fit("FI_1Poly_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''
DescriptionDESCRIPTION: Creates Applies spline fit transformation on a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already existsspecified polymesh, its properties are modifiedpolyline or polystrip object.
====resistance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)spline2====
''ExampleSYNTAX: resistancespline2("FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modifiedspline2(1.0)''
====flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Computes and returns the quadratic B-spline function.
''Example: flux_electric("FI_1",-10,-10,5,10,10,10)''====spline3====
DescriptionSYNTAX: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.spline3({{ArgTypeReal}} x)
====flux_magneticEXAMPLE: ''spline3({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z21.0)====''
''ExampleDESCRIPTION: flux_magnetic("FI_1",0,0,Computes and returns the cubic B-10,10,0,10)''spline function.
Description: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====sqr_wave====
====energy_electricSYNTAX: sqr_wave({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2x)====
EXAMPLE: ''Example: energy_electricsqr_wave("FI_1",-10,-10,-10,10,10,100.5)''
DescriptionDESCRIPTION: Creates an electric energy integral observable in [[EM.Ferma]]. If Computes and returns the observable 'label' already existsperiodic square wave function of period T = 2, its properties are modifiedoscillating between two values +1 and -1 and having a value of +1 at x = 0.
====energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)sqr2====
''ExampleSYNTAX: energy_magneticsqr2("FI_1"{{ArgTypeReal}} x,-10,-10,-10,10,10,10{{ArgTypeReal}} y)''
DescriptionEXAMPLE: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already existssqr2(0, its properties are modified.1)''
====ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)====DESCRIPTION: Computes and returns the sum of squares of x and y: x**2 + y**2.
''Example: ohmic_loss("FI_1",-10,-10,-10,10,10,10)''====sqr3====
DescriptionSYNTAX: Creates an ohmic loss integral observable in [[EM.Ferma]]. If the observable 'label' already existssqr2({{ArgTypeReal}} x, its properties are modified.{{ArgTypeReal}} y, {{ArgTypeReal}} z)
====solution_planeEXAMPLE: ''sqr2({{ArgTypeString}} label0, {{ArgTypeAny}} field_sensor_label1, {{ArgTypeAny}} is_quasi2)====''
''ExampleDESCRIPTION: solution_plane("FI_1"Computes and returns the sum of squares of x,"FS_1",1)''y and z: x**2 + y**2 + z**2.
Description: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.====sqrt2====
== EM.Cube's Python Functions for Simulation-Related Functions & Operations ==SYNTAX: sqrt2({{ArgTypeReal}} x, {{ArgTypeReal}} y)
====select_moduleEXAMPLE: ''sqrt2({{ArgTypeString}} module_name0,1)====''
''ExampleDESCRIPTION: select_moduleComputes and returns the radius of the 2D point ("[[EM.Tempo]]"x,y)'': sqrt(x**2 + y**2).
Description: Selects and sets [[EM.Cube]]'s active module.====sqrt3====
====set_unitsSYNTAX: sqrt3({{ArgTypeStringArgTypeReal}} unitsx, {{ArgTypeReal}} y, {{ArgTypeReal}} z)====
EXAMPLE: ''Example: set_unitssqrt3("meter"0,1,2)''
DescriptionDESCRIPTION: Sets [[EM.Cube]]'s project length unitsComputes and returns the radius of the 3D point (x,y,z): sqrt(x**2 + y**2 + z**2).
====set_frequency({{ArgTypeAny}} value)step====
''ExampleSYNTAX: set_frequencystep(2.4e9{{ArgTypeReal}} x)''
DescriptionEXAMPLE: Sets [[EM.Cube]]'s center frequency'step(1.0)''
====set_bandwidth({{ArgTypeAny}} value)====DESCRIPTION: Computes and returns the unit step function: 1 if x>0, 0 if x<0.
''Example: set_bandwidth(1e9)''====strip_sweep====
DescriptionSYNTAX: Sets [[EM.Cube]]'s frequency bandwidth.strip_sweep({{ArgTypeString}} object, {{ArgTypeAny}} width)
====background_layerEXAMPLE: ''strip_sweep({{ArgTypeString}} label"Curve_1", {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness5)====''
''ExampleDESCRIPTION: background_layer("Mid_Layer",3Creates a strip version of a given curve object.3,0.001,1,1.5)''
Description: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.====subtract====
====delete_background_layerSYNTAX: subtract({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)====
EXAMPLE: ''Example: delete_background_layersubtract("Mid_LayerSubtract_Object","Rect_Strip1","Rect_Strip2")''
DescriptionDESCRIPTION: Deletes Creates a finite-thickness substrate layer Boolean object named 'label' by subtracting object_2 from [[EMobject_1.Picasso]] An error will be thrown if a Boolean object named 'label's background layer stackupalready exists.
====set_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, ..., {{ArgTypeString}} label_n, "BHS")superquad====
''ExampleSYNTAX: background_layersuperquad("THS"{{ArgTypeString}} label,"Top_Layer"{{ArgTypeAny}} x0,"Mid_Layer"{{ArgTypeAny}} y0,"Bottom_Layer"{{ArgTypeAny}} z0,"BHS"{{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)''
DescriptionEXAMPLE: Sets the hierarchy of [[EM.Picasso]]'s background layer stackup from top to bottom. The sequence should always start with 'superquad("THSSuperQuad_1" 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. ,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 ====global_ground({{ArgTypeAny}} ground_on2, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)====the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
''Example: global_ground(1,3.3,0.001)''====taper_strip====
DescriptionSYNTAX: Set the state of [[EM.Terrano]]'s global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0. taper_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)
====deleteEXAMPLE: ''taper_strip({{ArgTypeString}} node_name"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'Example: delete(if it already exists. If the Boolean parameters "Box_1is_expo")''is 1, an exponential taper will be drawn.
Description: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. ====terrain_group====
====renameSYNTAX: terrain_group({{ArgTypeString}} new_labellabel, {{ArgTypeStringArgTypeAny}} eps, {{ArgTypeAny}} old_labelsigma)====
EXAMPLE: ''Example: renameterrain_group("Box_2Terrain_1","Box_1"5.0,0.0001)''
DescriptionDESCRIPTION: Deletes a node name from the navigation treeCreates an terrain surface group in [[EM. The node can be any geometric objectTerrano]]. If the terrain surface group 'label' already exists, source, observable or material the groupis activated.
====zoom_extents()thinwire_group====
DescriptionSYNTAX: Zooms to fit the extents of the physical structure into the screen.thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius)
====get_domain_extentEXAMPLE: ''thinwire_group({{ArgTypeString}} coordinate"Thinwire_1",4)====''
''ExampleDESCRIPTION: get_domain_extent("x")Creates a Thinwire material group in the current module. If the thin wire group 'label'already exists, the group is activated.
Description: Returns the size of the computational domain along the specified direction.====torus====
====set_domain_offsetSYNTAX: torus({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} dxn_offsety0, {{ArgTypeAny}} dxp_offsetz0, {{ArgTypeAny}} dyn_offsetradius_major, {{ArgTypeAny}} dyp_offsetradius_minor[, {{ArgTypeAny}} dzn_offsetstart_angle, {{ArgTypeAny}} dzp_offsetend_angle])====
EXAMPLE: ''Example: set_domain_offsettorus(20"Torus_1",200,20,200,0,1050,20)''
DescriptionDESCRIPTION: Sets Draws an torus object in the domain offset values along project workspace under the ±Xcurrently activated material group node, ±Y or modifies the torus named 'label' if it already exists. The arguments start_angle and ±Z directions end_angle are in project unitsdegrees and specify a sweep about the torus's azimuth axis.
====set_domain_offset_lambda({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)translate_by====
''ExampleSYNTAX: set_domain_offset_lambdatranslate_by(0.1{{ArgTypeString}} object,0.1 {{ArgTypeReal}} x_dist,0.1{{ArgTypeReal}} y_dist,0.1,0,0.25{{ArgTypeReal}} z_dist)''
DescriptionEXAMPLE: Sets the domain offset values along the ±X''translate_by("MyObj", ±Y and ±Z directions in free-space wavelengths.10,10,x)''
====set_boundary_conditions({{ArgTypeString}} xn_type, {{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)====DESCRIPTION: Translates an object by the specified distances in each direction.
''Example: set_domain_offset_lambda("pml","pml","pml","pml","pec","pml")''====translate_to====
DescriptionSYNTAX: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on the ±Xtranslate_to({{ArgTypeString}} object, ±Y and ±Z boundary walls. The options are "pec" {{ArgTypeReal}} x_dest, "pmc" and "pml".{{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)
====add_variableEXAMPLE: ''translate_to({{ArgTypeString}} var_name"MyObj", {{ArgTypeAny}} value20,20,x2)====''
''ExampleDESCRIPTION: add_variable("MyVar",1)''Translates an object to the specified destination.
Description: Adds a new variable to [[EM.Cube]]'s variable list.====transmitter_set====
====run_analysisSYNTAX: transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)====
DescriptionEXAMPLE: Runs a simulation in the current active [[EM.Cube]] computational module''transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''
====set_periodic({{ArgTypeAny}} is_periodicDESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, {{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY) ====its properties are modified.
''Example: set_periodic(1,50,50)''====tri====
DescriptionSYNTAX: Designates the physical structure as periodic and sets the periods along the X and Y directions.tri({{ArgTypeReal}} x)
====get_standard_outputEXAMPLE: ''tri({{ArgTypeString}} output_name0.1) ====''
''ExampleDESCRIPTION: get_standard_output("S11M")''Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.
Description: Returns the computed value of the specified standard output parameter at the end of a simulation.====tri_wave====
====save_dataSYNTAX: tri_wave({{ArgTypeStringArgTypeReal}} directory_namex) ====
EXAMPLE: ''Example: save_datatri_wave("Simulation_Data"0.5)''
DescriptionDESCRIPTION: Saves [[EM.Cube]]'s output simulation data files under Computes and returns the specified directoryperiodic triangular wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0.
====plot_file({{ArgTypeString}} filename) triangle_strip====
''ExampleSYNTAX: plot_filetriangle_strip("D0.DAT"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)''
DescriptionEXAMPLE: Plots the contents of a specified data file in EM.Grid.''triangle_strip("ts_1",0,0,0,50,100,90)''
====mesh()====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.
Description: Generates and displays the mesh of the physical structure.====union====
====emtempo_mesh_settingsSYNTAX: union({{ArgTypeAnyArgTypeString}} cells_per_lambdalabel, {{ArgTypeAnyArgTypeString}} ratio_contourobject_1, {{ArgTypeAnyArgTypeString}} ratio_thin, {{ArgTypeAny}} ratio_absobject_2)====
EXAMPLE: ''Example: emtempo_mesh_settingsunion(30,0.1"Union_Object",0.1"Rect_Strip1",0.02"Rect_Strip2")''
DescriptionDESCRIPTION: Sets the parameters of [[EM.Tempo]]Creates a Boolean object named 's adaptive mesh generatorlabel' by unioning object_1 and object_2. ====emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda)==== ''Example: emillumina_mesh_settings(30) 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]]'''