Difference between revisions of "Glossary of EM.Cube's Python Functions"

From Emagtech Wiki
Jump to: navigation, search
 
(124 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The table below gives a list of all the currently available library functions in [[EM.Cube]]:
+
<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"
 
{| class="wikitable"
| style="width:150px;" !scope="col"| Syntax
+
!scope="col"| Syntax
| style="width:120px;" !scope="col"| Type
+
!scope="col"| Type
| style="width:300px;" !scope="col"| Description
+
!scope="col"| Description
| style="width:300px;" !scope="col"| Notes
+
 
|-
 
|-
| sign(x)
+
| style="width:80px;" | -p
| Std. Python function
+
| style="width:150px;" | Std. Python operator
| Sign function
+
| style="width:270px;" | negative of p
| 1 if x>0, -1 if x<0
+
 
|-
 
|-
| fac(x)
+
| style="width:80px;" | p=q
| Std. Python function
+
| style="width:150px;" | Std. Python operator
| Factorial
+
| style="width:270px;" | p is equal to q
| For integer values of x: n! = n(n-1)(n-2)...3.2.1
+
 
|-
 
|-
| fac2(x)
+
| style="width:80px;" | p+q
| Std. Python function
+
| style="width:150px;" | Std. Python operator
| Double factorial
+
| style="width:270px;" | sum of p and q
| For even integer values of x: n!! = n(n-2)(n-4)...4.2, for odd integer values of x: n!! = n(n-2)(n-4)...5.3
+
 
|-
 
|-
| ceiling(x)
+
| style="width:80px;" | p-q
| Std. Python function
+
| style="width:150px;" | Std. Python operator
| Ceiling function
+
| style="width:270px;" | difference p and q
| Nearest integer >= x
+
 
|-
 
|-
| floor(x)
+
| style="width:80px;" | p*q
| Std. Python function
+
| style="width:150px;" | Std. Python operator
| Floor function
+
| style="width:270px;" | product of p and q
| Nearest integer <= x
+
|-
 +
| 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"
 +
!scope="col"| Syntax
 +
!scope="col"| Type
 +
!scope="col"| Description
 +
!scope="col"| Notes
 +
|-
 +
| style="width:80px;" | abs(x)
 +
| style="width:150px;" | Std. Python function
 +
| style="width:270px;" | Absolute value function
 +
| style="width:270px;" | x if x>0, -x if x<0
 
|-
 
|-
| power(x,y)
+
| pow(x,y)
 
| Std. Python function
 
| Std. Python function
 
| Power function
 
| Power function
Line 40: Line 101:
 
| Std. Python function
 
| Std. Python function
 
| Square root function
 
| Square root function
| x^(1/2)
+
| pow(x,0.5)
 
|-
 
|-
 
| exp(x)
 
| exp(x)
 
| Std. Python function
 
| Std. Python function
 
| Exponential function
 
| Exponential function
| e**x
+
| pow(e,x)
 
|-
 
|-
 
| log(x)
 
| log(x)
Line 57: Line 118:
 
| ln(x)/ln(10)
 
| ln(x)/ln(10)
 
|-
 
|-
| log(x,a)
+
| factorial(x)
 
| Std. Python function
 
| Std. Python function
| Base a logarithm function
+
| Factorial
| ln(x)/ln(a)
+
| for integer values of x: n! = n(n-1)(n-2)...3.2.1
 
|-
 
|-
| abs(x)
+
| max(x,y)
 
| Std. Python function
 
| Std. Python function
| Absolute value function
+
| Maximum of x and y
| x if x>0, -x if x<0
+
| -
 +
|-
 +
| min(x,y)
 +
| Std. Python function
 +
| Minimum of x and y
 +
| -
 
|-
 
|-
 
| sin(x)
 
| sin(x)
Line 80: Line 146:
 
| Std. Python function
 
| Std. Python function
 
| Tangent function
 
| Tangent function
| -
 
|-
 
| sec(x)
 
| Std. Python function
 
| Secant function
 
| -
 
|-
 
| csc(x)
 
| Std. Python function
 
| Cosecant function
 
| -
 
|-
 
| cot(x)
 
| Std. Python function
 
| Cotangent function
 
 
| -
 
| -
 
|-
 
|-
Line 115: Line 166:
 
| Std. Python function
 
| Std. Python function
 
| Inverse tangent function
 
| Inverse tangent function
| -
 
|-
 
| asec(x)
 
| Std. Python function
 
| Inverse secant function
 
| -
 
|-
 
| acsc(x)
 
| Std. Python function
 
| Inverse cosecant function
 
| -
 
|-
 
| acot(x)
 
| Std. Python function
 
| Inverse cotangent function
 
 
| -
 
| -
 
|-
 
|-
Line 147: Line 183:
 
| -
 
| -
 
|-
 
|-
| sech(x)
+
| np.arcsinh(x)
 
| Std. Python function
 
| Std. Python function
| Hyperbolic secant function
+
| Inverse hyperbolic sine function
 
| -
 
| -
 
|-
 
|-
| csch(x)
+
| np.arccosh(x)
 
| Std. Python function
 
| Std. Python function
| Hyperbolic cosecant function
+
| Inverse hyperbolic cosine function
 
| -
 
| -
 
|-
 
|-
| coth(x)
+
| np.arctanh(x)
 
| Std. Python function
 
| Std. Python function
| Hyperbolic cotangent function
+
| Inverse hyperbolic tangent function
 
| -
 
| -
 
|-
 
|-
| asinh(x)
+
| np.floor(x)
 
| Std. Python function
 
| Std. Python function
| Inverse hyperbolic sine function
+
| Floor function
| -
+
| nearest integer <= x
 +
|}
 +
 
 +
== Advanced Mathematical Python Functions ==
 +
 
 +
{| class="wikitable"
 +
!scope="col"| Syntax
 +
!scope="col"| Type
 +
!scope="col"| Description
 +
!scope="col"| Notes
 
|-
 
|-
| acosh(x)
+
| style="width:80px;" | sp.sici(x)
| Std. Python function
+
| style="width:150px;" | Std. Python function
| Inverse hyperbolic cosine function
+
| style="width:270px;" | Sine and cosine integral functions
| -
+
| style="width:270px;" | see [https://en.wikipedia.org/wiki/Trigonometric_integral Trigonometric Integrals on Wikipedia.]
 
|-
 
|-
| atanh(x)
+
| sp.fresnel(x)
 
| Std. Python function
 
| Std. Python function
| Inverse hyperbolic tangent function
+
| Sine and cosine Fresnel integral functions
| -
+
| see [https://en.wikipedia.org/wiki/Fresnel_integral Fresnel Integrals on Wikipedia.]
 
|-
 
|-
| asech(x)
+
| sp.ellipe(x)
 
| Std. Python function
 
| Std. Python function
| Inverse hyperbolic secant function
+
| Elliptic function of the first kind
| -
+
| see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
 
|-
 
|-
| acsch(x)
+
| sp.ellipk(x)
 
| Std. Python function
 
| Std. Python function
| Inverse hyperbolic cosecant function
+
| Elliptic function of the second kind
| -
+
| see [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
 
|-
 
|-
| acoth(x)
+
| sp.expi(x)
 
| Std. Python function
 
| Std. Python function
| Inverse hyperbolic cotangent function
+
| Exponential integral function
| -
+
| see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
 
|-
 
|-
| Ci(x)
+
| sp.expn(n,x)
 
| Std. Python function
 
| Std. Python function
| Cosine integral function
+
| Generalized exponential integral function of order n
| See [https://en.wikipedia.org/wiki/Trigonometric_integral Trigonometric Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
 
|-
 
|-
| Si(x)
+
| sp.erf(x)
 
| Std. Python function
 
| Std. Python function
| Sine integral function
+
| Error function
| See [https://en.wikipedia.org/wiki/Trigonometric_integral Trigonometric Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
 
|-
 
|-
| C(x)
+
| sp.erfc(x)
 
| Std. Python function
 
| Std. Python function
| Cosine Fresnel integral function
+
| Complementary error function
| See [https://en.wikipedia.org/wiki/Fresnel_integral Fresnel Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
 
|-
 
|-
| S(x)
+
| sp.gamma(x)
 
| Std. Python function
 
| Std. Python function
| Sine Fresnel integral function
+
| Gamma function
| See [https://en.wikipedia.org/wiki/Fresnel_integral Fresnel Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Gamma_function Gamma Function on Wikipedia.]
 
|-
 
|-
| Ellip_E(x)
+
| sp.airy(x)
 
| Std. Python function
 
| Std. Python function
| Elliptic function of the first kind
+
| Airy function of the first (Ai) and second (Bi) kind and their derivatives
| See [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Airy_function Airy Functions on Wikipedia.]
 
|-
 
|-
| Ellip_K(x)
+
| sp.j0(x)
 
| Std. Python function
 
| Std. Python function
| Elliptic function of the second kind
+
| Bessel function of the first kind and order 0
| See [https://en.wikipedia.org/wiki/Elliptic_integral Elliptic Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Ei(x)
+
| sp.j1(x)
 
| Std. Python function
 
| Std. Python function
| Exponential integral function
+
| Bessel function of the first kind and order 1
| See [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| En(n,x)
+
| sp.jv(n,x)
 
| Std. Python function
 
| Std. Python function
| Generalized exponential integral function of order n
+
| Bessel function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Exponential_integral Exponential Integrals on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| gauss(x)
+
| sp.y0(x)
 
| Std. Python function
 
| Std. Python function
| Gaussian function
+
| Bessel function of the second kind and order 0
| -
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| erf(x)
+
| sp.y1(x)
 
| Std. Python function
 
| Std. Python function
| Error function
+
| Bessel function of the second kind and order 1
| See [https://en.wikipedia.org/wiki/Error_function Error Function on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| gamma(x)
+
| sp.yv(n,x)
 
| Std. Python function
 
| Std. Python function
| Gamma function
+
| Bessel function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Gamma_function Gamma Function on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Airy_A(x)
+
| sp.i0(x)
 
| Std. Python function
 
| Std. Python function
| Airy function of the first kind
+
| Modified Bessel function of the first kind and order 0
| See [https://en.wikipedia.org/wiki/Airy_function Airy Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Airy_B(x)
+
| sp.i1(x)
 
| Std. Python function
 
| Std. Python function
| Airy function of the second kind
+
| Modified Bessel function of the first kind and order 1
| See [https://en.wikipedia.org/wiki/Airy_function Airy Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Jn(n,x)
+
| sp.iv(n,x)
 
| Std. Python function
 
| Std. Python function
| Bessel function of the first kind and order n
+
| Modified Bessel function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Yn(n,x)
+
| sp.k0(x)
 
| Std. Python function
 
| Std. Python function
| Bessel function of the second kind and order n
+
| Modified Bessel function of the second kind and order 0
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| In(n,x)
+
| sp.k1(x)
 
| Std. Python function
 
| Std. Python function
| Modified Bessel function of the first kind and order n
+
| Modified Bessel function of the second kind and order 1
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Kn(n,x)
+
| sp.kv(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Modified Bessel function of the second kind and order n
 
| Modified Bessel function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| SB_jn(n,x)
+
| sp.sph_jn(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Spherical Bessel function of the first kind and order n
 
| Spherical Bessel function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| SB_yn(n,x)
+
| sp.sph_yn(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Spherical Bessel function of the second kind and order n
 
| Spherical Bessel function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| SB_in(n,x)
+
| sp.sph_in(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Modified spherical Bessel function of the first kind and order n
 
| Modified spherical Bessel function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| SB_kn(n,x)
+
| sp.sph_kn(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Modified spherical Bessel function of the second kind and order n
 
| Modified spherical Bessel function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Bessel_function Bessel Functions on Wikipedia.]
 
|-
 
|-
| Pn(n,x)
+
| sp.lpn(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Legendre function of the first kind and order n
 
| Legendre function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
 
|-
 
|-
| Qn(n,x)
+
| sp.lqn(n,x)
 
| Std. Python function
 
| Std. Python function
 
| Legendre function of the second kind and order n
 
| Legendre function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
 
|-
 
|-
| Tn(n,x)
+
| sp.lpmn(m,n,x)
 
| Std. Python function
 
| Std. Python function
| Chebyshev polynomial of the first kind and order n
+
| Associated Legendre function of the first kind and order n
| See [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Legendre_polynomial Legendre Polynomials on Wikipedia.]
 
|-
 
|-
| Un(n,x)
+
| sp.lqmn(m,n,x)
 
| Std. Python function
 
| Std. Python function
| Chebyshev polynomial of the second kind and order n
+
| Associated Legendre function of the second kind and order n
| See [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
 
|-
 
|-
| LGn(n,x)
+
| sp.eval_chebyt(n,x)
 
| Std. Python function
 
| Std. Python function
| Laguerre polynomial of order n
+
| Chebyshev polynomial of the first kind and order n
| See [https://en.wikipedia.org/wiki/Laguerre_polynomials Laguerre Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
 
|-
 
|-
| Hn(n,x)
+
| sp.eval_chebyu(n,x)
 
| Std. Python function
 
| Std. Python function
| Hermite polynomial of order n
+
| Chebyshev polynomial of the second kind and order n
| See [https://en.wikipedia.org/wiki/Hermite_polynomials Hermite Polynomials on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Chebyshev_polynomials Chebyshev Polynomials on Wikipedia.]
 
|-
 
|-
| Un(n,x)
+
| sp.eval_legendre(n,x)
 
| Std. Python function
 
| Std. Python function
| Hermite-Gauss function of order n
+
| Legendre polynomial of order n
| -
+
| see [https://en.wikipedia.org/wiki/Legendre_polynomials Legendre Polynomials on Wikipedia.]
 
|-
 
|-
| Math_ce(n,r,x)
+
| sp.eval_laguerre(n,x)
 
| Std. Python function
 
| Std. Python function
| Even periodic (cosine) Mathieu function of order n
+
| Laguerre polynomial of order n
| See [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Laguerre_polynomials Laguerre Polynomials on Wikipedia.]
 
|-
 
|-
| Math_se(n,r,x)
+
| sp.eval_hermite(n,x)
 
| Std. Python function
 
| Std. Python function
| Odd periodic (sine) Mathieu function of order n
+
| Hermite polynomial of order n
| See [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
+
| see [https://en.wikipedia.org/wiki/Hermite_polynomials Hermite Polynomials on Wikipedia.]
 
|-
 
|-
| Rect(x)
+
| sp.mathieu_cem(n,q,x)
| EMAG Python function
+
| Std. Python function
| Rectangle function
+
| Even Mathieu function of order n and its derivative
| 1 if |x|&le;0.5, 0 elsewhere
+
| see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
 
|-
 
|-
| Tri(x)
+
| sp.mathieu_sem(n,q,x)
| EMAG Python function
+
| Std. Python function
| Triangle function
+
| Odd Mathieu function of order n and its derivative
| 1 if |1-x|&le;1, 0 elsewhere
+
| see [https://en.wikipedia.org/wiki/Mathieu_function Mathieu Functions on Wikipedia.]
|-
+
| Spln2(x)
+
| EMAG Python function
+
| Quadratic spline function
+
| -
+
|-
+
| Spln3(x)
+
| EMAG Python function
+
| Cubic spline function
+
| -
+
|-
+
| Step(x)
+
| EMAG Python function
+
| Step function
+
| 1 if x>0, 0 if x<0
+
|-
+
| Haar(x)
+
| EMAG Python function
+
| Haar function
+
| sign(x) if |x|<0.5, 0 elsewhere
+
|-
+
| Ramp(x)
+
| EMAG Python function
+
| Ramp function
+
| -
+
|-
+
| Trapz(a,x)
+
| EMAG Python function
+
| Trapezoidal function
+
| -
+
|-
+
| Sqwv(x)
+
| EMAG Python function
+
| Square wave function
+
| -
+
|-
+
| Stwv(x)
+
| EMAG Python function
+
| Sawtooth wave function
+
| -
+
|-
+
| Trwv(x)
+
| EMAG Python function
+
| Triangle wave function
+
| -
+
|-
+
| Plstr(d,x)
+
| EMAG Python function
+
| Pulse train function with duty cycle d
+
| -
+
|-
+
| Sinc(d,x)
+
| EMAG Python function
+
| Sinc function
+
| sin(pi*x)/(pi*x)
+
|-
+
| Fejer(n,x)
+
| EMAG Python function
+
| Fejer function of order n
+
| -
+
|-
+
| Rand(x)
+
| EMAG Python function
+
| Random function
+
| -
+
|-
+
| Z0_MS(e,x)
+
| EMAG Python function
+
| Characteristic impedance of a microstrip transmission line
+
| x: width-to-height ratio, e: substrate permittivity
+
|-
+
| w_MS(z,e,t)
+
| EMAG Python function
+
| Width of a microstrip transmission line 
+
| z: characteristic impedance, e: substrate permittivity, t: substrate thickness
+
|-
+
| eeff_MS(e,x)
+
| EMAG Python function
+
| Effective permittivity of a microstrip transmission line
+
| x: width-to-height ratio, e: substrate permittivity
+
|-
+
| woh_MS(e,z)
+
| EMAG Python function
+
| Width-to-height ratio of a microstrip transmission line
+
| z: characteristic impedance z, e: substrate permittivity
+
|-
+
| Z0_CPW(e,x,y)
+
| EMAG Python function
+
| Characteristic impedance of a coplanar waveguide transmission line
+
| x: slot width-to-height ratio, y: center strip width-to-height ratio, e: substrate permittivity
+
|-
+
| eeff_CPW(e,x,y)
+
| EMAG Python function
+
| Effective permittivity of a coplanar waveguide transmission line 
+
| x: slot width-to-height ratio, y: center strip width-to-height ratio, e: substrate permittivity
+
|-
+
| horn_a(d,x,y)
+
| EMAG Python function
+
| Wavelength-normalized a-dimension of an optimal pyramidal horn antenna 
+
| d: directivity d, x and y: wavelength-normalized waveguide dimensions
+
|-
+
| horn_b(d,x,y)
+
| EMAG Python function
+
| Wavelength-normalized b-dimension of an optimal pyramidal horn antenna 
+
| d: directivity d, x and y: wavelength-normalized waveguide dimensions
+
|-
+
| horn_l(d,x,y)
+
| EMAG Python function
+
| Wavelength-normalized length of an optimal pyramidal horn antenna 
+
| d: directivity d, x and y: wavelength-normalized waveguide dimensions
+
 
|}
 
|}
  
<p>&nbsp;</p>
+
== EM.Cube's Native Python Functions ==
[[Image:Back_icon.png|40px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
+
 
 +
====activate====
 +
 
 +
SYNTAX: activate({{ArgTypeString}} group_node_label)
 +
 
 +
EXAMPLE: ''activate("Color_1")''
 +
 
 +
DESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube]] module for insertion of new objects.
 +
 
 +
====add_variable====
 +
 
 +
SYNTAX: add_variable({{ArgTypeString}} var_name, {{ArgTypeAny}} value)
 +
 
 +
EXAMPLE: ''add_variable("MyVar",1)''
 +
 
 +
DESCRIPTION: Adds a new variable to [[EM.Cube]]'s variable list.
 +
 
 +
====array====
 +
 
 +
SYNTAX: array({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing)
 +
 
 +
EXAMPLE: ''array("Array_1","Rect_Strip_1",4,4,1,50,50,0)''
 +
 
 +
DESCRIPTION: Creates or modifies an array object.
 +
 
 +
====array_custom====
 +
 
 +
SYNTAX: array_custom({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x_count, {{ArgTypeAny}} y_count, {{ArgTypeAny}} z_count, {{ArgTypeAny}} x_spacing, {{ArgTypeAny}} y_spacing, {{ArgTypeAny}} z_spacing, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
 +
 
 +
EXAMPLE: ''array_custom("Array_1","Rect_Strip_1",4,4,1,50,50,0,100,100,20,0,0,45)''
 +
 
 +
DESCRIPTION: Creates or modifies an array object and sets its local coordinate system and rotation angles.
 +
 
 +
====background_layer====
 +
 
 +
SYNTAX: background_layer({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness)
 +
 
 +
EXAMPLE: ''background_layer("Mid_Layer",3.3,0.001,1,1.5)''
 +
 
 +
DESCRIPTION: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.
 +
 
 +
====base_point_group====
 +
 
 +
SYNTAX: base_point_group({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''base_point_set("BP_Set_1")''
 +
 
 +
DESCRIPTION: Creates a base point set in [[EM.Terrano]]. If the base point set group 'label' already exists, the group is activated.
 +
 
 +
====bh_step====
 +
 
 +
SYNTAX: bh_step({{ArgTypeReal}} x, {{ArgTypeReal}} T)
 +
 
 +
EXAMPLE: ''bh_step(0.5,1)''
 +
 
 +
DESCRIPTION: Computes and returns the Blackman-Harris step function.
 +
 
 +
====bh_window====
 +
 
 +
SYNTAX: bh_window({{ArgTypeReal}} x, {{ArgTypeReal}} T)
 +
 
 +
EXAMPLE: ''bh_window(0.5,1)''
 +
 
 +
DESCRIPTION: Computes and returns the Blackman-Harris window function.
 +
 
 +
====box====
 +
 
 +
SYNTAX: box({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height[, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
 +
 
 +
EXAMPLE: ''box("Box_1",0,0,0,50,50,100)''
 +
 
 +
DESCRIPTION: Draws a box object in the project workspace under the currently activated material group node, or modifies the box named 'label' if it already exists.
 +
 
 +
====capacitance====
 +
 
 +
SYNTAX: capacitance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
 +
 
 +
EXAMPLE: ''capacitance("FI_1",-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====
 +
 
 +
SYNTAX: circ_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} inner_radius, {{ArgTypeAny}} outer_radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
 +
 
 +
EXAMPLE: ''circ_strip("cs_1",0,0,0,50,0)''
 +
 
 +
DESCRIPTION: Draws a circle strip object in the project workspace under the currently activated material group node, or modifies the circle strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the circle strip's azimuth axis.
 +
 
 +
====circle====
 +
 
 +
SYNTAX: circle({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle)
 +
 
 +
EXAMPLE: ''circle("pyramid_1",0,0,0,10,10,100)''
 +
 
 +
DESCRIPTION: Draws a circular curve object in the project workspace under the currently activated material group node, or modifies the circle named 'label' if it already exists. The parameters start_angle and end_angle are in degrees.
 +
 
 +
====clone====
 +
 
 +
SYNTAX: clone({{ArgTypeString}} label,  {{ArgTypeString}} object,  {{ArgTypeReal}} x0, {{ArgTypeReal}} y0, {{ArgTypeReal}} z0)
 +
 
 +
EXAMPLE: ''clone("NewObj","MyObj",10,10,0)''
 +
 
 +
DESCRIPTION: Creates a copy of the specified object and repositions it at the given coordinates.
 +
 
 +
====close_curve====
 +
 
 +
SYNTAX: close_curve({{ArgTypeString}} label, {{ArgTypeString}} close_state)
 +
 
 +
EXAMPLE: ''close_curve("Curve_1",1)''
 +
 
 +
DESCRIPTION: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve.
 +
 
 +
====coaxial_design====
 +
 
 +
SYNTAX: coaxial_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''coaxial_design(50,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the ratio of the radius of the outer conductor to the radius of the inner conductor of a coaxial transmission line of characteristic impedance z0 (in Ohms) with core relative permittivity er.
 +
 
 +
====coaxial_src====
 +
 
 +
SYNTAX: coaxial_src({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''coaxial_src("COAX_1","Cyl_1",1.5,"+z")''
 +
 
 +
DESCRIPTION: Creates a coaxial port source in [[EM.Tempo]]. If the coaxial port 'label' already exists, its properties are modified.
 +
 
 +
====color_group====
 +
 
 +
SYNTAX: color_group({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''color_group("Color_1")''
 +
 
 +
DESCRIPTION: Creates a color group in CubeCAD module.  If the color group 'label' already exists, the group is activated.
 +
 
 +
====conduction_current_integral====
 +
 
 +
SYNTAX: conduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''conduction_current_integral("FI_1",-10,-10,0,10,10,0)''
 +
 
 +
DESCRIPTION: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====conductive_sheet_group====
 +
 
 +
SYNTAX: conductive_sheet_group({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)
 +
 
 +
EXAMPLE: ''conductive_sheet_group("Cond_1",100, 0.01)''
 +
 
 +
DESCRIPTION: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated.
 +
 
 +
====cone====
 +
 
 +
SYNTAX: cone({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} top_radius, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
 +
 
 +
EXAMPLE: ''cone("Cone_1",0,0,0,30,40,20,0,180)''
 +
 
 +
DESCRIPTION: Draws a cone object in the project workspace under the currently activated material group node, or modifies the cone named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axis.
 +
 
 +
====consolidate====
 +
 
 +
SYNTAX: consolidate({{ArgTypeString}} object)
 +
 
 +
EXAMPLE: ''consolidate("Poly_1")''
 +
 
 +
DESCRIPTION: Consolidates a specified object.
 +
 
 +
====cpw_design_s====
 +
 
 +
SYNTAX: cpw_design_s({{ArgTypeReal}} z0, {{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''cpw_design_s(50,2,0.5,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the center strip width (in meters) of a CPW transmission line of characteristic impedance z0 with slot width w, substrate height h and substrate relative permittivity er.
 +
 
 +
====cpw_design_w====
 +
 
 +
SYNTAX: cpw_design_w({{ArgTypeReal}} z0, {{ArgTypeReal}} s, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''cpw_design_w(50,1,0.5,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the slot width (in meters) of a CPW transmission line of characteristic impedance z0 with center strip width s, substrate height h and substrate relative permittivity er.
 +
 
 +
====cpw_src====
 +
 
 +
SYNTAX: cpw_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} spacing, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''cpw_src("CPW_1","Rect_1",1.5,"+x")''
 +
 
 +
DESCRIPTION: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already exists, its properties are modified.
 +
 
 +
====cubecad_mesh_settings====
 +
 
 +
SYNTAX: cubecad_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol)
 +
 
 +
EXAMPLE: ''cubecad_mesh_settings(5,10)''
 +
 
 +
DESCRIPTION: Sets the parameters of CubeCAD's mesh generator.
 +
 
 +
====current_dist====
 +
 
 +
SYNTAX: current_dist({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''current_dist("CD_1")''
 +
 
 +
DESCRIPTION: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====current_integral====
 +
 
 +
SYNTAX: current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''current_integral("FI_1",-10,-10,0,10,10,0)''
 +
 
 +
DESCRIPTION: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====cylinder====
 +
 
 +
SYNTAX: cylinder({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} height[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle, {{ArgTypeAny}} cap_top, {{ArgTypeAny}} cap_bottom])
 +
 
 +
EXAMPLE: ''cylinder("Cylinder_1",0,0,0,10,100)''
 +
 
 +
DESCRIPTION: Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis.
 +
 
 +
====delete====
 +
 
 +
SYNTAX: delete({{ArgTypeString}} node_name)
 +
 
 +
EXAMPLE: ''delete("Box_1")''
 +
 
 +
DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. 
 +
 
 +
====delete_background_layer====
 +
 
 +
SYNTAX: delete_background_layer({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''delete_background_layer("Mid_Layer")''
 +
 
 +
DESCRIPTION: Deletes a finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup.
 +
 
 +
====dielectric_group====
 +
 
 +
SYNTAX: dielectric_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} rho)
 +
 
 +
EXAMPLE: ''dielectric_group("Dielectric_1","my_eps",0,1,0)''
 +
 
 +
DESCRIPTION: Creates a dielectric material group in the current module with the specified material properties.  If the dielectric group 'label' already exists, the group is activated.
 +
 
 +
====diode====
 +
 
 +
SYNTAX: diode({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} polarity, {{ArgTypeAny}} is_fA, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factor)
 +
 
 +
EXAMPLE: ''diode("Diode_1","Line_1",25,0,10,300,1)''
 +
 
 +
DESCRIPTION: Creates a diode in [[EM.Tempo]]. If the diode 'label' already exists, its properties are modified.
 +
 
 +
====distributed_src====
 +
 
 +
SYNTAX: distributed_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''distributed_src("DS_1","Rect_1","+y","uniform")''
 +
 
 +
DESCRIPTION: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.
 +
 
 +
====ellipse_strip====
 +
 
 +
SYNTAX: ellipse_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
 +
 
 +
EXAMPLE: ''ellipse_strip("es_1",0,0,0,50,0)''
 +
 
 +
DESCRIPTION: Draws a ellipse strip object in the project workspace under the currently activated material group node, or modifies the ellipse strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse strip's azimuth axis.
 +
 
 +
====ellipsoid====
 +
 
 +
SYNTAX: ellipsoid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_x, {{ArgTypeAny}} radius_y, {{ArgTypeAny}} radius_z[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
 +
 
 +
EXAMPLE: ''ellipsoid("Ellipsoid_1",0,0,0,100,100,50,0,360)''
 +
 
 +
DESCRIPTION: Draws an ellipsoid object in the project workspace under the currently activated material group node, or modifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipsoid's azimuth axis.
 +
 
 +
====emferma_engine_settings====
 +
 
 +
SYNTAX: emferma_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
 +
 
 +
EXAMPLE: ''emferma_engine_settings("bicg-stab",1e-3,100)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Ferma]]'s electrostatic and magnetostatic simulation engines.
 +
 
 +
====emferma_mesh_settings====
 +
 
 +
SYNTAX: emferma_mesh_settings({{ArgTypeAny}} cell_size_x, {{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z)
 +
 
 +
EXAMPLE: ''emferma_mesh_settings(0.5,0.5,0.5)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator.
 +
 
 +
====emillumina_engine_settings====
 +
 
 +
SYNTAX: emillumina_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} is_fixed_iteration, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
 +
 
 +
EXAMPLE: ''emillumina_engine_settings("ipo",0,1e-2,20)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine.
 +
 
 +
====emillumina_mesh_settings====
 +
 
 +
SYNTAX: emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda)
 +
 
 +
EXAMPLE: ''emillumina_mesh_settings(30)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Illumina]]'s mesh generator.
 +
 
 +
====emlibera_engine_settings_smom====
 +
 
 +
SYNTAX: emlibera_engine_settings_smom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations, {{ArgTypeAny}} ncpus, {{ArgTypeString}} formulation, {{ArgTypeAny}} alpha)
 +
 
 +
EXAMPLE: ''emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Libera]]'s surface MoM simulation engines.
 +
 
 +
====emlibera_engine_settings_wmom====
 +
 
 +
SYNTAX: emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
 +
 
 +
EXAMPLE: ''emlibera_engine_settings_wmom("bicg",1e-3,1000)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Libera]]'s wire MoM simulation engines.
 +
 
 +
====emlibera_mesh_settings====
 +
 
 +
SYNTAX: emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda)
 +
 
 +
EXAMPLE: ''emlibera_mesh_settings(30)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Libera]]'s mesh generator.
 +
 
 +
====empicasso_engine_settings====
 +
 
 +
SYNTAX: empicasso_engine_settings({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)
 +
 
 +
EXAMPLE: ''empicasso_engine_settings("bicg",1e-3,1000)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Picasso]]'s planar MoM simulation engine.
 +
 
 +
====empicasso_mesh_settings====
 +
 
 +
SYNTAX: empicasso_mesh_settings({{ArgTypeAny}} cells_per_lambda)
 +
 
 +
EXAMPLE: ''empicasso_mesh_settings(30)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Picasso]]'s planar hybrid mesh generator.
 +
 
 +
====emtempo_engine_settings====
 +
 
 +
SYNTAX: emtempo_engine_settings({{ArgTypeString}} engine, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps)
 +
 
 +
EXAMPLE: ''emtempo_engine_settings("single-precision",-50,20000)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s FDTD simulation engine.
 +
 
 +
====emtempo_mesh_settings====
 +
 
 +
SYNTAX: emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambda, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs)
 +
 
 +
EXAMPLE: ''emtempo_mesh_settings(30,0.1,0.1,0.02)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator.
 +
 
 +
====emterrano_engine_settings====
 +
 
 +
SYNTAX: emterrano_engine_settings({{ArgTypeAny}} bounce_count, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold)
 +
 
 +
EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine.
 +
 
 +
====emterrano_mesh_settings====
 +
 
 +
SYNTAX: emterrano_mesh_settings({{ArgTypeAny}} edge_length, {{ArgTypeAny}} angle_tol)
 +
 
 +
EXAMPLE: ''emterrano_mesh_settings(5,10)''
 +
 
 +
DESCRIPTION: Sets the parameters of [[EM.Terrano]]'s facet mesh generator.
 +
 
 +
====energy_electric====
 +
 
 +
SYNTAX: energy_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''energy_electric("FI_1",-10,-10,-10,10,10,10)''
 +
 
 +
DESCRIPTION: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====energy_magnetic====
 +
 
 +
SYNTAX: energy_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)''
 +
 
 +
DESCRIPTION: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable '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====
 +
 
 +
SYNTAX: export_dxf({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''export_dxf("MyDXFModel.DXF")''
 +
 
 +
DESCRIPTION: Exports the physical structure of the project workspacean to a DXF model file. If the file path is not specified, the current project folder is assumed as the path.
 +
 
 +
====export_py====
 +
 
 +
SYNTAX: export_py({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''export_py("MyPYModel.PY")''
 +
 
 +
DESCRIPTION: Exports the physical structure of the project workspace or the current object selection to a Python geometry file. The default path is the Python subfolder under "Documents &rarr; EMAG".
 +
 
 +
====export_stl====
 +
 
 +
SYNTAX: export_stl({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''export_stl("MySTLModel.STL")''
 +
 
 +
DESCRIPTION: Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified, the current project folder is assumed as the path.
 +
 
 +
====extrude====
 +
 
 +
SYNTAX: extrude({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} extrude_height, {{ArgTypeAny}} cap_ends)
 +
 
 +
EXAMPLE: ''extrude("Extrude_1","Rect_Strip1",50)''
 +
 
 +
DESCRIPTION:  Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object, the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the face's normal.
 +
 
 +
====farfield====
 +
 
 +
SYNTAX: farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)
 +
 
 +
EXAMPLE: ''farfield("FF_1",1,1)''
 +
 
 +
DESCRIPTION: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====field_probe====
 +
 
 +
SYNTAX: field_probe({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
 +
 
 +
EXAMPLE: ''field_probe("FS_1",0,0,50)''
 +
 
 +
DESCRIPTION: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====field_sensor====
 +
 
 +
SYNTAX: field_sensor({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} xSize, {{ArgTypeAny}} ySize, {{ArgTypeAny}} zSize, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)
 +
 
 +
EXAMPLE: ''field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''
 +
 
 +
DESCRIPTION: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====field_sensor_grid====
 +
 
 +
SYNTAX: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
 +
 
 +
EXAMPLE: ''field_sensor_grid("FS_1","z",0,0,0)''
 +
 
 +
DESCRIPTION: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====fill_curve====
 +
 
 +
SYNTAX: fill_curve({{ArgTypeString}} object)
 +
 
 +
EXAMPLE: ''fill_curve("Curve_1")''
 +
 
 +
DESCRIPTION: Fill the interior of the specified closed curve object.
 +
 
 +
====fillet====
 +
 
 +
fillet({{ArgTypeString}} object, {{ArgTypeAny}} radius)
 +
 
 +
EXAMPLE: ''fillet("Rect_1",5)''
 +
 
 +
DESCRIPTION: Fillets the corners of the specified surface or curve object by the specified radius.
 +
 
 +
====flux_electric====
 +
 
 +
SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''flux_electric("FI_1",-10,-10,5,10,10,10)''
 +
 
 +
DESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====flux_magnetic====
 +
 
 +
SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''flux_magnetic("FI_1",0,0,-10,10,0,10)''
 +
 
 +
DESCRIPTION: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====fractal_tree====
 +
 
 +
SYNTAX: fractal_tree({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} key_type, {{ArgTypeAny}} key_size, {{ArgTypeAny}} n_level, {{ArgTypeAny}} sep_angle, {{ArgTypeAny}} n_gen, {{ArgTypeAny}} prune_factor, {{ArgTypeAny}} thickness, {{ArgTypeAny}} thick_factor)
 +
 
 +
EXAMPLE: ''fractal_tree("Fractal_1",0,0,0,"line",10,3,30,3,0,0,0)''
 +
 
 +
DESCRIPTION: Generates a fractal tree in the project workspace under the currently activated material group node, or modifies the fractal tree named 'label' if it already exists.
 +
 
 +
====freeze====
 +
 
 +
SYNTAX: freeze({{ArgTypeString}} object,  {{ArgTypeReal}} freeze_state)
 +
 
 +
EXAMPLE: ''freeze("MyObj",1)''
 +
 
 +
DESCRIPTION: Sets the freeze state of an object (0/1). 
 +
 
 +
====gauss====
 +
 
 +
SYNTAX: gauss({{ArgTypeReal}} x, ArgTypeReal}} mu, ArgTypeReal}} sigma)
 +
 
 +
EXAMPLE: ''gauss(0.5,0,1)''
 +
 
 +
DESCRIPTION: Computes and returns the Gaussian 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 area of a surface object or the total surface area of a solid object.
 +
 
 +
====get_axis====
 +
 
 +
SYNTAX: get_axis({{ArgTypeString}} object, {{ArgTypeString}} axis, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_axis("pyramid_1","x","y")''
 +
 
 +
DESCRIPTION: Returns the specified coordinate of the unit vector along the specified local axis of an object.
 +
 
 +
====get_domain_extent====
 +
 
 +
SYNTAX: get_domain_extent({{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_domain_extent("x")''
 +
 
 +
DESCRIPTION: Returns the size of the computational domain along the specified direction.
 +
 
 +
====get_extent====
 +
 
 +
SYNTAX: get_extent({{ArgTypeString}} object, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_extent("pyramid_1","x")''
 +
 
 +
DESCRIPTION: Returns the size of the bounding box of an object along the specified direction.
 +
 
 +
====get_lcs====
 +
 
 +
SYNTAX: get_lcs({{ArgTypeString}} object, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_lcs("pyramid_1","x")''
 +
 
 +
DESCRIPTION: Returns the specified coordinate of the LCS of an object.
 +
 
 +
====get_lcs_offset====
 +
 
 +
SYNTAX: get_lcs_offset({{ArgTypeString}} object, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_lcs_offset("box_1",50,50,0,"x")''
 +
 
 +
DESCRIPTION: Returns the specified coordinate of the LCS of an object after being translated by the specified offset values along the three principal axes.
 +
 
 +
====get_length====
 +
 
 +
SYNTAX: get_length({{ArgTypeString}} object)
 +
 
 +
EXAMPLE: ''get_length("helix_1")''
 +
 
 +
DESCRIPTION: Returns the length of a curve object.
 +
 
 +
====get_rot====
 +
 
 +
SYNTAX: get_rot({{ArgTypeString}} object, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_rot("pyramid_1","x")''
 +
 
 +
DESCRIPTION: Returns the specified rotation angle of an object.
 +
 
 +
====get_standard_output====
 +
 
 +
SYNTAX: get_standard_output({{ArgTypeString}} output_name)
 +
 
 +
EXAMPLE: ''get_standard_output("S11M")''
 +
 
 +
DESCRIPTION: Returns the computed value of the specified standard output parameter at the end of a simulation.
 +
 
 +
====get_vertex====
 +
 
 +
SYNTAX: get_vertex({{ArgTypeString}} object, {{ArgTypeAny}} node_index, {{ArgTypeString}} coordinate)
 +
 
 +
EXAMPLE: ''get_vertex("pyramid_1",0,"x")''
 +
 
 +
DESCRIPTION: Returns the specified coordinate of the specified vertex of the bounding box of an object. The vertices are specified by node indices. The lower front left corner has an index of 0, while the upper back right corner has an index of 7. The indices are numbered counterclockwise, with the bottom face first and top face next. 
 +
 
 +
====get_volume====
 +
 
 +
SYNTAX: get_volume({{ArgTypeString}} object)
 +
 
 +
EXAMPLE: ''get_volume("pyramid_1")''
 +
 
 +
DESCRIPTION: Returns the volume of a solid object.
 +
 
 +
====global_ground====
 +
 
 +
SYNTAX: global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
 +
 
 +
EXAMPLE: ''global_ground(1,3.3,0.001)''
 +
 
 +
DESCRIPTION: Set the state of [[EM.Terrano]]'s global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0.
 +
 
 +
====group====
 +
 
 +
SYNTAX: group({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2, ...)
 +
 
 +
EXAMPLE: ''group("Composite_1","Box_1","Box_2","Box_3")''
 +
 
 +
DESCRIPTION: Groups a number of objects into a composite object with the given label.
 +
 
 +
====harm====
 +
 
 +
SYNTAX: harm({{ArgTypeReal}} x, {{ArgTypeReal}} y)
 +
 
 +
EXAMPLE: ''harm(1,2)''
 +
 
 +
DESCRIPTION: Computes and returns the harmonic mean of x and y: 2/(1/x+1/y).
 +
 
 +
====helix====
 +
 
 +
SYNTAX: helix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_dir)
 +
 
 +
EXAMPLE: ''helix("Helix_1",0,0,0,15,15,10,0)''
 +
 
 +
DESCRIPTION: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwise.
 +
 
 +
====horn_design_a====
 +
 
 +
SYNTAX: horn_design_a({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
 +
 
 +
EXAMPLE: ''horn_design_a(15,0.4,0.3)''
 +
 
 +
DESCRIPTION: Computes and returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
 +
 
 +
====horn_design_b====
 +
 
 +
SYNTAX: horn_design_b({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
 +
 
 +
EXAMPLE: ''horn_design_b(15,0.4,0.3)''
 +
 
 +
DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
 +
 
 +
====horn_design_l====
 +
 
 +
SYNTAX: horn_design_l({{ArgTypeReal}} D0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
 +
 
 +
EXAMPLE: ''horn_design_l(15,0.4,0.3)''
 +
 
 +
DESCRIPTION: Computes and returns the wavelength-normalized length of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
 +
 
 +
====huygens_src====
 +
 
 +
SYNTAX: huygens_src({{ArgTypeString}} label, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot])
 +
 
 +
EXAMPLE: ''huygens_src("HS_1","Huygens_1.HUY",1,100,100,0,0,0,0)''
 +
 
 +
DESCRIPTION: Creates a Huygens source. If the Huygens source 'label' already exists, its properties are modified.
 +
 
 +
====huygens_surface====
 +
 
 +
SYNTAX: huygens_surface({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)
 +
 
 +
EXAMPLE: ''huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)''
 +
 
 +
DESCRIPTION: Creates a Huygens surface observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====huygens_surface_grid====
 +
 
 +
SYNTAX: huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''huygens_surface_grid("HS_1",-10,-10,-10,10,10,10)''
 +
 
 +
DESCRIPTION: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====hyperbola====
 +
 
 +
SYNTAX: hyperbola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)
 +
 
 +
EXAMPLE: ''hyperbola("Hyperbola _1",0,0,0,50,40,20,0)''
 +
 
 +
DESCRIPTION: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn. 
 +
 
 +
====impedance_surface_group====
 +
 
 +
SYNTAX: impedance_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} z_real, {{ArgTypeAny}} z_imag)
 +
 
 +
EXAMPLE: ''impedance_surface_group("IMP_1",100,-100)''
 +
 
 +
DESCRIPTION: Creates a impedance_surface group in [[EM.Illumina]]. If the impedance surface group 'label' already exists, the group is activated.
 +
 
 +
====impenetrable_surface_group====
 +
 
 +
SYNTAX: impenetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
 +
 
 +
EXAMPLE: ''impenetrable_surface_group("Impenet_1",2.2,0.0001)''
 +
 
 +
DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated.
 +
 
 +
====import_dxf====
 +
 
 +
SYNTAX: import_dxf({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''import_dxf("MyDXFModel.DXF")''
 +
 
 +
DESCRIPTION: Imports an external 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 &rarr; EMAG".
 +
 
 +
====import_stl====
 +
 
 +
SYNTAX: import_stl({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''import_stl("MySTLModel.STL")''
 +
 
 +
DESCRIPTION: Imports an external STL model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path.
 +
 
 +
====import_stp====
 +
 
 +
SYNTAX: import_stp({{ArgTypeString}} file_name)
 +
 
 +
EXAMPLE: ''import_stp("MySTPModel.STP")''
 +
 
 +
DESCRIPTION: Imports an external STEP model file to the project workspace. If the file path is not specified, the current project folder is assumed as the path.
 +
 
 +
====inductance====
 +
 
 +
SYNTAX: inductance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
 +
 
 +
EXAMPLE: ''inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''
 +
 
 +
DESCRIPTION: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====inductor====
 +
 
 +
SYNTAX: inductor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} inductance_nH)
 +
 
 +
EXAMPLE: ''inductor("Cap_1","Line_1",25,10)''
 +
 
 +
DESCRIPTION: Creates a inductor in [[EM.Tempo]]. If the inductor 'label' already exists, its properties are modified.
 +
 
 +
====intersect====
 +
 
 +
SYNTAX: intersect({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
 +
 
 +
EXAMPLE: ''intersect("Intersection_Object","Rect_Strip1","Rect_Strip2")''
 +
 
 +
DESCRIPTION: Creates a Boolean object named 'label' by intersecting object_1 and object_2.  An error will be thrown if a Boolean object named 'label' already exists.
 +
 
 +
====line====
 +
 
 +
SYNTAX: line({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir])
 +
 
 +
EXAMPLE: ''line("my_line",0,0,0,100,"x")''
 +
 
 +
DESCRIPTION: Draws a Line object in the project workspace under the currently activated material group node, or modifies the line named 'label' if it already exists. Without the argument "dir", a vertical line is drawn by default.
 +
 
 +
====loft====
 +
 
 +
SYNTAX: loft({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} loft_height, {{ArgTypeAny}} cap_base)
 +
 
 +
EXAMPLE: ''loft("Loft_1","Rect_Strip1",50)''
 +
 
 +
DESCRIPTION:  Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object, the pre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face's normal.
 +
 
 +
====lumped_src====
 +
 
 +
SYNTAX: lumped_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''lumped_src("LS_1","Line_1",50,0)''
 +
 
 +
DESCRIPTION: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.
 +
 
 +
====magnet_group====
 +
 
 +
SYNTAX: magnet_group({{ArgTypeString}} label, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAny}} Mz)
 +
 
 +
EXAMPLE: ''magnet_group("Magnet_1",1,0,0,100)''
 +
 
 +
DESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If the magnet group 'label' already exists, the group is activated.
 +
 
 +
====mcos====
 +
 
 +
SYNTAX: mcos({{ArgTypeReal}} x, {{ArgTypeReal}} r)
 +
 
 +
EXAMPLE: ''mcos(0.5,2)''
 +
 
 +
DESCRIPTION: Computes and returns the super-quadratic cosine function of order r.
 +
 
 +
====mean====
 +
 
 +
SYNTAX: mean({{ArgTypeReal}} x, {{ArgTypeReal}} y)
 +
 
 +
EXAMPLE: ''mean(1,2)''
 +
 
 +
DESCRIPTION: Computes and returns the arithmetic mean of x and y: 0.5*(x+y).
 +
 
 +
====merge_curve====
 +
 
 +
SYNTAX: merge_curve({{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
 +
 
 +
EXAMPLE: ''merge_curve("Curve_1","Curve_2")''
 +
 
 +
DESCRIPTION: Merges two specified curve objects into a single curve.
 +
 
 +
====mesh====
 +
 
 +
SYNTAX: mesh()
 +
 
 +
DESCRIPTION: Generates and displays the mesh of the physical structure.
 +
 
 +
====microstrip_design====
 +
 
 +
SYNTAX: microstrip_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''microstrip_design(50,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.
 +
 
 +
====microstrip_eps_eff====
 +
 
 +
SYNTAX: microstrip_eps_eff({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''microstrip_eps_eff(2,0.5,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the effective permittivity of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er.
 +
 
 +
====microstrip_lambda_g====
 +
 
 +
SYNTAX: microstrip_lambda_g({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
 +
 
 +
EXAMPLE: ''microstrip_lambda_g(2,0.5,2.2,2e9)''
 +
 
 +
DESCRIPTION: Computes and returns the guide wavelength (in meters) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
 +
 
 +
====microstrip_src====
 +
 
 +
SYNTAX: microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''microstrip_src("MS_1","Rect_1",1.5,"+x")''
 +
 
 +
DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modified.
 +
 
 +
====microstrip_z0====
 +
 
 +
SYNTAX: microstrip_z0({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
 +
 
 +
EXAMPLE: ''microstrip_z0(2,0.5,2.2)''
 +
 
 +
DESCRIPTION: Computes and returns the characteristic impedance (in Ohms) of a microstrip transmission line with width w, substrate height h and substrate relative permittivity er.
 +
 
 +
====microstrip_zoc====
 +
 
 +
SYNTAX: microstrip_zoc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
 +
 
 +
EXAMPLE: ''microstrip_zoc(2,25,0.5,2.2,2e9)''
 +
 
 +
DESCRIPTION: Computes and returns the input reactance (in Ohms) of an open-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 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 curve is closed if p0 is specified again as pn, otherwise, it is open.
 +
 
 +
====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,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 in the project workspace under the currently activated material group node, or modifies the parametric curve named 'label' if it already exists.
 +
 
 +
====param_surface====
 +
 
 +
SYNTAX: param_surface({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} function)
 +
 
 +
EXAMPLE: ''param_surface("Surf_1",0,0,0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")''
 +
 
 +
DESCRIPTION: Generates a parametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already exists.
 +
 
 +
====pec_group====
 +
 
 +
SYNTAX: pec_group({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''pec_group("PEC_1")''
 +
 
 +
DESCRIPTION: Creates a PEC material group in the current module.  If the PEC group 'label' already exists, the group is activated.
 +
 
 +
====pec_via_group====
 +
 
 +
SYNTAX: pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer)
 +
 
 +
EXAMPLE: ''pec_via_group("PEC_1",10)''
 +
 
 +
DESCRIPTION: Creates an embedded PEC via set group in the current module.  If the PEC via group 'label' already exists, the group is activated.
 +
 
 +
====pec_voltage_group====
 +
 
 +
SYNTAX: pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)
 +
 
 +
EXAMPLE: ''pec_voltage_group("PEC_1",10)''
 +
 
 +
DESCRIPTION: Creates a fixed-potential PEC object group in the current module.  If the PEC group 'label' already exists, the group is activated.
 +
 
 +
====penetrable_surface_group====
 +
 
 +
SYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)
 +
 
 +
EXAMPLE: ''penetrable_surface_group("Penet_1",2.2,0.0001, 1)''
 +
 
 +
DESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label' already exists, the group is activated.
 +
 
 +
====penetrable_volume_group====
 +
 
 +
SYNTAX: penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
 +
 
 +
EXAMPLE: ''penetrable_volume_group("Vol_Penet_1",2.2,0.0001)''
 +
 
 +
DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label' already exists, the group is activated.
 +
 
 +
====pipe_sweep====
 +
 
 +
SYNTAX: pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius)
 +
 
 +
EXAMPLE: ''pipe_sweep("Curve_1",5)''
 +
 
 +
DESCRIPTION: Creates a pipe version of a given curve object.
 +
 
 +
====planewave====
 +
 
 +
SYNTAX: planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)
 +
 
 +
'EXAMPLE: ''planewave("PW_1",180,0,"tm")''
 +
 
 +
DESCRIPTION: Creates a plane wave source. If the 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====
 +
 
 +
SYNTAX: polygonize({{ArgTypeString}} object, {{ArgTypeAny}} side_length)
 +
 
 +
EXAMPLE: ''polygonize("Cric_1",2)''
 +
 
 +
DESCRIPTION: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.
 +
 
 +
====polyline====
 +
 
 +
SYNTAX: polyline({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
 +
 
 +
EXAMPLE: ''polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))''
 +
 
 +
DESCRIPTION: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.
 +
 
 +
====polymesh====
 +
 
 +
SYNTAX: polymesh({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} edge_length)
 +
 
 +
EXAMPLE: ''polymesh("Poly_1","Cric_1",2)''
 +
 
 +
DESCRIPTION: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.
 +
 
 +
====polystrip====
 +
 
 +
SYNTAX: polystrip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
 +
 
 +
EXAMPLE: ''polystrip("ps_1",(0,0,0),(1,0,0),(1,0,0))''
 +
 
 +
DESCRIPTION: Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list.
 +
 
 +
====port_definition_custom====
 +
 
 +
SYNTAX: port_definition_custom({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, ..., {{ArgTypeString}} port_1_impedance), ({{ArgTypeString}} port_2_src_1, {{ArgTypeString}} port_2_src_2, ..., {{ArgTypeString}} port_2_impedance), ...)
 +
 
 +
EXAMPLE: ''port_definition_custom("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))''
 +
 
 +
DESCRIPTION: Creates a custom port definition observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====port_definition_default====
 +
 
 +
SYNTAX: port_definition_default({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''port_definition_default("PD_1")''
 +
 
 +
DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====probe_gap_src====
 +
 
 +
SYNTAX: probe_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} via_object, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''probe_gap_src("Probe_1","Via_1",0)''
 +
 
 +
DESCRIPTION: Creates a probe gap circuit source in [[EM.Picasso]]. If the probe gap source 'label' already exists, its properties are modified.
 +
 
 +
====pyramid====
 +
 
 +
SYNTAX: pyramid({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)
 +
 
 +
EXAMPLE: ''pyramid("Pyramid_1",0,0,0,10,10,100)''
 +
 
 +
DESCRIPTION: Draws a pyramid object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.
 +
 
 +
====radial_strip====
 +
 
 +
SYNTAX: radial_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)
 +
 
 +
EXAMPLE: ''radial_strip("Radial_1",0,0,0,50,0,90)''
 +
 
 +
DESCRIPTION: Draws a radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip object named 'label' if it already exists.
 +
 
 +
====rail_sweep====
 +
 
 +
SYNTAX: rail_sweep({{ArgTypeString}} rail_object, {{ArgTypeString}} sweep_object)
 +
 
 +
EXAMPLE: ''rail_sweep("Curve_1","Curve_2")''
 +
 
 +
DESCRIPTION: Rail-sweeps the specified sweep object along the specified curve object.
 +
 
 +
====ramp====
 +
 
 +
SYNTAX: ramp({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''ramp(0.5)''
 +
 
 +
DESCRIPTION: Computes and returns the ramp function: x if x>0, 0 if x<0.
 +
 
 +
====rand====
 +
 
 +
SYNTAX: rand({{ArgTypeReal}} x, {{ArgTypeReal}} y)
 +
 
 +
EXAMPLE: ''rand(0,1)''
 +
 
 +
DESCRIPTION: Computes and returns a random number between x and y using an uniform distribution.
 +
 
 +
====random_group====
 +
 
 +
SYNTAX: random_group({{ArgTypeString}} label, {{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)
 +
 
 +
EXAMPLE: ''random_group("Rand_1","Rect_1","Box_1",100)''
 +
 
 +
DESCRIPTION: Creates a random group using the specified key object and confines them in the specified container object.
 +
 
 +
====rcs_bistatic====
 +
 
 +
SYNTAX: rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
 +
 
 +
EXAMPLE: ''rcs_bistatic("RCS_1",1,1)''
 +
 
 +
DESCRIPTION: Creates a bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====rcs_monostatic====
 +
 
 +
SYNTAX: rcs_monostatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
 +
 
 +
EXAMPLE: ''rcs_monostatic("RCS_1",1,1)''
 +
 
 +
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.
 +
 
 +
====receiver_set====
 +
 
 +
SYNTAX: receiver_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
 +
 
 +
EXAMPLE: ''receiver_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''
 +
 
 +
DESCRIPTION: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already exists, its properties are modified.
 +
 
 +
====rect====
 +
 
 +
SYNTAX: rect({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''rect(0.1)''
 +
 
 +
DESCRIPTION: Computes and returns the rectangular window function: 1 if x<0.5, 0 elsewhere.
 +
 
 +
====rect_gap_src====
 +
 
 +
SYNTAX: rect_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''rect_gap_src("GAP_1","Rect_1",0,0)''
 +
 
 +
DESCRIPTION: Creates a strip gap circuit source in [[EM.Picasso]] or [[EM.Libera]]. If the strip gap source 'label' already exists, its properties are modified.
 +
 
 +
====rect_strip====
 +
 
 +
SYNTAX: rect_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y)
 +
 
 +
EXAMPLE: ''rect_strip("my_rectangle",0,0,0,50,20)''
 +
 
 +
DESCRIPTION: Draws a rectangle Strip object in the project workspace under the currently activated material group node, or modifies the rectangle strip object named 'label' if it already exists.
 +
 
 +
====rename====
 +
 
 +
SYNTAX: rename({{ArgTypeString}} new_label, {{ArgTypeString}} old_label)
 +
 
 +
EXAMPLE: ''rename("Box_2","Box_1")''
 +
 
 +
DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. 
 +
 
 +
====resistance====
 +
 
 +
SYNTAX: resistance({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} x3, {{ArgTypeAny}} y3, {{ArgTypeAny}} z3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
 +
 
 +
EXAMPLE: ''resistance("FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)''
 +
 
 +
DESCRIPTION: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====resistor====
 +
 
 +
SYNTAX: resistor({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} resistance)
 +
 
 +
EXAMPLE: ''resistor("Res_1","Line_1",25,50)''
 +
 
 +
DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already exists, its properties are modified.
 +
 
 +
====revolve====
 +
 
 +
SYNTAX: revolve({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle)
 +
 
 +
EXAMPLE: ''revolve("Rev1","Line_1",0,0,0,0,0,1,360)''
 +
 
 +
DESCRIPTION: Creates or modifies a revolution object from a specified object. If modifying an existing revolution object, the pre-existing primitive object is used. (x0,y0,z0) specifies the center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.
 +
 
 +
====rosen====
 +
 
 +
SYNTAX: rosen({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} a, {{ArgTypeReal}} b)
 +
 
 +
EXAMPLE: ''rosen(0.5,0,1,2)''
 +
 
 +
DESCRIPTION: Computes and returns the Rosenbrock function: (a-x)**2 + b*(y-x**2)**2.
 +
 
 +
====rotate====
 +
 
 +
SYNTAX: rotate({{ArgTypeString}} object, {{ArgTypeAny}} rot_angle_degree, {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z)
 +
 
 +
EXAMPLE: ''rotate("pyramid_1",45,1,1,0)''
 +
 
 +
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.
 +
 
 +
====roughen====
 +
 
 +
SYNTAX: roughen({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)
 +
 
 +
EXAMPLE: ''roughen("Rect_1",1,5)''
 +
 
 +
DESCRIPTION: Roughens the surface of the specified object based on the specified RMS height and correlation length.
 +
 
 +
====run_analysis====
 +
 
 +
SYNTAX: run_analysis()
 +
 
 +
DESCRIPTION: Runs a simulation in the current active [[EM.Cube]] computational module.
 +
 
 +
====save_data====
 +
 
 +
SYNTAX: save_data({{ArgTypeString}} directory_name)
 +
 
 +
EXAMPLE: ''save_data("Simulation_Data")''
 +
 
 +
DESCRIPTION: Saves [[EM.Cube]]'s output simulation data files under the specified directory.
 +
 
 +
====sawtooth====
 +
 
 +
SYNTAX: sawtooth({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''sawtooth(0.5)''
 +
 
 +
DESCRIPTION: Computes and returns the ascending periodic sawtooth function of period T = 2, oscillating between two values +1 and -1 and having a zero value of at x = 0.
 +
 
 +
====scale====
 +
 
 +
SYNTAX: scale({{ArgTypeString}} object, {{ArgTypeAny}} scale_factor)
 +
 
 +
EXAMPLE: ''scale("pyramid_1",2)''
 +
 
 +
DESCRIPTION: Scales an object by the specified scale factor.
 +
 
 +
====select_module====
 +
 
 +
SYNTAX: select_module({{ArgTypeString}} module_name)
 +
 
 +
EXAMPLE: ''select_module("[[EM.Tempo]]")''
 +
 
 +
DESCRIPTION: Selects and sets [[EM.Cube]]'s active module.
 +
 
 +
====set_bandwidth====
 +
 
 +
SYNTAX: set_bandwidth({{ArgTypeAny}} value)
 +
 
 +
EXAMPLE: ''set_bandwidth(1e9)''
 +
 
 +
DESCRIPTION: Sets [[EM.Cube]]'s frequency bandwidth.
 +
 
 +
====set_boundary_conditions====
 +
 
 +
SYNTAX: set_boundary_conditions({{ArgTypeString}} xn_type, {{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)
 +
 
 +
EXAMPLE: ''set_domain_offset_lambda("pml","pml","pml","pml","pec","pml")''
 +
 
 +
DESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on the &plusmn;X, &plusmn;Y and &plusmn;Z boundary walls. The options are "pec", "pmc" and "pml".
 +
 
 +
====set_domain_offset====
 +
 
 +
SYNTAX: set_domain_offset({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
 +
 
 +
EXAMPLE: ''set_domain_offset(20,20,20,20,0,10)''
 +
 
 +
DESCRIPTION: Sets the domain offset values along the &plusmn;X, &plusmn;Y and &plusmn;Z directions in project units.
 +
 
 +
====set_domain_offset_lambda====
 +
 
 +
SYNTAX: set_domain_offset_lambda({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
 +
 
 +
EXAMPLE: ''set_domain_offset_lambda(0.1,0.1,0.1,0.1,0,0.25)''
 +
 
 +
DESCRIPTION: Sets the domain offset values along the &plusmn;X, &plusmn;Y and &plusmn;Z directions in free-space wavelengths.
 +
 
 +
====set_frequency====
 +
 
 +
SYNTAX: set_frequency({{ArgTypeAny}} value)
 +
 
 +
EXAMPLE: ''set_frequency(2.4e9)''
 +
 
 +
DESCRIPTION: Sets [[EM.Cube]]'s center frequency.
 +
 
 +
====set_lcs_link====
 +
 
 +
SYNTAX: set_lcs_link({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)
 +
 
 +
EXAMPLE: ''set_lcs_link("pyramid_1","box_1",50,50,0)''
 +
 
 +
DESCRIPTION: Links the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.
 +
 
 +
====set_periodic====
 +
 
 +
SYNTAX: set_periodic({{ArgTypeAny}} is_periodic, {{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY)
 +
 
 +
EXAMPLE: ''set_periodic(1,50,50)''
 +
 
 +
DESCRIPTION: Designates the physical structure as periodic and sets the periods along the X and Y directions.
 +
 
 +
====set_rot====
 +
 
 +
SYNTAX: set_rot({{ArgTypeString}} object, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
 +
 
 +
EXAMPLE: ''set_rot("pyramid_1",0,0,45)''
 +
 
 +
DESCRIPTION: Sets the three rotation angles of an object.
 +
 
 +
====set_rot_link====
 +
 
 +
SYNTAX: set_rot_link({{ArgTypeString}} object, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)
 +
 
 +
EXAMPLE: ''set_rot_link("pyramid_1","box_1",0,0,45)''
 +
 
 +
DESCRIPTION: Links the rotation angles of the LCS of the first object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.
 +
 
 +
====set_stackup_order====
 +
 
 +
SYNTAX: set_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, ..., {{ArgTypeString}} label_n, "BHS")
 +
 
 +
EXAMPLE: ''background_layer("THS","Top_Layer","Mid_Layer","Bottom_Layer","BHS")''
 +
 
 +
DESCRIPTION: Sets the hierarchy of [[EM.Picasso]]'s background layer stackup from top to bottom. The sequence should always start with "THS" standing for the top half-space and must end in "BHS" standing for the bottom half-space. All the intermediate finite-thickness substrate layers must be included and listed in the right order.
 +
 
 +
====set_units====
 +
 
 +
SYNTAX: set_units({{ArgTypeString}} units)
 +
 
 +
EXAMPLE: ''set_units("meter")''
 +
 
 +
DESCRIPTION: Sets [[EM.Cube]]'s project length units.
 +
 
 +
====sgn====
 +
 
 +
SYNTAX: sgn({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''sgn(-1.0)''
 +
 
 +
DESCRIPTION: Computes and returns the signum function: 1 if x>0, -1 if x<0.
 +
 
 +
====short_dipole====
 +
 
 +
SYNTAX: short_dipole({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)
 +
 
 +
EXAMPLE: ''short_dipole("SD_1",0,0,50,3,0,0,1,1,0)''
 +
 
 +
DESCRIPTION: Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, its properties are modified.
 +
 
 +
====sigmoid====
 +
 
 +
SYNTAX: sigmoidnc({{ArgTypeReal}} x, {{ArgTypeReal}} a)
 +
 
 +
EXAMPLE: ''sigmoid(0.5,1)''
 +
 
 +
DESCRIPTION: Computes and returns the sigmoid function of slope a: 2/(1 + exp(-a*x)) - 1.
 +
 
 +
====sinc====
 +
 
 +
SYNTAX: sinc({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''sinc(0.5)''
 +
 
 +
DESCRIPTION: Computes and returns the sinc function: sin(pi*x)/(pi*x).
 +
 
 +
====slice====
 +
 
 +
SYNTAX: slice({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)
 +
 
 +
EXAMPLE: ''slice("Rect_1",5)''
 +
 
 +
DESCRIPTION: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.
 +
 
 +
====slot_group====
 +
 
 +
SYNTAX: slot_group({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''slot_group("PMC_1")''
 +
 
 +
DESCRIPTION: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, the group is activated.
 +
 
 +
====solution_plane====
 +
 
 +
SYNTAX: solution_plane({{ArgTypeString}} label, {{ArgTypeAny}} field_sensor_label, {{ArgTypeAny}} is_quasi)
 +
 
 +
EXAMPLE: ''solution_plane("FI_1","FS_1",1)''
 +
 
 +
DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====sphere====
 +
 
 +
SYNTAX: sphere({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
 +
 
 +
EXAMPLE: ''sphere("Sphere_1",0,0,0,10,0,180)''
 +
 
 +
DESCRIPTION: Draws a sphere object in the project workspace under the currently activated Material Group node, or modifies the sphere named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the sphere's azimuth axis.
 +
 
 +
====spiral_curve====
 +
 
 +
SYNTAX: spiral_curve({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
 +
 
 +
EXAMPLE: ''spiral_curve("Spiral _1",0,0,0,10,50,5,0,0)''
 +
 
 +
DESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'label' 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.
 +
 
 +
====spiral_strip====
 +
 
 +
SYNTAX: spiral_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} width, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual)
 +
 
 +
EXAMPLE: ''spiral_strip("Spiral _1",0,0,0,10,50,5,0,0)''
 +
 
 +
DESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label' 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.
 +
 
 +
====spline_fit====
 +
 
 +
SYNTAX: spline_fit({{ArgTypeString}} object)
 +
 
 +
EXAMPLE: ''spline_fit("Poly_1")''
 +
 
 +
DESCRIPTION: Applies spline fit transformation on a specified polymesh, polyline or polystrip object.
 +
 
 +
====spline2====
 +
 
 +
SYNTAX: spline2({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''spline2(1.0)''
 +
 
 +
DESCRIPTION: Computes and returns the quadratic B-spline function.
 +
 
 +
====spline3====
 +
 
 +
SYNTAX: spline3({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''spline3(1.0)''
 +
 
 +
DESCRIPTION: Computes and returns the cubic B-spline function.
 +
 
 +
====sqr_wave====
 +
 
 +
SYNTAX: sqr_wave({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''sqr_wave(0.5)''
 +
 
 +
DESCRIPTION: Computes and returns the periodic square wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0.
 +
 
 +
====sqr2====
 +
 
 +
SYNTAX: sqr2({{ArgTypeReal}} x, {{ArgTypeReal}} y)
 +
 
 +
EXAMPLE: ''sqr2(0,1)''
 +
 
 +
DESCRIPTION: Computes and returns the sum of squares of x and y: x**2 + y**2.
 +
 
 +
====sqr3====
 +
 
 +
SYNTAX: sqr2({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
 +
 
 +
EXAMPLE: ''sqr2(0,1,2)''
 +
 
 +
DESCRIPTION: Computes and returns the sum of squares of x, y and z: x**2 + y**2 + z**2.
 +
 
 +
====sqrt2====
 +
 
 +
SYNTAX: sqrt2({{ArgTypeReal}} x, {{ArgTypeReal}} y)
 +
 
 +
EXAMPLE: ''sqrt2(0,1)''
 +
 
 +
DESCRIPTION: Computes and returns the radius of the 2D point (x,y): sqrt(x**2 + y**2).
 +
 
 +
====sqrt3====
 +
 
 +
SYNTAX: sqrt3({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
 +
 
 +
EXAMPLE: ''sqrt3(0,1,2)''
 +
 
 +
DESCRIPTION: Computes and returns the radius of the 3D point (x,y,z): sqrt(x**2 + y**2 + z**2).
 +
 
 +
====step====
 +
 
 +
SYNTAX: step({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''step(1.0)''
 +
 
 +
DESCRIPTION: Computes and returns the unit step function: 1 if x>0, 0 if x<0.
 +
 
 +
====strip_sweep====
 +
 
 +
SYNTAX: strip_sweep({{ArgTypeString}} object, {{ArgTypeAny}} width)
 +
 
 +
EXAMPLE: ''strip_sweep("Curve_1",5)''
 +
 
 +
DESCRIPTION: Creates a strip version of a given curve object.
 +
 
 +
====subtract====
 +
 
 +
SYNTAX: subtract({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
 +
 
 +
EXAMPLE: ''subtract("Subtract_Object","Rect_Strip1","Rect_Strip2")''
 +
 
 +
DESCRIPTION: Creates a Boolean object named 'label' by subtracting object_2 from object_1.  An error will be thrown if a Boolean object named 'label' already exists.
 +
 
 +
====superquad====
 +
 
 +
SYNTAX: superquad({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order)
 +
 
 +
EXAMPLE: ''superquad("SuperQuad_1",0,0,0,50,20,4)''
 +
 
 +
DESCRIPTION: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already exists. If order = 2, the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
 +
 
 +
====taper_strip====
 +
 
 +
SYNTAX: taper_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)
 +
 
 +
EXAMPLE: ''taper_strip("ts_1",0,0,0,50,100,80,1)''
 +
 
 +
DESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn.
 +
 
 +
====terrain_group====
 +
 
 +
SYNTAX: terrain_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
 +
 
 +
EXAMPLE: ''terrain_group("Terrain_1",5.0,0.0001)''
 +
 
 +
DESCRIPTION: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already exists, the group is activated.
 +
 
 +
====thinwire_group====
 +
 
 +
SYNTAX: thinwire_group({{ArgTypeString}} label, {{ArgTypeAny}} radius)
 +
 
 +
EXAMPLE: ''thinwire_group("Thinwire_1",4)''
 +
 
 +
DESCRIPTION: Creates a Thinwire material group in the current module.  If the thin wire group 'label' already exists, the group is activated.
 +
 
 +
====torus====
 +
 
 +
SYNTAX: torus({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
 +
 
 +
EXAMPLE: ''torus("Torus_1",0,0,0,50,20)''
 +
 
 +
DESCRIPTION: Draws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the torus's azimuth axis.
 +
 
 +
====translate_by====
 +
 
 +
SYNTAX: translate_by({{ArgTypeString}} object,  {{ArgTypeReal}} x_dist, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist)
 +
 
 +
EXAMPLE: ''translate_by("MyObj",10,10,x)''
 +
 
 +
DESCRIPTION: Translates an object by the specified distances in each direction.
 +
 
 +
====translate_to====
 +
 
 +
SYNTAX: translate_to({{ArgTypeString}} object,  {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)
 +
 
 +
EXAMPLE: ''translate_to("MyObj",20,20,x2)''
 +
 
 +
DESCRIPTION: Translates an object to the specified destination.
 +
 
 +
====transmitter_set====
 +
 
 +
SYNTAX: transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
 +
 
 +
EXAMPLE: ''transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''
 +
 
 +
DESCRIPTION: Creates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, its properties are modified.
 +
 
 +
====tri====
 +
 
 +
SYNTAX: tri({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''tri(0.1)''
 +
 
 +
DESCRIPTION: Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.
 +
 
 +
====tri_wave====
 +
 
 +
SYNTAX: tri_wave({{ArgTypeReal}} x)
 +
 
 +
EXAMPLE: ''tri_wave(0.5)''
 +
 
 +
DESCRIPTION: Computes and returns the periodic triangular wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0.
 +
 
 +
====triangle_strip====
 +
 
 +
SYNTAX: triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)
 +
 
 +
EXAMPLE: ''triangle_strip("ts_1",0,0,0,50,100,90)''
 +
 
 +
DESCRIPTION: Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'label' if it already exists.
 +
 
 +
====union====
 +
 
 +
SYNTAX: union({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
 +
 
 +
EXAMPLE: ''union("Union_Object","Rect_Strip1","Rect_Strip2")''
 +
 
 +
DESCRIPTION: Creates a Boolean object named 'label' by unioning object_1 and object_2.  An error will be thrown if a Boolean object named 'label' already exists.
 +
 
 +
====virtual_group====
 +
 
 +
SYNTAX: virtual_group({{ArgTypeString}} label)
 +
 
 +
EXAMPLE: ''virtual_group("VIR_1")''
 +
 
 +
DESCRIPTION: Creates a virtual object group in [[EM.Terrano]]. If the virtual group 'label' already exists, the group is activated.
 +
 
 +
====voltage_integral====
 +
 
 +
SYNTAX: voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 +
 
 +
EXAMPLE: ''voltage_integral("FI_1",0,0,-10,0,0,10)''
 +
 
 +
DESCRIPTION: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 +
 
 +
====volume_current_group====
 +
 
 +
SYNTAX: volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)
 +
 
 +
EXAMPLE: ''volume_current_group("Magnet_1",0,0,1e6)''
 +
 
 +
DESCRIPTION: Creates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, the group is activated.
 +
 
 +
====wave_port====
 +
 
 +
SYNTAX: wave_port({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''wave_port("WP_1","Rect_1",0,0)''
 +
 
 +
DESCRIPTION: Creates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the wave port 'label' already exists, its properties are modified.
 +
 
 +
====waveguide_design====
 +
 
 +
SYNTAX: waveguide_design({{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
 +
 
 +
EXAMPLE: ''waveguide_design(1.0,2e9)''
 +
 
 +
DESCRIPTION: Computes and returns the minimum larger dimension (in 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.
 +
 
 +
====waveguide_src====
 +
 
 +
SYNTAX: waveguide_src({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''waveguide_src("WG_1","Box_1",50,0)''
 +
 
 +
DESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, its properties are modified.
 +
 
 +
====wire_current_group====
 +
 
 +
SYNTAX: wire_current_group({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius)
 +
 
 +
EXAMPLE: ''wire_current_group("Magnet_1",1,0.5)''
 +
 
 +
DESCRIPTION: Creates a wire current source group in [[EM.Ferma]]. If the wire current group 'label' already exists, the group is activated.
 +
 
 +
====wire_gap_src====
 +
 
 +
SYNTAX: wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
 +
 
 +
EXAMPLE: ''wire_gap_src("WIG_1","Line_1",50,0)''
 +
 
 +
DESCRIPTION: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, its properties are modified.
 +
 
 +
====zoom_extents====
 +
 
 +
SYNTAX: zoom_extents()
 +
 
 +
DESCRIPTION: Zooms to fit the extents of the physical structure into the screen.
 +
 
 +
<br />
 +
 
 +
<hr>
 +
 
 +
[[Image:Top_icon.png|30px]] '''[[#Standard_Python_Operators | Back to the Top of the Page]]'''
 +
 
 +
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''

Latest revision as of 22:22, 11 June 2018

Cube-icon.png Cad-ico.png Fdtd-ico.png Prop-ico.png Static-ico.png Planar-ico.png Metal-ico.png Po-ico.png

Back icon.png Back to EM.Cube Main Page

Contents

Standard Python Operators

Syntax Type Description
-p Std. Python operator negative of p
p=q Std. Python operator p is equal to q
p+q Std. Python operator sum of p and q
p-q Std. Python operator difference p and q
p*q Std. Python operator product of p and q
p/q Std. Python operator quotient of p over q
p**q Std. Python operator p to the power of q
p%q Std. Python operator p modulus q
p==q Std. Python operator p logically equal to q
p>q Std. Python operator p is greater than q
p>=q Std. Python operator p is greater than or equal to q
p<q Std. Python operator p is less than q
p<=q Std. Python operator p is less than or equal to q
 !p Std. Python operator Logical not p
p and q Std. Python operator p Boolean and q
p or q Std. Python operator p Boolean or q

Basic Mathematical Python Functions

Syntax Type Description Notes
abs(x) Std. Python function Absolute value function x if x>0, -x if x<0
pow(x,y) Std. Python function Power function x**y
sqrt(x) Std. Python function Square root function pow(x,0.5)
exp(x) Std. Python function Exponential function pow(e,x)
log(x) Std. Python function Natural logarithm function -
log10(x) Std. Python function Base 10 logarithm function ln(x)/ln(10)
factorial(x) Std. Python function Factorial for integer values of x: n! = n(n-1)(n-2)...3.2.1
max(x,y) Std. Python function Maximum of x and y -
min(x,y) Std. Python function Minimum of x and y -
sin(x) Std. Python function Sine function -
cos(x) Std. Python function Cosine function -
tan(x) Std. Python function Tangent function -
asin(x) Std. Python function Inverse sine function -
acos(x) Std. Python function Inverse cosine function -
atan(x) Std. Python function Inverse tangent function -
atan2(x,y) Std. Python function Inverse tangent function -
sinh(x) Std. Python function Hyperbolic sine function -
cosh(x) Std. Python function Hyperbolic cosine function -
tanh(x) Std. Python function Hyperbolic tangent function -
np.arcsinh(x) Std. Python function Inverse hyperbolic sine function -
np.arccosh(x) Std. Python function Inverse hyperbolic cosine function -
np.arctanh(x) Std. Python function Inverse hyperbolic tangent function -
np.floor(x) Std. Python function Floor function nearest integer <= x

Advanced Mathematical Python Functions

Syntax Type Description Notes
sp.sici(x) Std. Python function Sine and cosine integral functions see Trigonometric Integrals on Wikipedia.
sp.fresnel(x) Std. Python function Sine and cosine Fresnel integral functions see Fresnel Integrals on Wikipedia.
sp.ellipe(x) Std. Python function Elliptic function of the first kind see Elliptic Integrals on Wikipedia.
sp.ellipk(x) Std. Python function Elliptic function of the second kind see Elliptic Integrals on Wikipedia.
sp.expi(x) Std. Python function Exponential integral function see Exponential Integrals on Wikipedia.
sp.expn(n,x) Std. Python function Generalized exponential integral function of order n see Exponential Integrals on Wikipedia.
sp.erf(x) Std. Python function Error function see Error Function on Wikipedia.
sp.erfc(x) Std. Python function Complementary error function see Error Function on Wikipedia.
sp.gamma(x) Std. Python function Gamma function see Gamma Function on Wikipedia.
sp.airy(x) Std. Python function Airy function of the first (Ai) and second (Bi) kind and their derivatives see Airy Functions on Wikipedia.
sp.j0(x) Std. Python function Bessel function of the first kind and order 0 see Bessel Functions on Wikipedia.
sp.j1(x) Std. Python function Bessel function of the first kind and order 1 see Bessel Functions on Wikipedia.
sp.jv(n,x) Std. Python function Bessel function of the first kind and order n see Bessel Functions on Wikipedia.
sp.y0(x) Std. Python function Bessel function of the second kind and order 0 see Bessel Functions on Wikipedia.
sp.y1(x) Std. Python function Bessel function of the second kind and order 1 see Bessel Functions on Wikipedia.
sp.yv(n,x) Std. Python function Bessel function of the second kind and order n see Bessel Functions on Wikipedia.
sp.i0(x) Std. Python function Modified Bessel function of the first kind and order 0 see Bessel Functions on Wikipedia.
sp.i1(x) Std. Python function Modified Bessel function of the first kind and order 1 see Bessel Functions on Wikipedia.
sp.iv(n,x) Std. Python function Modified Bessel function of the first kind and order n see Bessel Functions on Wikipedia.
sp.k0(x) Std. Python function Modified Bessel function of the second kind and order 0 see Bessel Functions on Wikipedia.
sp.k1(x) Std. Python function Modified Bessel function of the second kind and order 1 see Bessel Functions on Wikipedia.
sp.kv(n,x) Std. Python function Modified Bessel function of the second kind and order n see Bessel Functions on Wikipedia.
sp.sph_jn(n,x) Std. Python function Spherical Bessel function of the first kind and order n see Bessel Functions on Wikipedia.
sp.sph_yn(n,x) Std. Python function Spherical Bessel function of the second kind and order n see Bessel Functions on Wikipedia.
sp.sph_in(n,x) Std. Python function Modified spherical Bessel function of the first kind and order n see Bessel Functions on Wikipedia.
sp.sph_kn(n,x) Std. Python function Modified spherical Bessel function of the second kind and order n see Bessel Functions on Wikipedia.
sp.lpn(n,x) Std. Python function Legendre function of the first kind and order n see Legendre Polynomials on Wikipedia.
sp.lqn(n,x) Std. Python function Legendre function of the second kind and order n see Legendre Polynomials on Wikipedia.
sp.lpmn(m,n,x) Std. Python function Associated Legendre function of the first kind and order n see Legendre Polynomials on Wikipedia.
sp.lqmn(m,n,x) Std. Python function Associated Legendre function of the second kind and order n see Legendre Polynomials on Wikipedia.
sp.eval_chebyt(n,x) Std. Python function Chebyshev polynomial of the first kind and order n see Chebyshev Polynomials on Wikipedia.
sp.eval_chebyu(n,x) Std. Python function Chebyshev polynomial of the second kind and order n see Chebyshev Polynomials on Wikipedia.
sp.eval_legendre(n,x) Std. Python function Legendre polynomial of order n see Legendre Polynomials on Wikipedia.
sp.eval_laguerre(n,x) Std. Python function Laguerre polynomial of order n see Laguerre Polynomials on Wikipedia.
sp.eval_hermite(n,x) Std. Python function Hermite polynomial of order n see Hermite Polynomials on Wikipedia.
sp.mathieu_cem(n,q,x) Std. Python function Even Mathieu function of order n and its derivative see Mathieu Functions on Wikipedia.
sp.mathieu_sem(n,q,x) Std. Python function Odd Mathieu function of order n and its derivative see Mathieu Functions on Wikipedia.

EM.Cube's Native Python Functions

activate

SYNTAX: activate(string group_node_label)

EXAMPLE: activate("Color_1")

DESCRIPTION: Activates a color, material or object group in the current active EM.Cube module for insertion of new objects.

add_variable

SYNTAX: add_variable(string var_name, any value)

EXAMPLE: add_variable("MyVar",1)

DESCRIPTION: Adds a new variable to EM.Cube's variable list.

array

SYNTAX: array(string label, string object, any x_count, any y_count, any z_count, any x_spacing, any y_spacing, any z_spacing)

EXAMPLE: array("Array_1","Rect_Strip_1",4,4,1,50,50,0)

DESCRIPTION: Creates or modifies an array object.

array_custom

SYNTAX: array_custom(string label, string object, any x_count, any y_count, any z_count, any x_spacing, any y_spacing, any z_spacing, any x0, any y0, any z0, any rot_x, any rot_y, any rot_z)

EXAMPLE: array_custom("Array_1","Rect_Strip_1",4,4,1,50,50,0,100,100,20,0,0,45)

DESCRIPTION: Creates or modifies an array object and sets its local coordinate system and rotation angles.

background_layer

SYNTAX: background_layer(string label, any eps, any sigma, any mu, any thickness)

EXAMPLE: background_layer("Mid_Layer",3.3,0.001,1,1.5)

DESCRIPTION: Adds a new substrate layer to EM.Picasso's background layer stackup.

base_point_group

SYNTAX: base_point_group(string label)

EXAMPLE: base_point_set("BP_Set_1")

DESCRIPTION: Creates a base point set in EM.Terrano. If the base point set group 'label' already exists, the group is activated.

bh_step

SYNTAX: bh_step(real x, real T)

EXAMPLE: bh_step(0.5,1)

DESCRIPTION: Computes and returns the Blackman-Harris step function.

bh_window

SYNTAX: bh_window(real x, real T)

EXAMPLE: bh_window(0.5,1)

DESCRIPTION: Computes and returns the Blackman-Harris window function.

box

SYNTAX: box(string label, any x0, any y0, any z0, any base_x, any base_y, any height[, any cap_top, any cap_bottom])

EXAMPLE: box("Box_1",0,0,0,50,50,100)

DESCRIPTION: Draws a box object in the project workspace under the currently activated material group node, or modifies the box named 'label' if it already exists.

capacitance

SYNTAX: capacitance(string label, any x1, any y1, any z1, any x2, any y2, any z2, any x3, any y3, any z3, any x4, any y4, any 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(string label, any line_object, any offset, any 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(string label, any density)

EXAMPLE: charge_group("Charge_1",-1e-5)

DESCRIPTION: Creates a volume charge source group in EM.Ferma. If the charge group 'label' already exists, the group is activated.

circ_strip

SYNTAX: circ_strip(string label, any x0, any y0, any z0, any inner_radius, any outer_radius[, any start_angle, any end_angle])

EXAMPLE: circ_strip("cs_1",0,0,0,50,0)

DESCRIPTION: Draws a circle strip object in the project workspace under the currently activated material group node, or modifies the circle strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the circle strip's azimuth axis.

circle

SYNTAX: circle(string label, any x0, any y0, any z0, any radius, any start_angle, any end_angle)

EXAMPLE: circle("pyramid_1",0,0,0,10,10,100)

DESCRIPTION: Draws a circular curve object in the project workspace under the currently activated material group node, or modifies the circle named 'label' if it already exists. The parameters start_angle and end_angle are in degrees.

clone

SYNTAX: clone(string label, string object, real x0, real y0, real z0)

EXAMPLE: clone("NewObj","MyObj",10,10,0)

DESCRIPTION: Creates a copy of the specified object and repositions it at the given coordinates.

close_curve

SYNTAX: close_curve(string label, string close_state)

EXAMPLE: close_curve("Curve_1",1)

DESCRIPTION: Sets the open/close state of a polyline or NURBS curve. Use 0 for open curve and 1 for close curve.

coaxial_design

SYNTAX: coaxial_design(real z0, real er)

EXAMPLE: coaxial_design(50,2.2)

DESCRIPTION: Computes and returns the ratio of the radius of the outer conductor to the radius of the inner conductor of a coaxial transmission line of characteristic impedance z0 (in Ohms) with core relative permittivity er.

coaxial_src

SYNTAX: coaxial_src(string label, any cylinder_object, any outer_radius, any edge[, any amplitude, any phase, any resistance])

EXAMPLE: coaxial_src("COAX_1","Cyl_1",1.5,"+z")

DESCRIPTION: Creates a coaxial port source in EM.Tempo. If the coaxial port 'label' already exists, its properties are modified.

color_group

SYNTAX: color_group(string label)

EXAMPLE: color_group("Color_1")

DESCRIPTION: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated.

conduction_current_integral

SYNTAX: conduction_current_integral(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: conduction_current_integral("FI_1",-10,-10,0,10,10,0)

DESCRIPTION: Creates a conduction current integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

conductive_sheet_group

SYNTAX: conductive_sheet_group(string label, any sigma, any thickness)

EXAMPLE: conductive_sheet_group("Cond_1",100, 0.01)

DESCRIPTION: Creates a conductive sheet group in EM.Picasso. If the conductive sheet group 'label' already exists, the group is activated.

cone

SYNTAX: cone(string label, any x0, any y0, any z0, any base_radius, any height[, any top_radius, any start_angle, any end_angle, any cap_top, any cap_bottom])

EXAMPLE: cone("Cone_1",0,0,0,30,40,20,0,180)

DESCRIPTION: Draws a cone object in the project workspace under the currently activated material group node, or modifies the cone named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cone's azimuth axis.

consolidate

SYNTAX: consolidate(string object)

EXAMPLE: consolidate("Poly_1")

DESCRIPTION: Consolidates a specified object.

cpw_design_s

SYNTAX: cpw_design_s(real z0, real w, real h, real er)

EXAMPLE: cpw_design_s(50,2,0.5,2.2)

DESCRIPTION: Computes and returns the center strip width (in meters) of a CPW transmission line of characteristic impedance z0 with slot width w, substrate height h and substrate relative permittivity er.

cpw_design_w

SYNTAX: cpw_design_w(real z0, real s, real h, real er)

EXAMPLE: cpw_design_w(50,1,0.5,2.2)

DESCRIPTION: Computes and returns the slot width (in meters) of a CPW transmission line of characteristic impedance z0 with center strip width s, substrate height h and substrate relative permittivity er.

cpw_src

SYNTAX: cpw_src(string label, any rect_object, any spacing, any edge[, any amplitude, any phase, any resistance])

EXAMPLE: cpw_src("CPW_1","Rect_1",1.5,"+x")

DESCRIPTION: Creates a CPW port source in EM.Tempo. If the CPW port 'label' already exists, its properties are modified.

cubecad_mesh_settings

SYNTAX: cubecad_mesh_settings(any edge_length, any angle_tol)

EXAMPLE: cubecad_mesh_settings(5,10)

DESCRIPTION: Sets the parameters of CubeCAD's mesh generator.

current_dist

SYNTAX: current_dist(string label)

EXAMPLE: current_dist("CD_1")

DESCRIPTION: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified.

current_integral

SYNTAX: current_integral(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: current_integral("FI_1",-10,-10,0,10,10,0)

DESCRIPTION: Creates a current integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

cylinder

SYNTAX: cylinder(string label, any x0, any y0, any z0, any radius, any height[, any start_angle, any end_angle, any cap_top, any cap_bottom])

EXAMPLE: cylinder("Cylinder_1",0,0,0,10,100)

DESCRIPTION: Draws a cylinder object in the project workspace under the currently activated material group node, or modifies the cylinder named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the cylinder's azimuth axis.

delete

SYNTAX: delete(string node_name)

EXAMPLE: delete("Box_1")

DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.

delete_background_layer

SYNTAX: delete_background_layer(string label)

EXAMPLE: delete_background_layer("Mid_Layer")

DESCRIPTION: Deletes a finite-thickness substrate layer from EM.Picasso's background layer stackup.

dielectric_group

SYNTAX: dielectric_group(string label, any eps, any sigma, any mu, any rho)

EXAMPLE: dielectric_group("Dielectric_1","my_eps",0,1,0)

DESCRIPTION: Creates a dielectric material group in the current module with the specified material properties. If the dielectric group 'label' already exists, the group is activated.

diode

SYNTAX: diode(string label, any line_object, any polarity, any is_fA, any temperature_K, any ideality_factor)

EXAMPLE: diode("Diode_1","Line_1",25,0,10,300,1)

DESCRIPTION: Creates a diode in EM.Tempo. If the diode 'label' already exists, its properties are modified.

distributed_src

SYNTAX: distributed_src(string label, any rect_object, any field_dir, any profile[, any amplitude, any phase, any resistance])

EXAMPLE: distributed_src("DS_1","Rect_1","+y","uniform")

DESCRIPTION: Creates a distributed source in EM.Tempo. If the distributed source 'label' already exists, its properties are modified.

ellipse_strip

SYNTAX: ellipse_strip(string label, any x0, any y0, any z0, any radius_x, any radius_y[, any start_angle, any end_angle])

EXAMPLE: ellipse_strip("es_1",0,0,0,50,0)

DESCRIPTION: Draws a ellipse strip object in the project workspace under the currently activated material group node, or modifies the ellipse strip object named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipse strip's azimuth axis.

ellipsoid

SYNTAX: ellipsoid(string label, any x0, any y0, any z0, any radius_x, any radius_y, any radius_z[, any start_angle, any end_angle])

EXAMPLE: ellipsoid("Ellipsoid_1",0,0,0,100,100,50,0,360)

DESCRIPTION: Draws an ellipsoid object in the project workspace under the currently activated material group node, or modifies the ellipsoid named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the ellipsoid's azimuth axis.

emferma_engine_settings

SYNTAX: emferma_engine_settings(string matrix_solver, any error_tol, any max_iterations)

EXAMPLE: emferma_engine_settings("bicg-stab",1e-3,100)

DESCRIPTION: Sets the parameters of EM.Ferma's electrostatic and magnetostatic simulation engines.

emferma_mesh_settings

SYNTAX: emferma_mesh_settings(any cell_size_x, any cell_size_y, any cell_size_z)

EXAMPLE: emferma_mesh_settings(0.5,0.5,0.5)

DESCRIPTION: Sets the parameters of EM.Ferma's fixed-cell mesh generator.

emillumina_engine_settings

SYNTAX: emillumina_engine_settings(string engine, any is_fixed_iteration, any error_tol, any max_iterations)

EXAMPLE: emillumina_engine_settings("ipo",0,1e-2,20)

DESCRIPTION: Sets the parameters of EM.Illumina's Physical Optics simulation engine.

emillumina_mesh_settings

SYNTAX: emillumina_mesh_settings(any cells_per_lambda)

EXAMPLE: emillumina_mesh_settings(30)

DESCRIPTION: Sets the parameters of EM.Illumina's mesh generator.

emlibera_engine_settings_smom

SYNTAX: emlibera_engine_settings_smom(string matrix_solver, any error_tol, any max_iterations, any ncpus, string formulation, any alpha)

EXAMPLE: emlibera_engine_settings_smom("bicg",1e-3,1000,4,"efie",0.4)

DESCRIPTION: Sets the parameters of EM.Libera's surface MoM simulation engines.

emlibera_engine_settings_wmom

SYNTAX: emlibera_engine_settings_wmom(string matrix_solver, any error_tol, any 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(any 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(string matrix_solver, any error_tol, any max_iterations)

EXAMPLE: empicasso_engine_settings("bicg",1e-3,1000)

DESCRIPTION: Sets the parameters of EM.Picasso's planar MoM simulation engine.

empicasso_mesh_settings

SYNTAX: empicasso_mesh_settings(any cells_per_lambda)

EXAMPLE: empicasso_mesh_settings(30)

DESCRIPTION: Sets the parameters of EM.Picasso's planar hybrid mesh generator.

emtempo_engine_settings

SYNTAX: emtempo_engine_settings(string engine, any power_threshhold, any 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(any cells_per_lambda, any ratio_contour, any ratio_thin, any 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(any bounce_count, any do_edge_diffraction, any angular_resolution, any 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(any edge_length, any angle_tol)

EXAMPLE: emterrano_mesh_settings(5,10)

DESCRIPTION: Sets the parameters of EM.Terrano's facet mesh generator.

energy_electric

SYNTAX: energy_electric(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: energy_electric("FI_1",-10,-10,-10,10,10,10)

DESCRIPTION: Creates an electric energy integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

energy_magnetic

SYNTAX: energy_magnetic(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: energy_magnetic("FI_1",-10,-10,-10,10,10,10)

DESCRIPTION: Creates a magnetic energy integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

explode

SYNTAX: explode(string object)

EXAMPLE: explode("MyArray")

DESCRIPTION: Explodes an object into its basic primitives.

export_dxf

SYNTAX: export_dxf(string file_name)

EXAMPLE: export_dxf("MyDXFModel.DXF")

DESCRIPTION: Exports the physical structure of the project workspacean to a DXF model file. If the file path is not specified, the current project folder is assumed as the path.

export_py

SYNTAX: export_py(string file_name)

EXAMPLE: export_py("MyPYModel.PY")

DESCRIPTION: Exports the physical structure of the project workspace or the current object selection to a Python geometry file. The default path is the Python subfolder under "Documents → EMAG".

export_stl

SYNTAX: export_stl(string file_name)

EXAMPLE: export_stl("MySTLModel.STL")

DESCRIPTION: Exports the physical structure of the project workspacean to an STL model file. If the file path is not specified, the current project folder is assumed as the path.

extrude

SYNTAX: extrude(string label, string object, any extrude_height, any cap_ends)

EXAMPLE: extrude("Extrude_1","Rect_Strip1",50)

DESCRIPTION: Creates or modifies an extrusion object from a specified object by the specified height. If modifying an existing extrusion object, the pre-existing primitive is used. This command can only extrude objects that have a single face and will extrude along the face's normal.

farfield

SYNTAX: farfield(string label, any theta_incr, any phi_incr)

EXAMPLE: farfield("FF_1",1,1)

DESCRIPTION: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.

field_probe

SYNTAX: field_probe(string label, any x0, any y0, any z0)

EXAMPLE: field_probe("FS_1",0,0,50)

DESCRIPTION: Creates a temporal field probe observable in EM.Tempo or EM.Ferma. If the observable 'label' already exists, its properties are modified.

field_sensor

SYNTAX: field_sensor(string label, any dir_coordinate, any x0, any y0, any z0, any xSize, any ySize, any zSize, any xSamples, any ySamples, any zSamples)

EXAMPLE: field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)

DESCRIPTION: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.

field_sensor_grid

SYNTAX: field_sensor_grid(string label, any dir_coordinate, any x0, any y0, any z0)

EXAMPLE: field_sensor_grid("FS_1","z",0,0,0)

DESCRIPTION: Creates a near-field sensor observable in EM.Tempo or EM.Ferma. If the observable 'label' already exists, its properties are modified.

fill_curve

SYNTAX: fill_curve(string object)

EXAMPLE: fill_curve("Curve_1")

DESCRIPTION: Fill the interior of the specified closed curve object.

fillet

fillet(string object, any radius)

EXAMPLE: fillet("Rect_1",5)

DESCRIPTION: Fillets the corners of the specified surface or curve object by the specified radius.

flux_electric

SYNTAX: flux_electric(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: flux_electric("FI_1",-10,-10,5,10,10,10)

DESCRIPTION: Creates an electric flux integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

flux_magnetic

SYNTAX: flux_magnetic(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: flux_magnetic("FI_1",0,0,-10,10,0,10)

DESCRIPTION: Creates a magnetic flux integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

fractal_tree

SYNTAX: fractal_tree(string label, any x0, any y0, any z0, any key_type, any key_size, any n_level, any sep_angle, any n_gen, any prune_factor, any thickness, any thick_factor)

EXAMPLE: fractal_tree("Fractal_1",0,0,0,"line",10,3,30,3,0,0,0)

DESCRIPTION: Generates a fractal tree in the project workspace under the currently activated material group node, or modifies the fractal tree named 'label' if it already exists.

freeze

SYNTAX: freeze(string object, real freeze_state)

EXAMPLE: freeze("MyObj",1)

DESCRIPTION: Sets the freeze state of an object (0/1).

gauss

SYNTAX: gauss(real 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(string label, any theta, any phi, any polarization, any focus_x, any focus_y, any focus_z, any radius, any p_mode, any 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(real x, real y)

EXAMPLE: geo(1,2)

DESCRIPTION: Computes and returns the geometric mean of x and y: sqrt(x*y).

get_area

SYNTAX: get_area(string object)

EXAMPLE: get_area("ellipse_1")

DESCRIPTION: Returns the area of a surface object or the total surface area of a solid object.

get_axis

SYNTAX: get_axis(string object, string axis, string coordinate)

EXAMPLE: get_axis("pyramid_1","x","y")

DESCRIPTION: Returns the specified coordinate of the unit vector along the specified local axis of an object.

get_domain_extent

SYNTAX: get_domain_extent(string coordinate)

EXAMPLE: get_domain_extent("x")

DESCRIPTION: Returns the size of the computational domain along the specified direction.

get_extent

SYNTAX: get_extent(string object, string coordinate)

EXAMPLE: get_extent("pyramid_1","x")

DESCRIPTION: Returns the size of the bounding box of an object along the specified direction.

get_lcs

SYNTAX: get_lcs(string object, string coordinate)

EXAMPLE: get_lcs("pyramid_1","x")

DESCRIPTION: Returns the specified coordinate of the LCS of an object.

get_lcs_offset

SYNTAX: get_lcs_offset(string object, any x_off, any y_off, any z_off, string coordinate)

EXAMPLE: get_lcs_offset("box_1",50,50,0,"x")

DESCRIPTION: Returns the specified coordinate of the LCS of an object after being translated by the specified offset values along the three principal axes.

get_length

SYNTAX: get_length(string object)

EXAMPLE: get_length("helix_1")

DESCRIPTION: Returns the length of a curve object.

get_rot

SYNTAX: get_rot(string object, string coordinate)

EXAMPLE: get_rot("pyramid_1","x")

DESCRIPTION: Returns the specified rotation angle of an object.

get_standard_output

SYNTAX: get_standard_output(string output_name)

EXAMPLE: get_standard_output("S11M")

DESCRIPTION: Returns the computed value of the specified standard output parameter at the end of a simulation.

get_vertex

SYNTAX: get_vertex(string object, any node_index, string coordinate)

EXAMPLE: get_vertex("pyramid_1",0,"x")

DESCRIPTION: Returns the specified coordinate of the specified vertex of the bounding box of an object. The vertices are specified by node indices. The lower front left corner has an index of 0, while the upper back right corner has an index of 7. The indices are numbered counterclockwise, with the bottom face first and top face next.

get_volume

SYNTAX: get_volume(string object)

EXAMPLE: get_volume("pyramid_1")

DESCRIPTION: Returns the volume of a solid object.

global_ground

SYNTAX: global_ground(any ground_on, any eps, any sigma)

EXAMPLE: global_ground(1,3.3,0.001)

DESCRIPTION: Set the state of EM.Terrano's global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0.

group

SYNTAX: group(string label, string object_1, string object_2, ...)

EXAMPLE: group("Composite_1","Box_1","Box_2","Box_3")

DESCRIPTION: Groups a number of objects into a composite object with the given label.

harm

SYNTAX: harm(real x, real y)

EXAMPLE: harm(1,2)

DESCRIPTION: Computes and returns the harmonic mean of x and y: 2/(1/x+1/y).

helix

SYNTAX: helix(string label, any x0, any y0, any z0, any radius_inner, any radius_outer, any nturns, any helix_dir)

EXAMPLE: helix("Helix_1",0,0,0,15,15,10,0)

DESCRIPTION: Draws a helical curve in the project workspace under the currently activated material group node, or modifies the helix named 'label' if it already exists. The parameter "radius_inner" specifies the helix's radius at the beginning of the helix, and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is 1, the helical curve will be drawn counter-clockwise.

horn_design_a

SYNTAX: horn_design_a(real D0_dB, real a_lambda, real b_lambda)

EXAMPLE: horn_design_a(15,0.4,0.3)

DESCRIPTION: Computes and returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.

horn_design_b

SYNTAX: horn_design_b(real D0_dB, real a_lambda, real b_lambda)

EXAMPLE: horn_design_b(15,0.4,0.3)

DESCRIPTION: Computes and returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.

horn_design_l

SYNTAX: horn_design_l(real D0_dB, real a_lambda, real b_lambda)

EXAMPLE: horn_design_l(15,0.4,0.3)

DESCRIPTION: Computes and returns the wavelength-normalized length of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.

huygens_src

SYNTAX: huygens_src(string label, any filename[, any set_lcs, any polarization, any x0, any y0, any z0, any x_rot, any y_rot, any z_rot])

EXAMPLE: huygens_src("HS_1","Huygens_1.HUY",1,100,100,0,0,0,0)

DESCRIPTION: Creates a Huygens source. If the Huygens source 'label' already exists, its properties are modified.

huygens_surface

SYNTAX: huygens_surface(string label, any x1, any y1, any z1, any x2, any y2, any z2, any xSamples, any ySamples, any 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(string label, any x1, any y1, any z1, any x2, any y2, any 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(string label, any x0, any y0, any z0, any diam_x, any diam_y, any axial_length, any half_only)

EXAMPLE: hyperbola("Hyperbola _1",0,0,0,50,40,20,0)

DESCRIPTION: Draws a hyperbola object in the project workspace under the currently activated material group node, or modifies the hyperbola named 'label' if it already exists. If the Boolean parameter "half_only" is 1, only half of the hyperbola will be drawn.

impedance_surface_group

SYNTAX: impedance_surface_group(string label, any z_real, any z_imag)

EXAMPLE: impedance_surface_group("IMP_1",100,-100)

DESCRIPTION: Creates a impedance_surface group in EM.Illumina. If the impedance surface group 'label' already exists, the group is activated.

impenetrable_surface_group

SYNTAX: impenetrable_surface_group(string label, any eps, any 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(string 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(string 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(string 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(string 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(string 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(string label, any x1, any y1, any z1, any x2, any y2, any z2, any x3, any y3, any z3, any x4, any y4, any 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(string label, any line_object, any offset, any inductance_nH)

EXAMPLE: inductor("Cap_1","Line_1",25,10)

DESCRIPTION: Creates a inductor in EM.Tempo. If the inductor 'label' already exists, its properties are modified.

intersect

SYNTAX: intersect(string label, string object_1, string object_2)

EXAMPLE: intersect("Intersection_Object","Rect_Strip1","Rect_Strip2")

DESCRIPTION: Creates a Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.

line

SYNTAX: line(string label, any x0, any y0, any z0, any length[, any dir])

EXAMPLE: line("my_line",0,0,0,100,"x")

DESCRIPTION: Draws a Line object in the project workspace under the currently activated material group node, or modifies the line named 'label' if it already exists. Without the argument "dir", a vertical line is drawn by default.

loft

SYNTAX: loft(string label, string object, any loft_height, any cap_base)

EXAMPLE: loft("Loft_1","Rect_Strip1",50)

DESCRIPTION: Creates or modifies a loft object from a specified object by the specified height. If modifying an existing loft object, the pre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face's normal.

lumped_src

SYNTAX: lumped_src(string label, any line_object, any offset, any polarity[, any amplitude, any phase, any resistance])

EXAMPLE: lumped_src("LS_1","Line_1",50,0)

DESCRIPTION: Creates a lumped source in EM.Tempo. If the lumped source 'label' already exists, its properties are modified.

magnet_group

SYNTAX: magnet_group(string label, any mu, any Mx, any My, any Mz)

EXAMPLE: magnet_group("Magnet_1",1,0,0,100)

DESCRIPTION: Creates a permanent magnet source group in EM.Ferma. If the magnet group 'label' already exists, the group is activated.

mcos

SYNTAX: mcos(real x, real r)

EXAMPLE: mcos(0.5,2)

DESCRIPTION: Computes and returns the super-quadratic cosine function of order r.

mean

SYNTAX: mean(real x, real y)

EXAMPLE: mean(1,2)

DESCRIPTION: Computes and returns the arithmetic mean of x and y: 0.5*(x+y).

merge_curve

SYNTAX: merge_curve(string object_1, string object_2)

EXAMPLE: merge_curve("Curve_1","Curve_2")

DESCRIPTION: Merges two specified curve objects into a single curve.

mesh

SYNTAX: mesh()

DESCRIPTION: Generates and displays the mesh of the physical structure.

microstrip_design

SYNTAX: microstrip_design(real z0, real er)

EXAMPLE: microstrip_design(50,2.2)

DESCRIPTION: Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.

microstrip_eps_eff

SYNTAX: microstrip_eps_eff(real w, real h, real 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(real w, real h, real er, real 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(string label, any rect_object, any height, any edge[, any amplitude, any phase, any 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(real w, real h, real 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(real w, real l, real h, real er, real freq_hertz)

EXAMPLE: microstrip_zoc(2,25,0.5,2.2,2e9)

DESCRIPTION: Computes and returns the input reactance (in Ohms) of an open-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(real w, real l, real h, real er, real freq_hertz)

EXAMPLE: microstrip_zsc(2,25,0.5,2.2,2e9)

DESCRIPTION: Computes and returns the input reactance (in Ohms) of a short-circuited microstrip transmission line with width w, length l, substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.

mirror

SYNTAX: mirror(string object, any x0, any y0, any z0, any uX, any uY, any 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(string object, string group_node_label[, string 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(real x, real r)

EXAMPLE: msin(0.5,2)

DESCRIPTION: Computes and returns the super-quadratic sine function of order r.

nurbs_curve

SYNTAX: nurbs_curve(string label, 3x1 Python tuple p0, 3x1 Python tuple p1, ... 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 curve is closed if p0 is specified again as pn, otherwise, it is open.

nurbs_strip

SYNTAX: nurbs_strip(string label, 3x1 Python tuple p0, 3x1 Python tuple p1, ... 3x1 Python tuple pn)

EXAMPLE: nurbs_strip("ns_1",(0,0,0),(1,0,0),(1,0,0))

DESCRIPTION: Creates or modifies a NURBS Strip object in the 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(string label, any x1, any y1, any z1, any x2, any y2, any 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(string label, any x0, any y0, any z0, any focal_length, any axial_length, any 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(string label, any x0, any y0, any z0, any model, any orientation, any start, any stop, any step, any function[, any y(t), any 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 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(string label, any x0, any y0, any z0, any orientation, any start1, any stop1, any step1, , any start2, any stop2, any step2, any function)

EXAMPLE: param_surface("Surf_1",0,0,0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")

DESCRIPTION: Generates a parametric surface in the project workspace under the currently activated material group node, or modifies the parametric surface named 'label' if it already exists.

pec_group

SYNTAX: pec_group(string 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(string label, any 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(string label, any 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(string label, any eps, any sigma, any 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(string label, any eps, any 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(string object, any radius)

EXAMPLE: pipe_sweep("Curve_1",5)

DESCRIPTION: Creates a pipe version of a given curve object.

planewave

SYNTAX: planewave(string label, any theta, any phi, any 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(string filename)

EXAMPLE: plot_file("D0.DAT")

DESCRIPTION: Plots the contents of a specified data file in EM.Grid.

pmc_group

SYNTAX: pmc_group(string 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(string label, any x0, any y0, any 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(string label, any x0, any y0, any z0, any radius, any n_sides)

EXAMPLE: polygon_reg("ts_1",0,0,0,50,100,80,1)

DESCRIPTION: Draws a regular polygon object in the project workspace under the currently activated material group node, or modifies the regular polygon object named 'label' if it already exists.

polygonize

SYNTAX: polygonize(string object, any side_length)

EXAMPLE: polygonize("Cric_1",2)

DESCRIPTION: Polygonizes the specified surface or curve object by the specified side length. The results is a polystrip or a polyline.

polyline

SYNTAX: polyline(string label, 3x1 Python tuple p0, 3x1 Python tuple p1, ... 3x1 Python tuple pn)

EXAMPLE: polyline("pl_1",(0,0,0),(1,0,0),(1,0,0))

DESCRIPTION: Creates or modifies a PolyLine object in the project workspace. Each point is represented with a Python tuple type. The poly_line is closed if p0 is specified again as pn, otherwise, it is open.

polymesh

SYNTAX: polymesh(string label, string object, any edge_length)

EXAMPLE: polymesh("Poly_1","Cric_1",2)

DESCRIPTION: Discretizes the specified solid or surface object by the specified edge length. The results is a polymesh object.

polystrip

SYNTAX: polystrip(string label, 3x1 Python tuple p0, 3x1 Python tuple p1, ... 3x1 Python tuple pn)

EXAMPLE: polystrip("ps_1",(0,0,0),(1,0,0),(1,0,0))

DESCRIPTION: Creates or modifies a Polystrip object in the project workspace. Each point is represented with a Python tuple type. The poly_strip function is 'self-closing' -- there is no need to supply the first point again at the end of the point list.

port_definition_custom

SYNTAX: port_definition_custom(string label, (string port_1_src_1, string port_1_src_2, ..., string port_1_impedance), (string port_2_src_1, string port_2_src_2, ..., string port_2_impedance), ...)

EXAMPLE: port_definition_custom("PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))

DESCRIPTION: Creates a custom port definition observable. If the observable 'label' already exists, its properties are modified.

port_definition_default

SYNTAX: port_definition_default(string label)

EXAMPLE: port_definition_default("PD_1")

DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.

probe_gap_src

SYNTAX: probe_gap_src(string label, any via_object, any polarity[, any amplitude, any phase, any resistance])

EXAMPLE: probe_gap_src("Probe_1","Via_1",0)

DESCRIPTION: Creates a probe gap circuit source in EM.Picasso. If the probe gap source 'label' already exists, its properties are modified.

pyramid

SYNTAX: pyramid(string label, any x0, any y0, any z0, any base_x, any base_y, any height)

EXAMPLE: pyramid("Pyramid_1",0,0,0,10,10,100)

DESCRIPTION: Draws a pyramid object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists.

radial_strip

SYNTAX: radial_strip(string label, any x0, any y0, any z0, any radius, any base_length, any angle)

EXAMPLE: radial_strip("Radial_1",0,0,0,50,0,90)

DESCRIPTION: Draws a radial strip object in the project workspace under the currently activated material group node, or modifies the radial strip object named 'label' if it already exists.

rail_sweep

SYNTAX: rail_sweep(string rail_object, string sweep_object)

EXAMPLE: rail_sweep("Curve_1","Curve_2")

DESCRIPTION: Rail-sweeps the specified sweep object along the specified curve object.

ramp

SYNTAX: ramp(real x)

EXAMPLE: ramp(0.5)

DESCRIPTION: Computes and returns the ramp function: x if x>0, 0 if x<0.

rand

SYNTAX: rand(real x, real y)

EXAMPLE: rand(0,1)

DESCRIPTION: Computes and returns a random number between x and y using an uniform distribution.

random_group

SYNTAX: random_group(string label, string key_object, string container_object, any element_count)

EXAMPLE: random_group("Rand_1","Rect_1","Box_1",100)

DESCRIPTION: Creates a random group using the specified key object and confines them in the specified container object.

rcs_bistatic

SYNTAX: rcs_bistatic(string label, any theta_incr, any phi_incr[, any frequency])

EXAMPLE: rcs_bistatic("RCS_1",1,1)

DESCRIPTION: Creates a bistatic RCS observable. The frequency can also be optionally specified for EM.Tempo. If the observable 'label' already exists, its properties are modified.

rcs_monostatic

SYNTAX: rcs_monostatic(string label, any theta_incr, any phi_incr[, any frequency])

EXAMPLE: rcs_monostatic("RCS_1",1,1)

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.

receiver_set

SYNTAX: receiver_set(string label, any base_point_set[, any pattern_file, any rot_x, any rot_y, any rot_z)

EXAMPLE: receiver_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)

DESCRIPTION: Creates a receiver set in EM.Terrano. If the receiver set 'label' already exists, its properties are modified.

rect

SYNTAX: rect(real x)

EXAMPLE: rect(0.1)

DESCRIPTION: Computes and returns the rectangular window function: 1 if x<0.5, 0 elsewhere.

rect_gap_src

SYNTAX: rect_gap_src(string label, any rect_object, any offset, any polarity[, any amplitude, any phase, any resistance])

EXAMPLE: rect_gap_src("GAP_1","Rect_1",0,0)

DESCRIPTION: Creates a strip gap circuit source in EM.Picasso or EM.Libera. If the strip gap source 'label' already exists, its properties are modified.

rect_strip

SYNTAX: rect_strip(string label, any x0, any y0, any z0, any side_x, any side_y)

EXAMPLE: rect_strip("my_rectangle",0,0,0,50,20)

DESCRIPTION: Draws a rectangle Strip object in the project workspace under the currently activated material group node, or modifies the rectangle strip object named 'label' if it already exists.

rename

SYNTAX: rename(string new_label, string old_label)

EXAMPLE: rename("Box_2","Box_1")

DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group.

resistance

SYNTAX: resistance(string label, any x1, any y1, any z1, any x2, any y2, any z2, any x3, any y3, any z3, any x4, any y4, any z4)

EXAMPLE: resistance("FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)

DESCRIPTION: Creates a resistance integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

resistor

SYNTAX: resistor(string label, any line_object, any offset, any resistance)

EXAMPLE: resistor("Res_1","Line_1",25,50)

DESCRIPTION: Creates a resistor in EM.Tempo. If the resistor 'label' already exists, its properties are modified.

revolve

SYNTAX: revolve(string label, string object, any x0, any y0, any z0, any uX, any uY, any uZ, any rot_angle)

EXAMPLE: revolve("Rev1","Line_1",0,0,0,0,0,1,360)

DESCRIPTION: Creates or modifies a revolution object from a specified object. If modifying an existing revolution object, the pre-existing primitive object is used. (x0,y0,z0) specifies the center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.

rosen

SYNTAX: rosen(real x, real y, real a, real b)

EXAMPLE: rosen(0.5,0,1,2)

DESCRIPTION: Computes and returns the Rosenbrock function: (a-x)**2 + b*(y-x**2)**2.

rotate

SYNTAX: rotate(string object, any rot_angle_degree, any rot_axis_x, any rot_axis_y, any rot_axis_z)

EXAMPLE: rotate("pyramid_1",45,1,1,0)

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.

roughen

SYNTAX: roughen(string label, string object, any rms_height, any correl_length)

EXAMPLE: roughen("Rect_1",1,5)

DESCRIPTION: Roughens the surface of the specified object based on the specified RMS height and correlation length.

run_analysis

SYNTAX: run_analysis()

DESCRIPTION: Runs a simulation in the current active EM.Cube computational module.

save_data

SYNTAX: save_data(string directory_name)

EXAMPLE: save_data("Simulation_Data")

DESCRIPTION: Saves EM.Cube's output simulation data files under the specified directory.

sawtooth

SYNTAX: sawtooth(real x)

EXAMPLE: sawtooth(0.5)

DESCRIPTION: Computes and returns the ascending periodic sawtooth function of period T = 2, oscillating between two values +1 and -1 and having a zero value of at x = 0.

scale

SYNTAX: scale(string object, any scale_factor)

EXAMPLE: scale("pyramid_1",2)

DESCRIPTION: Scales an object by the specified scale factor.

select_module

SYNTAX: select_module(string module_name)

EXAMPLE: select_module("EM.Tempo")

DESCRIPTION: Selects and sets EM.Cube's active module.

set_bandwidth

SYNTAX: set_bandwidth(any value)

EXAMPLE: set_bandwidth(1e9)

DESCRIPTION: Sets EM.Cube's frequency bandwidth.

set_boundary_conditions

SYNTAX: set_boundary_conditions(string xn_type, string xp_type, string yn_type, string yp_type, string zn_type, string zp_type)

EXAMPLE: set_domain_offset_lambda("pml","pml","pml","pml","pec","pml")

DESCRIPTION: Sets EM.Tempo's domain boundary conditions domain offset on the ±X, ±Y and ±Z boundary walls. The options are "pec", "pmc" and "pml".

set_domain_offset

SYNTAX: set_domain_offset(any dxn_offset, any dxp_offset, any dyn_offset, any dyp_offset, any dzn_offset, any dzp_offset)

EXAMPLE: set_domain_offset(20,20,20,20,0,10)

DESCRIPTION: Sets the domain offset values along the ±X, ±Y and ±Z directions in project units.

set_domain_offset_lambda

SYNTAX: set_domain_offset_lambda(any dxn_offset, any dxp_offset, any dyn_offset, any dyp_offset, any dzn_offset, any dzp_offset)

EXAMPLE: set_domain_offset_lambda(0.1,0.1,0.1,0.1,0,0.25)

DESCRIPTION: Sets the domain offset values along the ±X, ±Y and ±Z directions in free-space wavelengths.

set_frequency

SYNTAX: set_frequency(any value)

EXAMPLE: set_frequency(2.4e9)

DESCRIPTION: Sets EM.Cube's center frequency.

set_lcs_link

SYNTAX: set_lcs_link(string object, string lcs_obj, any x_off, any y_off, any z_off)

EXAMPLE: set_lcs_link("pyramid_1","box_1",50,50,0)

DESCRIPTION: Links the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.

set_periodic

SYNTAX: set_periodic(any is_periodic, any spacingX, any spacingY)

EXAMPLE: set_periodic(1,50,50)

DESCRIPTION: Designates the physical structure as periodic and sets the periods along the X and Y directions.

set_rot

SYNTAX: set_rot(string object, any rot_x, any rot_y, any rot_z)

EXAMPLE: set_rot("pyramid_1",0,0,45)

DESCRIPTION: Sets the three rotation angles of an object.

set_rot_link

SYNTAX: set_rot_link(string object, string lcs_obj, any x_off_deg, any y_off_deg, any z_off_deg)

EXAMPLE: set_rot_link("pyramid_1","box_1",0,0,45)

DESCRIPTION: Links the rotation angles of the LCS of the first object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.

set_stackup_order

SYNTAX: set_stackup_order("THS", string label_1, string label_2, ..., string label_n, "BHS")

EXAMPLE: background_layer("THS","Top_Layer","Mid_Layer","Bottom_Layer","BHS")

DESCRIPTION: Sets the hierarchy of EM.Picasso's background layer stackup from top to bottom. The sequence should always start with "THS" standing for the top half-space and must end in "BHS" standing for the bottom half-space. All the intermediate finite-thickness substrate layers must be included and listed in the right order.

set_units

SYNTAX: set_units(string units)

EXAMPLE: set_units("meter")

DESCRIPTION: Sets EM.Cube's project length units.

sgn

SYNTAX: sgn(real x)

EXAMPLE: sgn(-1.0)

DESCRIPTION: Computes and returns the signum function: 1 if x>0, -1 if x<0.

short_dipole

SYNTAX: short_dipole(string label, any x0, any y0, any z0, any length, any uX, any uY, any uZ, any amplitude, any phase)

EXAMPLE: short_dipole("SD_1",0,0,50,3,0,0,1,1,0)

DESCRIPTION: Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, its properties are modified.

sigmoid

SYNTAX: sigmoidnc(real x, real a)

EXAMPLE: sigmoid(0.5,1)

DESCRIPTION: Computes and returns the sigmoid function of slope a: 2/(1 + exp(-a*x)) - 1.

sinc

SYNTAX: sinc(real x)

EXAMPLE: sinc(0.5)

DESCRIPTION: Computes and returns the sinc function: sin(pi*x)/(pi*x).

slice

SYNTAX: slice(string object, any x0, any y0, any z0, any uX, any uY, any uZ)

EXAMPLE: slice("Rect_1",5)

DESCRIPTION: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.

slot_group

SYNTAX: slot_group(string label)

EXAMPLE: slot_group("PMC_1")

DESCRIPTION: Creates a slot trace group in the current module. If the slot trace group 'label' already exists, the group is activated.

solution_plane

SYNTAX: solution_plane(string label, any field_sensor_label, any is_quasi)

EXAMPLE: solution_plane("FI_1","FS_1",1)

DESCRIPTION: Creates a 2D solution plane observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

sphere

SYNTAX: sphere(string label, any x0, any y0, any z0, any radius[, any start_angle, any end_angle])

EXAMPLE: sphere("Sphere_1",0,0,0,10,0,180)

DESCRIPTION: Draws a sphere object in the project workspace under the currently activated Material Group node, or modifies the sphere named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the sphere's azimuth axis.

spiral_curve

SYNTAX: spiral_curve(string label, any x0, any y0, any z0, any radius_inner, any radius_outer, any nturns, any spiral_dir, any is_dual)

EXAMPLE: spiral_curve("Spiral _1",0,0,0,10,50,5,0,0)

DESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'label' 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.

spiral_strip

SYNTAX: spiral_strip(string label, any x0, any y0, any z0, any width, any radius_inner, any radius_outer, any nturns, any spiral_dir, any is_dual)

EXAMPLE: spiral_strip("Spiral _1",0,0,0,10,50,5,0,0)

DESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label' 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.

spline_fit

SYNTAX: spline_fit(string object)

EXAMPLE: spline_fit("Poly_1")

DESCRIPTION: Applies spline fit transformation on a specified polymesh, polyline or polystrip object.

spline2

SYNTAX: spline2(real x)

EXAMPLE: spline2(1.0)

DESCRIPTION: Computes and returns the quadratic B-spline function.

spline3

SYNTAX: spline3(real x)

EXAMPLE: spline3(1.0)

DESCRIPTION: Computes and returns the cubic B-spline function.

sqr_wave

SYNTAX: sqr_wave(real x)

EXAMPLE: sqr_wave(0.5)

DESCRIPTION: Computes and returns the periodic square wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0.

sqr2

SYNTAX: sqr2(real x, real y)

EXAMPLE: sqr2(0,1)

DESCRIPTION: Computes and returns the sum of squares of x and y: x**2 + y**2.

sqr3

SYNTAX: sqr2(real x, real y, real z)

EXAMPLE: sqr2(0,1,2)

DESCRIPTION: Computes and returns the sum of squares of x, y and z: x**2 + y**2 + z**2.

sqrt2

SYNTAX: sqrt2(real x, real y)

EXAMPLE: sqrt2(0,1)

DESCRIPTION: Computes and returns the radius of the 2D point (x,y): sqrt(x**2 + y**2).

sqrt3

SYNTAX: sqrt3(real x, real y, real z)

EXAMPLE: sqrt3(0,1,2)

DESCRIPTION: Computes and returns the radius of the 3D point (x,y,z): sqrt(x**2 + y**2 + z**2).

step

SYNTAX: step(real x)

EXAMPLE: step(1.0)

DESCRIPTION: Computes and returns the unit step function: 1 if x>0, 0 if x<0.

strip_sweep

SYNTAX: strip_sweep(string object, any width)

EXAMPLE: strip_sweep("Curve_1",5)

DESCRIPTION: Creates a strip version of a given curve object.

subtract

SYNTAX: subtract(string label, string object_1, string object_2)

EXAMPLE: subtract("Subtract_Object","Rect_Strip1","Rect_Strip2")

DESCRIPTION: Creates a Boolean object named 'label' by subtracting object_2 from object_1. An error will be thrown if a Boolean object named 'label' already exists.

superquad

SYNTAX: superquad(string label, any x0, any y0, any z0, any diam_x, any diam_y, any order)

EXAMPLE: superquad("SuperQuad_1",0,0,0,50,20,4)

DESCRIPTION: Draws a super-quadratic curve object in the project workspace under the currently activated material group node, or modifies the super-quadratic curve named 'label' if it already exists. If order = 2, the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.

taper_strip

SYNTAX: taper_strip(string label, any x0, any y0, any z0, any base_width, any top_width, any length, any is_expo)

EXAMPLE: taper_strip("ts_1",0,0,0,50,100,80,1)

DESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn.

terrain_group

SYNTAX: terrain_group(string label, any eps, any sigma)

EXAMPLE: terrain_group("Terrain_1",5.0,0.0001)

DESCRIPTION: Creates an terrain surface group in EM.Terrano. If the terrain surface group 'label' already exists, the group is activated.

thinwire_group

SYNTAX: thinwire_group(string label, any radius)

EXAMPLE: thinwire_group("Thinwire_1",4)

DESCRIPTION: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, the group is activated.

torus

SYNTAX: torus(string label, any x0, any y0, any z0, any radius_major, any radius_minor[, any start_angle, any end_angle])

EXAMPLE: torus("Torus_1",0,0,0,50,20)

DESCRIPTION: Draws an torus object in the project workspace under the currently activated material group node, or modifies the torus named 'label' if it already exists. The arguments start_angle and end_angle are in degrees and specify a sweep about the torus's azimuth axis.

translate_by

SYNTAX: translate_by(string object, real x_dist, real y_dist, real z_dist)

EXAMPLE: translate_by("MyObj",10,10,x)

DESCRIPTION: Translates an object by the specified distances in each direction.

translate_to

SYNTAX: translate_to(string object, real x_dest, real y_dest, real z_dest)

EXAMPLE: translate_to("MyObj",20,20,x2)

DESCRIPTION: Translates an object to the specified destination.

transmitter_set

SYNTAX: transmitter_set(string label, any base_point_set[, any pattern_file, any rot_x, any rot_y, any rot_z)

EXAMPLE: transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)

DESCRIPTION: Creates a transmitter set in EM.Terrano. If the transmitter set 'label' already exists, its properties are modified.

tri

SYNTAX: tri(real x)

EXAMPLE: tri(0.1)

DESCRIPTION: Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.

tri_wave

SYNTAX: tri_wave(real x)

EXAMPLE: tri_wave(0.5)

DESCRIPTION: Computes and returns the periodic triangular wave function of period T = 2, oscillating between two values +1 and -1 and having a value of +1 at x = 0.

triangle_strip

SYNTAX: triangle_strip(string label, any x0, any y0, any z0, any side1, any side2, any angle)

EXAMPLE: triangle_strip("ts_1",0,0,0,50,100,90)

DESCRIPTION: Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'label' if it already exists.

union

SYNTAX: union(string label, string object_1, string object_2)

EXAMPLE: union("Union_Object","Rect_Strip1","Rect_Strip2")

DESCRIPTION: Creates a Boolean object named 'label' by unioning object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.

virtual_group

SYNTAX: virtual_group(string label)

EXAMPLE: virtual_group("VIR_1")

DESCRIPTION: Creates a virtual object group in EM.Terrano. If the virtual group 'label' already exists, the group is activated.

voltage_integral

SYNTAX: voltage_integral(string label, any x1, any y1, any z1, any x2, any y2, any z2)

EXAMPLE: voltage_integral("FI_1",0,0,-10,0,0,10)

DESCRIPTION: Creates a voltage integral observable in EM.Ferma. If the observable 'label' already exists, its properties are modified.

volume_current_group

SYNTAX: volume_current_group(string label, any Jx, any Jy, any Jz)

EXAMPLE: volume_current_group("Magnet_1",0,0,1e6)

DESCRIPTION: Creates a volume current source group in EM.Ferma. If the volume current group 'label' already exists, the group is activated.

wave_port

SYNTAX: wave_port(string label, any rect_object, any offset, any is_negative[, any amplitude, any phase, any resistance])

EXAMPLE: wave_port("WP_1","Rect_1",0,0)

DESCRIPTION: Creates a scattering wave port source in EM.Picasso or EM.Libera. If the wave port 'label' already exists, its properties are modified.

waveguide_design

SYNTAX: waveguide_design(real er, real freq_hertz)

EXAMPLE: waveguide_design(1.0,2e9)

DESCRIPTION: Computes and returns the minimum larger dimension (in 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.

waveguide_src

SYNTAX: waveguide_src(string label, any box_object, any offset, any is_negative[, any amplitude, any phase, any resistance])

EXAMPLE: waveguide_src("WG_1","Box_1",50,0)

DESCRIPTION: Creates a waveguide port source in EM.Tempo. If the waveguide port 'label' already exists, its properties are modified.

wire_current_group

SYNTAX: wire_current_group(string label, any current, any wire_radius)

EXAMPLE: wire_current_group("Magnet_1",1,0.5)

DESCRIPTION: Creates a wire current source group in EM.Ferma. If the wire current group 'label' already exists, the group is activated.

wire_gap_src

SYNTAX: wire_gap_src(string label, any line_object, any offset, any polarity[, any amplitude, any phase, any resistance])

EXAMPLE: wire_gap_src("WIG_1","Line_1",50,0)

DESCRIPTION: Creates a wire gap circuit source in EM.Libera. If the wire gap source 'label' already exists, its properties are modified.

zoom_extents

SYNTAX: zoom_extents()

DESCRIPTION: Zooms to fit the extents of the physical structure into the screen.



Top icon.png Back to the Top of the Page

Back icon.png Back to EM.Cube Main Page