Changes

Glossary of EM.Cube's Python Functions

4,114 bytes added, 22:22, 11 June 2018
<table>
<tr>
<td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td>
<tr>
</table>
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
<br />
 
== Standard Python Operators ==
|}
== Standard Basic Mathematical Python Functions ==
{| class="wikitable"
| Hyperbolic tangent function
| -
|-
| np.floor(x)
| Std. Python function
| Floor function
| nearest integer <= x
|-
| np.arcsinh(x)
| Inverse hyperbolic tangent function
| -
|-
| np.floor(x)
| Std. Python function
| Floor function
| nearest integer <= x
|}
|}
== EM.Cube's Miscellaneous Native Python Functions ==
{| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description!scopeactivate="col"| Notes|-| style="width:80px;" | rect(x)| style="width:150px;" | EMAG Python function| style="width:270px;" | Rectangle function| style="width:270px;" | 1 if |x|&le;0.5, 0 elsewhere |-| tri(x)| EMAG Python function| Triangle function| 1 if |1-x|&le;1, 0 elsewhere |-| spline2(x)| EMAG Python function| Quadratic spline function| -|-| spline3(x)| EMAG Python function| Cubic spline function| -|-| step(x)| EMAG Python function| Step function| 1 if x>0, 0 if x<0|-| sgn(x)| Std. Python function| Sign function| 1 if x>0, -1 if x<0|-| ramp(x)| EMAG Python function| Ramp function| x if x>0, 0 if x<0|-| sqr_wave(x)| EMAG Python function| Square wave function| -|-| tri_wave(x)| EMAG Python function| Triangle wave function| -|-| sawtooth(x)| EMAG Python function| Sawtooth wave function| -|-| sinc(x)| EMAG Python function| Sinc function| sin(pi*x)/(pi*x)|-| gauss(x,mu,sigma)| EMAG Python function| Gaussian function of mean mu and standard deviation sigma| exp(-0.5*((x-mu)/sigma)**2)/sigma/sqrt(2*pi)|-| msin(x,r)| EMAG Python function| super-quadratic sine function of order r| -|-| mcos(x,r)| EMAG Python function| super-quadratic cosine function of order r| -|-| sigmoid(x,a)| EMAG Python function| Sigmoid function of slope a| 2/(1 + exp(-a*x)) - 1|-| bh_window(x,T)| EMAG Python function| Blackman-Harris window function| -|-| bh_step(x,T)| EMAG Python function| Blackman-Harris step function| -|-| rand(x,y)| EMAG Python function| Random function| -|-| rosen(x,y,a,b)| EMAG Python function| Rosenbrock function| (a-x)**2 + b*(y-x**2)**2|-| mean(x,y)| EMAG Python function| arithmetic mean of x and y| 0.5*(x+y)|-| geo(x,y)| EMAG Python function| geometric mean of x and y| sqrt(x*y)|-| harm(x,y)| EMAG Python function| harmonic mean of x and y| 2/(1/x+1/y)|-| sqr2(x,y)| EMAG Python function| sum of squares of x and y| x**2 + y**2|-| sqr3(x,y,z)| EMAG Python function| sum of squares of x and y and z| x**2 + y**2 + z**3|-| sqrt2(x,y)| EMAG Python function| radius of 2D point (x,y)| sqrt(x**2 + y**2)|-| sqrt3(x,y,z)| EMAG Python function| radius of 3D point (x,y,z)| sqrt(x**2 + y**2 + z**3)|}
== EM.Cube's Design Python Functions ==SYNTAX: activate({{ArgTypeString}} group_node_label)
{| class="wikitable"!scope="col"| Syntax!scope="col"| Type!scope="col"| Description!scope="col"| Notes|-| style="widthEXAMPLE:100px;" | microstrip_design''activate(z0,er)| style="width:150px;Color_1" | EMAG Python function| style="width:250px;" | Returns the width-to-height ratio of a microstrip transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, er: substrate permittivity|-| style="width:100px;" | microstrip_z0(w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the characteristic impedance of a microstrip transmission line in Ohms | style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | microstrip_eps_eff(w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the effective permittivity of a microstrip transmission line | style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | microstrip_lambda_g(w,h,er,freq_hertz)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the guide wavelength of a microstrip transmission line in meters| style="width:250px;" | w: microstrip width, h: substrate height, er: substrate permittivity, freq_hertz: frequency in Hz|-| style="width:100px;" | cpw_design_w(z0,s,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the slot width of a coplanar waveguide (CPW) transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, s: center strip width (or slot spacing), h: substrate height, er: substrate permittivity|-| style="width:100px;" | cpw_design_s(z0,w,h,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the center strip width (or slot spacing) of a coplanar waveguide (CPW) transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, w: slot width, h: substrate height, er: substrate permittivity|-| style="width:100px;" | coaxial_design(z0,er)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the ratio of radius of the outer conductor to the radius of the inner conductor of a coaxial transmission line | style="width:250px;" | z0: characteristic impedance in Ohms, er: core permittivity|-| style="width:100px;" | waveguide_design(er,freq_hertz)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the minimum larger dimension in meter of the cross section of a hollow rectangular waveguide above cutoff | style="width:250px;" | er: filling permittivity, freq_hertz: frequency in Hz|-| style="width:100px;" | horn_design_a(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized larger dimension of the aperture of an optimal pyramidal horn antenna | style="width:250px;" | D0_dB: directivity d, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide |-| style="width:100px;" | horn_design_b(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized smaller dimension of the aperture of an optimal pyramidal horn antenna | style="width:250px;" | D0_dB: directivity d, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide |-| style="width:100px;" | horn_design_l(D0_dB,a_lambda,b_lambda)| style="width:150px;" | EMAG Python function| style="width:250px;" | Returns the wavelength-normalized length of an optimal pyramidal horn antenna | style="width:250px;" | D0_dB: directivity d, a_lambda: wavelength-normalized larger dimension of the feed waveguide, b_lambda: wavelength-normalized smaller dimension of the feed waveguide |}''
== DESCRIPTION: Activates a color, material or object group in the current active [[EM.Cube's Python Functions ]] module for Geometric Object Creation ==insertion of new objects.
====activateadd_variable====
SYNTAX: activateadd_variable({{ArgTypeString}} group_node_labelvar_name, {{ArgTypeAny}} value)
EXAMPLE: ''activateadd_variable("Color_1MyVar",1)''
DESCRIPTION: Activates Adds a color, material or object group in the current active new variable to [[EM.Cube]] module's variable list.
====array====
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====
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====
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====
DESCRIPTION: Creates a color group in CubeCAD module. If the color group 'label' already exists, the group is activated.
 
====conduction_current_integral====
 
SYNTAX: conduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 
EXAMPLE: ''conduction_current_integral("FI_1",-10,-10,0,10,10,0)''
 
DESCRIPTION: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 
====conductive_sheet_group====
 
SYNTAX: conductive_sheet_group({{ArgTypeString}} label, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)
 
EXAMPLE: ''conductive_sheet_group("Cond_1",100, 0.01)''
 
DESCRIPTION: Creates a conductive sheet group in [[EM.Picasso]]. If the conductive sheet group 'label' already exists, the group is activated.
====cone====
DESCRIPTION: 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====
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====
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====
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====
DESCRIPTION: Fillets the corners of the specified surface or curve object by the specified radius.
 
====flux_electric====
 
SYNTAX: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 
EXAMPLE: ''flux_electric("FI_1",-10,-10,5,10,10,10)''
 
DESCRIPTION: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
 
====flux_magnetic====
 
SYNTAX: flux_magnetic({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
 
EXAMPLE: ''flux_magnetic("FI_1",0,0,-10,10,0,10)''
 
DESCRIPTION: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
====fractal_tree====
DESCRIPTION: 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====
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====
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====
DESCRIPTION: Returns the volume of a solid object.
 
====global_ground====
 
SYNTAX: global_ground({{ArgTypeAny}} ground_on, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
 
EXAMPLE: ''global_ground(1,3.3,0.001)''
 
DESCRIPTION: Set the state of [[EM.Terrano]]'s global ground and its material properties. A zero value for ground_on means to no global ground assumed at Z = 0.
====group====
DESCRIPTION: Groups a number of objects into a composite object with the given label.
====helixharm====
SYNTAX: helixharm({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_inner, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} helix_diry)
EXAMPLE: ''helixharm("Helix_1"1,0,0,0,15,15,10,02)''
DESCRIPTION: Draws a helical curve in Computes and returns 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 harmonic mean of the helix, x and radius_outer specifies the radius at the end of the helix. If the Boolean parameter "helixl_dir" is y: 2/(1, the helical curve will be drawn counter-clockwise/x+1/y).
====hyperbolahelix====
SYNTAX: hyperbolahelix({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_xradius_inner, {{ArgTypeAny}} diam_yradius_outer, {{ArgTypeAny}} axial_lengthnturns, {{ArgTypeAny}} half_onlyhelix_dir)
EXAMPLE: ''hyperbolahelix("Hyperbola _1Helix_1",0,0,0,5015,4015,2010,0)''
DESCRIPTION: Draws a hyperbola object helical curve in the project workspace under the currently activated material group node, or modifies the hyperbola 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 "half_onlyhelixl_dir" is 1, only half of the hyperbola helical curve will be drawncounter-clockwise.
====import_dxfhorn_design_a====
SYNTAX: import_dxfhorn_design_a({{ArgTypeStringArgTypeReal}} file_nameD0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
EXAMPLE: ''import_dxfhorn_design_a("MyDXFModel15,0.DXF"4,0.3)''
DESCRIPTION: Imports an external DXF model file to Computes and returns the project workspace. If wavelength-normalized larger dimension of the file path is not specified, the current project folder is assumed as the pathaperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
====import_igshorn_design_b====
SYNTAX: import_igshorn_design_b({{ArgTypeStringArgTypeReal}} file_nameD0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
EXAMPLE: ''import_igshorn_design_b("MyIGSModel15,0.IGS"4,0.3)''
DESCRIPTION: Imports an external IGES model file to Computes and returns the project workspace. If wavelength-normalized smaller dimension of the file path is not specified, the current project folder is assumed as the pathaperture of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
====import_pyhorn_design_l====
SYNTAX: import_pyhorn_design_l({{ArgTypeStringArgTypeReal}} file_nameD0_dB, {{ArgTypeReal}} a_lambda, {{ArgTypeReal}} b_lambda)
EXAMPLE: ''import_pyhorn_design_l("MyPYModel15,0.PY"4,0.3)''
DESCRIPTION: Imports a Python geometry file to Computes and returns the project workspace. The default path is the Python subfolder under "Documents &rarr; EMAG"wavelength-normalized length of an optimal pyramidal horn antenna with directivity D0_dB and wavelength-normalized feed waveguide dimensions a_lambda and b_lambda.
====import_stlhuygens_src====
SYNTAX: import_stlhuygens_src({{ArgTypeString}} file_namelabel, {{ArgTypeAny}} filename[, {{ArgTypeAny}} set_lcs, {{ArgTypeAny}} polarization, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} x_rot, {{ArgTypeAny}} y_rot, {{ArgTypeAny}} z_rot])
EXAMPLE: ''import_stlhuygens_src("MySTLModelHS_1","Huygens_1.STLHUY",1,100,100,0,0,0,0)''
DESCRIPTION: Imports an external STL model file to the project workspaceCreates a Huygens source. If the file path is not specifiedHuygens source 'label' already exists, the current project folder is assumed as the pathits properties are modified.
====import_stphuygens_surface====
SYNTAX: import_stphuygens_surface({{ArgTypeString}} file_namelabel, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)
EXAMPLE: ''import_stphuygens_surface("MySTPModel.STPHS_1",-10,-10,-10,10,10,10,40,40,40)''
DESCRIPTION: Imports an external STEP model file to the project workspaceCreates a Huygens surface observable. If the file path is not specifiedobservable 'label' already exists, the current project folder is assumed as the pathits properties are modified.
====intersecthuygens_surface_grid====
SYNTAX: intersecthuygens_surface_grid({{ArgTypeString}} label, {{ArgTypeStringArgTypeAny}} object_1x1, {{ArgTypeStringArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} object_2z2)
EXAMPLE: ''intersecthuygens_surface_grid("Intersection_ObjectHS_1","Rect_Strip1"-10,"Rect_Strip2"-10,-10,10,10,10)''
DESCRIPTION: Creates a Boolean object named 'label' by intersecting object_1 and object_2Huygens surface observable in [[EM.Tempo]]. An error will be thrown if a Boolean object named If the observable 'label' already exists, its properties are modified.
====linehyperbola====
SYNTAX: linehyperbola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[diam_x, {{ArgTypeAny}} dir]diam_y, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)
EXAMPLE: ''linehyperbola("my_lineHyperbola _1",0,0,0,10050,"x"40,20,0)''
DESCRIPTION: Draws a Line hyperbola object in the project workspace under the currently activated material group node, or modifies the line hyperbola named 'label' if it already exists. Without If the argument Boolean parameter "dirhalf_only", a vertical line is 1, only half of the hyperbola will be drawn by default.
====loftimpedance_surface_group====
SYNTAX: loftimpedance_surface_group({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} loft_heightz_real, {{ArgTypeAny}} cap_basez_imag)
EXAMPLE: ''loftimpedance_surface_group("Loft_1IMP_1","Rect_Strip1"100,50-100)''
DESCRIPTION: Creates or modifies a loft object from a specified object by the specified heightimpedance_surface group in [[EM.Illumina]]. If modifying an existing loft objectthe impedance surface group 'label' already exists, the pre-existing primitive group is used. This command can only loft objects that have a single face and will loft along the face's normalactivated.
====merge_curveimpenetrable_surface_group====
SYNTAX: merge_curveimpenetrable_surface_group({{ArgTypeString}} object_1label, {{ArgTypeStringArgTypeAny}} eps, {{ArgTypeAny}} object_2sigma)
EXAMPLE: ''merge_curveimpenetrable_surface_group("Curve_1Impenet_1","Curve_2"2.2,0.0001)''
DESCRIPTION: Merges two specified curve objects into a single curveCreates an impenetrable surface group in [[EM.Terrano]]. If the impenetrable surface group 'label' already exists, the group is activated.
====mirrorimport_dxf====
SYNTAX: mirrorimport_dxf({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZfile_name)
EXAMPLE: ''mirrorimport_dxf("pyramid_1MyDXFModel.DXF",0,0,0,1,0,0)''
DESCRIPTION: Mirrors Imports an object in a plane defined by external DXF model file to the project workspace. If the file path is not specified point coordinates and specified normal vector components, the current project folder is assumed as the path.
====move_toimport_igs====
SYNTAX: move_toimport_igs({{ArgTypeString}} object, {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name]file_name)
EXAMPLE: ''move_toimport_igs("NewObjMyIGSModel.IGS","MyObj",10,10,0)''
DESCRIPTION: Transfers Imports an object from its current material/object group node in the navigation tree external IGES model file to another node or optionally to another [[EMthe project workspace.Cube]] moduleIf the file path is not specified, the current project folder is assumed as the path.
====nurbs_curveimport_py====
SYNTAX: nurbs_curveimport_py({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pnfile_name)
EXAMPLE: ''nurbs_curveimport_py("nc_1MyPYModel.PY",(0,0,0),(1,0,0),(1,0,0))''
DESCRIPTION: Creates or modifies Imports a NURBS Curve object in Python geometry file to the project workspace. Each point The default path is represented with a the Python tuple type. The curve is closed if p0 is specified again as pn, otherwise, it is opensubfolder under "Documents &rarr; EMAG".
====nurbs_stripimport_stl====
SYNTAX: nurbs_stripimport_stl({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pnfile_name)
EXAMPLE: ''nurbs_stripimport_stl("ns_1MySTLModel.STL",(0,0,0),(1,0,0),(1,0,0))''
DESCRIPTION: Creates or modifies a NURBS Strip object in Imports an external STL model file to the project workspace. Each point If the file path is represented with a Python tuple type. The nurbs_strip function not specified, the current project folder is 'self-closing' -- there is no need to supply the first point again at the end of assumed as the point listpath.
====parabolaimport_stp====
SYNTAX: parabolaimport_stp({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_onlyfile_name)
EXAMPLE: ''parabolaimport_stp("Parabola _1MySTPModel.STP",0,0,0,50,20,0)''
DESCRIPTION: Draws a parabola object in Imports an external STEP model file to 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" file path is 1not specified, only half of the parabola will be drawncurrent project folder is assumed as the path.
====param_curveinductance====
SYNTAX: param_curveinductance({{ArgTypeString}} label, {{ArgTypeAny}} x0x1, {{ArgTypeAny}} y0y1, {{ArgTypeAny}} z0z1, {{ArgTypeAny}} modelx2, {{ArgTypeAny}} orientationy2, {{ArgTypeAny}} startz2, {{ArgTypeAny}} stopx3, {{ArgTypeAny}} stepy3, {{ArgTypeAny}} function[z3, {{ArgTypeAny}} y(t)x4, {{ArgTypeAny}} z(t)]y4, {{ArgTypeAny}} z4)
EXAMPLE: ''param_curveinductance("Curve_1FI_1",0,0,0-10,"parametric","xy"10,0,10,2.5,-2.5,0,7.15,"cos(t)"2.5,"sin(t)","t"0)''
DESCRIPTION: Generates Creates a parametric curve inductance integral observable in [[EM.Ferma]]. If the project workspace under the currently activated material group node, or modifies the parametric curve named observable 'label' if it already exists, its properties are modified.
====param_surfaceinductor====
SYNTAX: param_surfaceinductor({{ArgTypeString}} label, {{ArgTypeAny}} x0line_object, {{ArgTypeAny}} y0offset, {{ArgTypeAny}} z0, {{ArgTypeAny}} orientation, {{ArgTypeAny}} start1, {{ArgTypeAny}} stop1, {{ArgTypeAny}} step1, , {{ArgTypeAny}} start2, {{ArgTypeAny}} stop2, {{ArgTypeAny}} step2, {{ArgTypeAny}} functioninductance_nH)
EXAMPLE: ''param_surfaceinductor("Surf_1Cap_1",0,0,0,"xyLine_1",025,10,0.1,0,10,0.1,"sin(x)*sin(y)")''
DESCRIPTION: Generates Creates a parametric surface inductor in [[EM.Tempo]]. If the project workspace under the currently activated material group node, or modifies the parametric surface named inductor 'label' if it already exists, its properties are modified.
====pipe_sweepintersect====
SYNTAX: pipe_sweepintersect({{ArgTypeString}} objectlabel, {{ArgTypeAnyArgTypeString}} object_1, {{ArgTypeString}} radiusobject_2)
EXAMPLE: ''pipe_sweepintersect("Curve_1Intersection_Object",5"Rect_Strip1","Rect_Strip2")''
DESCRIPTION: Creates a pipe version of Boolean object named 'label' by intersecting object_1 and object_2. An error will be thrown if a given curve Boolean objectnamed 'label' already exists.
====pointline====
SYNTAX: pointline({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length[, {{ArgTypeAny}} dir])
EXAMPLE: ''pointline("Point_1my_line",0,0,100,100,"x")''
DESCRIPTION: Draws a point Line object in the project workspace under the currently activated material group node, or modifies the point line named 'label' if it already exists. Without the argument "dir", a vertical line is drawn by default.
====polygon_regloft====
SYNTAX: polygon_regloft({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAnyArgTypeString}} z0object, {{ArgTypeAny}} radiusloft_height, {{ArgTypeAny}} n_sidescap_base)
EXAMPLE: ''polygon_regloft("ts_1Loft_1",0,0,0"Rect_Strip1",50,100,80,1)''
DESCRIPTION: Draws Creates or modifies a regular polygon loft object in from a specified object by the project workspace under the currently activated material group nodespecified height. If modifying an existing loft object, or modifies the regular polygon object named 'labelpre-existing primitive is used. This command can only loft objects that have a single face and will loft along the face' if it already existss normal.
====polygonizelumped_src====
SYNTAX: polygonizelumped_src({{ArgTypeString}} objectlabel, {{ArgTypeAny}} side_lengthline_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
EXAMPLE: ''polygonizelumped_src("Cric_1LS_1",2"Line_1",50,0)''
DESCRIPTION: Polygonizes Creates a lumped source in [[EM.Tempo]]. If the specified surface or curve object by the specified side length. The results is a polystrip or a polylinelumped source 'label' already exists, its properties are modified.
====polylinemagnet_group====
SYNTAX: polylinemagnet_group({{ArgTypeString}} label, {{ArgType| 3x1 Python tupleArgTypeAny}} p0mu, {{ArgType| 3x1 Python tupleArgTypeAny}} p1Mx, ... {{ArgType| 3x1 Python tupleArgTypeAny}} pnMy, {{ArgTypeAny}} Mz)
EXAMPLE: ''polylinemagnet_group("pl_1Magnet_1",(0,0,0),(1,0,0),(1,0,0)100)''
DESCRIPTION: Creates or modifies a PolyLine object permanent magnet source group in the project workspace[[EM. Each point is represented with a Python tuple typeFerma]]. The poly_line is closed if p0 is specified again as pnIf the magnet group 'label' already exists, otherwise, it the group is openactivated.
====polymeshmcos====
SYNTAX: polymeshmcos({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeStringArgTypeReal}} object, {{ArgTypeAny}} edge_lengthr)
EXAMPLE: ''polymeshmcos("Poly_1","Cric_1"0.5,2)''
DESCRIPTION: Discretizes Computes and returns the specified solid or surface object by the specified edge length. The results is a polymesh objectsuper-quadratic cosine function of order r.
====polystripmean====
SYNTAX: polystripmean({{ArgTypeStringArgTypeReal}} labelx, {{ArgType| 3x1 Python tupleArgTypeReal}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pny)
EXAMPLE: ''polystrip("ps_1",(0,0,0),mean(1,0,0),(1,0,0)2)''
DESCRIPTION: Creates or modifies a Polystrip object in Computes and returns the project workspacearithmetic mean of x and y: 0. 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 list5*(x+y).
====pyramidmerge_curve====
SYNTAX: pyramidmerge_curve({{ArgTypeString}} labelobject_1, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAnyArgTypeString}} heightobject_2)
EXAMPLE: ''pyramidmerge_curve("Pyramid_1Curve_1",0,0,0,10,10,100"Curve_2")''
DESCRIPTION: Draws Merges two specified curve objects into a pyramid object in the project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already existssingle curve.
====radial_stripmesh====
SYNTAX: radial_stripmesh({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)
EXAMPLEDESCRIPTION: ''radial_strip("Radial_1",0,0,0,50,0,90)''Generates and displays the mesh of the physical structure.
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. ====microstrip_design====
====rail_sweep====SYNTAX: microstrip_design({{ArgTypeReal}} z0, {{ArgTypeReal}} er)
SYNTAXEXAMPLE: rail_sweep''microstrip_design({{ArgTypeString}} rail_object50, {{ArgTypeString}} sweep_object2.2)''
EXAMPLEDESCRIPTION: ''rail_sweep("Curve_1","Curve_2")''Computes and returns the width-to-height ratio of a microstrip transmission line with characteristic impedance z0 in Ohms and substrate relative permittivity er.
DESCRIPTION: Rail-sweeps the specified sweep object along the specified curve object.====microstrip_eps_eff====
====random_group====SYNTAX: microstrip_eps_eff({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
SYNTAXEXAMPLE: random_group''microstrip_eps_eff({{ArgTypeString}} label2, {{ArgTypeString}} key_object0.5, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count2.2)''
EXAMPLEDESCRIPTION: ''random_group("Rand_1"Computes and returns the effective permittivity of a microstrip transmission line with width w,"Rect_1","Box_1",100)''substrate height h and substrate relative permittivity er.
DESCRIPTION: Creates a random group using the specified key object and confines them in the specified container object.====microstrip_lambda_g====
====rect_strip====SYNTAX: microstrip_lambda_g({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
SYNTAXEXAMPLE: rect_strip''microstrip_lambda_g({{ArgTypeString}} label2, {{ArgTypeAny}} x00.5, {{ArgTypeAny}} y02.2, {{ArgTypeAny}} z0, {{ArgTypeAny}} side_x, {{ArgTypeAny}} side_y2e9)''
EXAMPLEDESCRIPTION: ''rect_stripComputes and returns the guide wavelength ("my_rectangle"in meters) of a microstrip transmission line with width w,0,0,0,50,20)''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
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.====microstrip_src====
====revolve====SYNTAX: microstrip_src({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
SYNTAXEXAMPLE: revolve''microstrip_src({{ArgTypeString}} label"MS_1", {{ArgTypeString}} object"Rect_1", {{ArgTypeAny}} x01.5, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} rot_angle"+x")''
EXAMPLEDESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label'revolve("Rev1"already exists,"Line_1",0,0,0,0,0,1,360)''its properties are modified.
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.====microstrip_z0====
====rotate====SYNTAX: microstrip_z0({{ArgTypeReal}} w, {{ArgTypeReal}} h, {{ArgTypeReal}} er)
SYNTAXEXAMPLE: rotate''microstrip_z0({{ArgTypeString}} object2, {{ArgTypeAny}} rot_angle_degree0.5, {{ArgTypeAny}} rot_axis_x, {{ArgTypeAny}} rot_axis_y, {{ArgTypeAny}} rot_axis_z2.2)''
EXAMPLEDESCRIPTION: ''rotateComputes and returns the characteristic impedance ("pyramid_1"in Ohms) of a microstrip transmission line with width w,45,1,1,0)''substrate height h and substrate relative permittivity er.
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.====microstrip_zoc====
====roughen====SYNTAX: microstrip_zoc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
SYNTAXEXAMPLE: roughen''microstrip_zoc({{ArgTypeString}} label2, {{ArgTypeString}} object25, {{ArgTypeAny}} rms_height0.5, {{ArgTypeAny}} correl_length2.2,2e9)''
EXAMPLEDESCRIPTION: ''roughenComputes and returns the input reactance ("Rect_1"in Ohms) of an open-circuited microstrip transmission line with width w,1length l,5)''substrate height h and substrate relative permittivity er at an operating frequency of freq_hertz.
DESCRIPTION: Roughens the surface of the specified object based on the specified RMS height and correlation length.====microstrip_zsc====
====scale====SYNTAX: microstrip_zsc({{ArgTypeReal}} w, {{ArgTypeReal}} l, {{ArgTypeReal}} h, {{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
SYNTAXEXAMPLE: scale''microstrip_zsc({{ArgTypeString}} object2, {{ArgTypeAny}} scale_factor25,0.5,2.2,2e9)''
EXAMPLEDESCRIPTION: ''scaleComputes and returns the input reactance ("pyramid_1",2in 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.
DESCRIPTION: Scales an object by the specified scale factor.====mirror====
====set_lcs_link====SYNTAX: mirror({{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)
SYNTAXEXAMPLE: set_lcs_link''mirror({{ArgTypeString}} object"pyramid_1", {{ArgTypeString}} lcs_obj0, {{ArgTypeAny}} x_off0, {{ArgTypeAny}} y_off0, {{ArgTypeAny}} z_off1,0,0)''
EXAMPLEDESCRIPTION: ''set_lcs_link("pyramid_1","box_1",50,50,0)''Mirrors an object in a plane defined by the specified point coordinates and specified normal vector components.
DESCRIPTION: Links the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.====move_to====
====set_rot====SYNTAX: move_to({{ArgTypeString}} object, {{ArgTypeString}} group_node_label[, {{ArgTypeString}} module_name])
SYNTAXEXAMPLE: set_rot''move_to({{ArgTypeString}} object"NewObj", {{ArgTypeAny}} rot_x"MyObj", {{ArgTypeAny}} rot_y10, {{ArgTypeAny}} rot_z10,0)''
EXAMPLEDESCRIPTION: ''set_rot("pyramid_1",0,0,45)''Transfers an object from its current material/object group node in the navigation tree to another node or optionally to another [[EM.Cube]] module.
DESCRIPTION: Sets the three rotation angles of an object.====msin====
====set_rot_link====SYNTAX: msin({{ArgTypeReal}} x, {{ArgTypeReal}} r)
SYNTAXEXAMPLE: set_rot_link''msin({{ArgTypeString}} object0.5, {{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg2)''
EXAMPLEDESCRIPTION: ''set_rot_link("pyramid_1","box_1",0,0,45)''Computes and returns the super-quadratic sine function of order r.
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.====nurbs_curve====
====slice====SYNTAX: nurbs_curve({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
SYNTAXEXAMPLE: slice''nurbs_curve({{ArgTypeString}} object"nc_1", {{ArgTypeAny}} x0(0, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00), {{ArgTypeAny}} uX(1, {{ArgTypeAny}} uY0, {{ArgTypeAny}} uZ0),(1,0,0))''
EXAMPLEDESCRIPTION: ''slice("Rect_1"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,5)''otherwise, it is open.
DESCRIPTION: Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.====nurbs_strip====
====sphere====SYNTAX: nurbs_strip({{ArgTypeString}} label, {{ArgType| 3x1 Python tuple}} p0, {{ArgType| 3x1 Python tuple}} p1, ... {{ArgType| 3x1 Python tuple}} pn)
SYNTAXEXAMPLE: sphere''nurbs_strip({{ArgTypeString}} label"ns_1", {{ArgTypeAny}} x0(0, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00), {{ArgTypeAny}} radius[(1, {{ArgTypeAny}} start_angle0, {{ArgTypeAny}} end_angle]0),(1,0,0))''
EXAMPLEDESCRIPTION: 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'sphere("Sphere_1",0,0,0,10,0,180)''-- there is no need to supply the first point again at the end of the point list.
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.====ohmic_loss====
====spiral_curve====SYNTAX: ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
SYNTAXEXAMPLE: spiral_curve''ohmic_loss({{ArgTypeString}} label"FI_1", {{ArgTypeAny}} x0-10, {{ArgTypeAny}} y0-10, {{ArgTypeAny}} z0-10, {{ArgTypeAny}} radius_inner10, {{ArgTypeAny}} radius_outer10, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual10)''
EXAMPLEDESCRIPTION: Creates an ohmic loss integral observable in [[EM.Ferma]]. If the observable 'label'spiral_curve("Spiral _1"already exists,0,0,0,10,50,5,0,0)''its properties are modified.
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. ====parabola====
====spiral_strip====SYNTAX: parabola({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} focal_length, {{ArgTypeAny}} axial_length, {{ArgTypeAny}} half_only)
SYNTAXEXAMPLE: spiral_strip''parabola({{ArgTypeString}} label"Parabola _1", {{ArgTypeAny}} x00, {{ArgTypeAny}} y00, {{ArgTypeAny}} z00, {{ArgTypeAny}} width50, {{ArgTypeAny}} radius_inner20, {{ArgTypeAny}} radius_outer, {{ArgTypeAny}} nturns, {{ArgTypeAny}} spiral_dir, {{ArgTypeAny}} is_dual0)''
EXAMPLEDESCRIPTION: Draws a parabola object in the project workspace under the currently activated material group node, or modifies the parabola named 'label'spiral_strip(if it already exists. If the Boolean parameter "Spiral _1half_only"is 1,0,0,0,10,50,5,0,0)''only half of the parabola will be drawn.
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. ====param_curve====
====spline_fit====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)])
SYNTAXEXAMPLE: spline_fit''param_curve({{ArgTypeString}} object"Curve_1",0,0,0,"parametric","xy",0,10,0.1,"cos(t)","sin(t)","t")''
EXAMPLEDESCRIPTION: Generates a parametric curve in the project workspace under the currently activated material group node, or modifies the parametric curve named 'label'spline_fit("Poly_1")''if it already exists.
DESCRIPTION: Applies spline fit transformation on a specified polymesh, polyline or polystrip object.====param_surface====
====strip_sweep====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)
SYNTAXEXAMPLE: strip_sweep''param_surface({{ArgTypeString}} object"Surf_1", {{ArgTypeAny}} width0,0,0,"xy",0,10,0.1,0,10,0.1,"sin(x)*sin(y)")''
EXAMPLEDESCRIPTION: ''strip_sweep("Curve_1"Generates a parametric surface in the project workspace under the currently activated material group node,5)or modifies the parametric surface named 'label'if it already exists.
DESCRIPTION: Creates a strip version of a given curve object.====pec_group====
====subtract====SYNTAX: pec_group({{ArgTypeString}} label)
SYNTAXEXAMPLE: subtract''pec_group({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2"PEC_1")''
EXAMPLEDESCRIPTION: Creates a PEC material group in the current module. If the PEC group 'label'subtract("Subtract_Object"already exists,"Rect_Strip1","Rect_Strip2")''the group is activated.
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.====pec_via_group====
====superquad====SYNTAX: pec_via_group({{ArgTypeString}} label, {{ArgTypeAny}} host_layer)
SYNTAXEXAMPLE: superquad''pec_via_group({{ArgTypeString}} label"PEC_1", {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} diam_x, {{ArgTypeAny}} diam_y, {{ArgTypeAny}} order10)''
EXAMPLEDESCRIPTION: Creates an embedded PEC via set group in the current module. If the PEC via group 'label'superquad("SuperQuad_1"already exists,0,0,0,50,20,4)''the group is activated.
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. ===pec_voltage_group====
====taper_strip====SYNTAX: pec_voltage_group({{ArgTypeString}} label, {{ArgTypeAny}} voltage)
SYNTAXEXAMPLE: taper_strip''pec_voltage_group({{ArgTypeString}} label"PEC_1", {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo10)''
EXAMPLEDESCRIPTION: Creates a fixed-potential PEC object group in the current module. If the PEC group 'label'taper_strip("ts_1"already exists,0,0,0,50,100,80,1)''the group is activated.
DESCRIPTION: Draws a taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 'label' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn. ====penetrable_surface_group====
====torus====SYNTAX: penetrable_surface_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} thickness)
SYNTAXEXAMPLE: torus''penetrable_surface_group({{ArgTypeString}} label"Penet_1", {{ArgTypeAny}} x02.2, {{ArgTypeAny}} y00.0001, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle]1)''
EXAMPLEDESCRIPTION: Creates a penetrable surface group in [[EM.Terrano]]. If the penetrable surface group 'label'torus("Torus_1"already exists,0,0,0,50,20)''the group is activated.
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.====penetrable_volume_group====
====translate_by====SYNTAX: penetrable_volume_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
SYNTAXEXAMPLE: translate_by''penetrable_volume_group({{ArgTypeString}} object"Vol_Penet_1", {{ArgTypeReal}} x_dist2.2, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist0.0001)''
EXAMPLEDESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If the penetrable volume group 'label'translate_by("MyObj"already exists,10,10,x)''the group is activated.
DESCRIPTION: Translates an object by the specified distances in each direction.====pipe_sweep====
====translate_to====SYNTAX: pipe_sweep({{ArgTypeString}} object, {{ArgTypeAny}} radius)
SYNTAXEXAMPLE: translate_to''pipe_sweep({{ArgTypeString}} object"Curve_1", {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest5)''
EXAMPLEDESCRIPTION: ''translate_to("MyObj",20,20,x2)''Creates a pipe version of a given curve object.
DESCRIPTION: Translates an object to the specified destination.====planewave====
====triangle_strip====SYNTAX: planewave({{ArgTypeString}} label, {{ArgTypeAny}} theta, {{ArgTypeAny}} phi, {{ArgTypeAny}} polarization)
SYNTAX'EXAMPLE: triangle_strip''planewave({{ArgTypeString}} label"PW_1", {{ArgTypeAny}} x0180, {{ArgTypeAny}} y00, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle"tm")''
EXAMPLEDESCRIPTION: Creates a plane wave source. If the plane wave source 'label'triangle_strip("ts_1"already exists,0,0,0,50,100,90)''its properties are modified.
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. ====plot_file====
== EM.Cube's Python Functions for Geometric Object Transformation ==SYNTAX: plot_file({{ArgTypeString}} filename)
====union====EXAMPLE: ''plot_file("D0.DAT")''
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. == EM.Cube's Python Functions for Material or Object Group Creation == ====pec_group==== SYNTAX: pec_group({{ArgTypeString}} label) EXAMPLE: ''pec_group("PEC_1")'' DESCRIPTION: Creates a PEC material group in Plots the current module. If the PEC 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 contents of a fixed-potential PEC object group specified data file in the current moduleEM. 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. ====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 activatedGrid.
====pmc_group====
DESCRIPTION: Creates a PMC material group in the current module. If the PMC group 'label' already exists, the group is activated.
====slot_grouppoint====
SYNTAX: slot_grouppoint({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)
EXAMPLE: ''slot_grouppoint("PMC_1Point_1",0,0,10)''
DESCRIPTION: Creates Draws a slot trace group point in the current module. If project workspace under the slot trace currently activated material group node, or modifies the point named 'label' if it already exists, the group is activated.
====dielectric_grouppolygon_reg====
SYNTAX: dielectric_grouppolygon_reg({{ArgTypeString}} label, {{ArgTypeAny}} epsx0, {{ArgTypeAny}} sigmay0, {{ArgTypeAny}} muz0, {{ArgTypeAny}} rhoradius, {{ArgTypeAny}} n_sides)
EXAMPLE: ''dielectric_grouppolygon_reg("Dielectric_1ts_1","my_eps"0,0,1,0,50,100,80,1)''
DESCRIPTION: Creates Draws a dielectric material group regular polygon object in the current module with project workspace under the specified currently activated material properties. If group node, or modifies the dielectric group regular polygon object named 'label' if it already exists, the group is activated.
====impenetrable_surface_grouppolygonize====
SYNTAX: impenetrable_surface_grouppolygonize({{ArgTypeString}} labelobject, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigmaside_length)
EXAMPLE: ''impenetrable_surface_grouppolygonize("Impenet_1Cric_1",2.2,0.0001)''
DESCRIPTION: Creates an impenetrable surface group in [[EM.Terrano]]. If Polygonizes the impenetrable specified surface group 'label' already exists, or curve object by the group specified side length. The results is activateda polystrip or a polyline.
====penetrable_surface_grouppolyline====
SYNTAX: penetrable_surface_grouppolyline({{ArgTypeString}} label, {{ArgTypeAnyArgType| 3x1 Python tuple}} epsp0, {{ArgTypeAnyArgType| 3x1 Python tuple}} sigmap1, ... {{ArgTypeAnyArgType| 3x1 Python tuple}} thicknesspn)
EXAMPLE: ''penetrable_surface_grouppolyline("Penet_1pl_1",2.2(0,0.0001, 0),(1,0,0),(1,0,0))''
DESCRIPTION: Creates or modifies a penetrable surface group PolyLine object in [[EMthe project workspace.Terrano]]Each point is represented with a Python tuple type. If the penetrable surface group 'label' already existsThe poly_line is closed if p0 is specified again as pn, the group otherwise, it is activatedopen.
====penetrable_volume_grouppolymesh====
SYNTAX: penetrable_volume_grouppolymesh({{ArgTypeString}} label, {{ArgTypeAnyArgTypeString}} epsobject, {{ArgTypeAny}} sigmaedge_length)
EXAMPLE: ''penetrable_volume_grouppolymesh("Vol_Penet_1Poly_1",2.2"Cric_1",0.00012)''
DESCRIPTION: Creates a penetrable volume group in [[EM.Terrano]]. If Discretizes the penetrable volume group 'label' already exists, specified solid or surface object by the group specified edge length. The results is activateda polymesh object.
====terrain_grouppolystrip====
SYNTAX: terrain_grouppolystrip({{ArgTypeString}} label, {{ArgTypeAnyArgType| 3x1 Python tuple}} epsp0, {{ArgTypeAnyArgType| 3x1 Python tuple}} sigmap1, ... {{ArgType| 3x1 Python tuple}} pn)
EXAMPLE: ''terrain_grouppolystrip("Terrain_1ps_1",5.(0,0,0),(1,0,0),(1,0,0.0001))''
DESCRIPTION: Creates an terrain surface group or modifies a Polystrip object in [[EMthe project workspace.Terrano]]Each point is represented with a Python tuple type. If the terrain surface group The poly_strip function is 'labelself-closing' already exists, the group -- there is activatedno need to supply the first point again at the end of the point list.
====base_point_groupport_definition_custom====
SYNTAX: base_point_groupport_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: ''base_point_setport_definition_custom("BP_Set_1PD_1",("LS_1","LS_2",50),,("LS_3","LS_4",50))''
DESCRIPTION: Creates a base point set in [[EM.Terrano]]custom port definition observable. If the base point set group observable 'label' already exists, the group is activatedits properties are modified.
====virtual_groupport_definition_default====
SYNTAX: virtual_groupport_definition_default({{ArgTypeString}} label)
EXAMPLE: ''virtual_groupport_definition_default("VIR_1PD_1")''
DESCRIPTION: Creates a virtual object group in [[EM.Terrano]]default port definition observable. If the virtual group observable 'label' already exists, the group is activatedits properties are modified.
====impedance_surface_groupprobe_gap_src====
SYNTAX: impedance_surface_groupprobe_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} z_realvia_object, {{ArgTypeAny}} z_imagpolarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance])
EXAMPLE: ''impedance_surface_groupprobe_gap_src("IMP_1Probe_1",100"Via_1",-1000)''
DESCRIPTION: Creates a impedance_surface group probe gap circuit source in [[EM.IlluminaPicasso]]. If the impedance surface group probe gap source 'label' already exists, the group is activatedits properties are modified.
====conductive_sheet_grouppyramid====
SYNTAX: conductive_sheet_grouppyramid({{ArgTypeString}} label, {{ArgTypeAny}} sigmax0, {{ArgTypeAny}} thicknessy0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_x, {{ArgTypeAny}} base_y, {{ArgTypeAny}} height)
EXAMPLE: ''conductive_sheet_grouppyramid("Cond_1Pyramid_1",1000, 0.01,0,10,10,100)''
DESCRIPTION: Creates Draws a conductive sheet group pyramid object in [[EM.Picasso]]. If the conductive sheet project workspace under the currently activated material group node, or modifies the pyramid named 'label' if it already exists, the group is activated.
====charge_groupradial_strip====
SYNTAX: charge_groupradial_strip({{ArgTypeString}} label, {{ArgTypeAny}} densityx0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius, {{ArgTypeAny}} base_length, {{ArgTypeAny}} angle)
EXAMPLE: ''charge_groupradial_strip("Charge_1Radial_1",-1e-50,0,0,50,0,90)''
DESCRIPTION: Creates Draws a volume charge source group radial strip object in [[EM.Ferma]]. If the charge project workspace under the currently activated material group node, or modifies the radial strip object named 'label' if it already exists, the group is activated.
====magnet_grouprail_sweep====
SYNTAX: magnet_grouprail_sweep({{ArgTypeString}} labelrail_object, {{ArgTypeAny}} mu, {{ArgTypeAny}} Mx, {{ArgTypeAny}} My, {{ArgTypeAnyArgTypeString}} Mzsweep_object)
EXAMPLE: ''magnet_grouprail_sweep("Magnet_1Curve_1",1,0,0,100"Curve_2")''
DESCRIPTION: Creates a permanent magnet source group in [[EM.Ferma]]. If Rail-sweeps the magnet group 'label' already exists, specified sweep object along the group is activatedspecified curve object.
====volume_current_groupramp====
SYNTAX: volume_current_groupramp({{ArgTypeStringArgTypeReal}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jzx)
EXAMPLE: ''volume_current_groupramp("Magnet_1",0,0,1e6.5)''
DESCRIPTION: Creates a volume current source group in [[EM.Ferma]]. If Computes and returns the volume current group 'label' already existsramp function: x if x>0, the group is activated0 if x<0.
====wire_current_grouprand====
SYNTAX: wire_current_grouprand({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} current, {{ArgTypeAny}} wire_radiusy)
EXAMPLE: ''wire_current_grouprand("Magnet_1"0,1,0.5)''
DESCRIPTION: Creates Computes and returns a wire current source group in [[EM.Ferma]]. If the wire current group 'label' already exists, the group is activatedrandom number between x and y using an uniform distribution.
== EM.Cube's Python Functions for Source & Lumped Device Definition ==random_group====
====lumped_src====SYNTAX: random_group({{ArgTypeString}} label, {{ArgTypeString}} key_object, {{ArgTypeString}} container_object, {{ArgTypeAny}} element_count)
SYNTAXEXAMPLE: lumped_src''random_group({{ArgTypeString}} label"Rand_1", {{ArgTypeAny}} line_object"Rect_1", {{ArgTypeAny}} offset"Box_1", {{ArgTypeAny}} polarity[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]100)''
EXAMPLEDESCRIPTION: ''lumped_src("LS_1","Line_1",50,0)''Creates a random group using the specified key object and confines them in the specified container object.
DESCRIPTION: Creates a lumped source in [[EM.Tempo]]. If the lumped source 'label' already exists, its properties are modified.====rcs_bistatic====
====distributed_src====SYNTAX: rcs_bistatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
SYNTAXEXAMPLE: distributed_src''rcs_bistatic({{ArgTypeString}} label"RCS_1", {{ArgTypeAny}} rect_object1, {{ArgTypeAny}} field_dir, {{ArgTypeAny}} profile[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]1)''
EXAMPLEDESCRIPTION: Creates a bistatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label'distributed_src("DS_1"already exists,"Rect_1","+y","uniform")''its properties are modified.
DESCRIPTION: Creates a distributed source in [[EM.Tempo]]. If the distributed source 'label' already exists, its properties are modified.====rcs_monostatic====
====microstrip_src====SYNTAX: rcs_monostatic({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr[, {{ArgTypeAny}} frequency])
SYNTAXEXAMPLE: microstrip_src''rcs_monostatic({{ArgTypeString}} label"RCS_1", {{ArgTypeAny}} rect_object1, {{ArgTypeAny}} height, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]1)''
EXAMPLEDESCRIPTION: Creates a monostatic RCS observable. The frequency can also be optionally specified for [[EM.Tempo]]. If the observable 'label'microstrip_src("MS_1"already exists,"Rect_1",1its properties are modified.5,"+x")''
DESCRIPTION: Creates a microstrip port source in [[EM.Tempo]]. If the microstrip port 'label' already exists, its properties are modified.====receiver_set====
====cpw_src====SYNTAX: receiver_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
SYNTAXEXAMPLE: cpw_src''receiver_set({{ArgTypeString}} label"TX_1", {{ArgTypeAny}} rect_object"PT_1", {{ArgTypeAny}} spacing"DPL_STD.RAD", {{ArgTypeAny}} edge[0, {{ArgTypeAny}} amplitude90, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]0)''
EXAMPLEDESCRIPTION: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label'cpw_src("CPW_1"already exists,"Rect_1",1its properties are modified.5,"+x")''
DESCRIPTION: Creates a CPW port source in [[EM.Tempo]]. If the CPW port 'label' already exists, its properties are modified.====rect====
====coaxial_src====SYNTAX: rect({{ArgTypeReal}} x)
SYNTAXEXAMPLE: coaxial_src''rect({{ArgTypeString}} label, {{ArgTypeAny}} cylinder_object, {{ArgTypeAny}} outer_radius, {{ArgTypeAny}} edge[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]0.1)''
EXAMPLE: ''coaxial_src("COAX_1","Cyl_1",1.5,"+z")'' DESCRIPTION: Creates a coaxial port source in [[EM.Tempo]]. If Computes and returns the coaxial port 'label' already exists, its properties are modified. ====waveguide_src==== SYNTAXrectangular window function: 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,1 if x<0)'' DESCRIPTION: Creates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, its properties are modified. ====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",505,0)'' DESCRIPTION: Creates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, its properties are modifiedelsewhere.
====rect_gap_src====
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.
====probe_gap_srcrect_strip====
SYNTAX: probe_gap_srcrect_strip({{ArgTypeString}} label, {{ArgTypeAny}} via_objectx0, {{ArgTypeAny}} polarity[y0, {{ArgTypeAny}} amplitudez0, {{ArgTypeAny}} phaseside_x, {{ArgTypeAny}} resistance]side_y)
EXAMPLE: ''probe_gap_srcrect_strip("Probe_1my_rectangle","Via_1"0,0,0,50,20)''
DESCRIPTION: Creates Draws a probe gap circuit source rectangle Strip object in [[EM.Picasso]]. If the probe gap source project workspace under the currently activated material group node, or modifies the rectangle strip object named 'label' if it already exists, its properties are modified.
====wave_portrename====
SYNTAX: wave_portrename({{ArgTypeString}} labelnew_label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAnyArgTypeString}} resistance]old_label)
EXAMPLE: ''wave_portrename("WP_1Box_2","Rect_1Box_1",0,0)''
DESCRIPTION: Creates Deletes a scattering wave port node name from the navigation tree. The node can be any geometric object, source in [[EM.Picasso]] , observable or [[EM.Libera]]. If the wave port 'label' already exists, its properties are modifiedmaterial group.
====short_dipoleresistance====
SYNTAX: short_dipoleresistance({{ArgTypeString}} label, {{ArgTypeAny}} x0x1, {{ArgTypeAny}} y0y1, {{ArgTypeAny}} z0z1, {{ArgTypeAny}} lengthx2, {{ArgTypeAny}} uXy2, {{ArgTypeAny}} uYz2, {{ArgTypeAny}} uZx3, {{ArgTypeAny}} amplitudey3, {{ArgTypeAny}} phasez3, {{ArgTypeAny}} x4, {{ArgTypeAny}} y4, {{ArgTypeAny}} z4)
EXAMPLE: ''short_dipoleresistance("SD_1FI_1",0,0,50-10,30,0,10,-10,-10,0,110,110,0)''
DESCRIPTION: Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, its properties are modified. ====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. ====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. ====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. ====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 resistance integral observable in [[EM.TerranoFerma]]. If the transmitter set observable 'label' already exists, its properties are modified.
====resistor====
DESCRIPTION: Creates a resistor in [[EM.Tempo]]. If the resistor 'label' already exists, its properties are modified.
====capacitorrevolve====
SYNTAX: capacitorrevolve({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} line_objectuY, {{ArgTypeAny}} offsetuZ, {{ArgTypeAny}} capacitance_pFrot_angle)
EXAMPLE: ''capacitorrevolve("Cap_1Rev1","Line_1",250,100,0,0,0,1,360)''
DESCRIPTION: Creates or modifies a capacitor in [[EM.Tempo]]revolution object from a specified object. If modifying an existing revolution object, the capacitor 'label' already existspre-existing primitive object is used. (x0, its properties are modifiedy0,z0) specifies the center of revolution, and (uX,uY,uZ) specifies the revolution axis. The revolution angle "rot_angle" is given in degrees.
====inductorrosen====
SYNTAX: inductorrosen({{ArgTypeStringArgTypeReal}} labelx, {{ArgTypeAnyArgTypeReal}} line_objecty, {{ArgTypeAnyArgTypeReal}} offseta, {{ArgTypeAnyArgTypeReal}} inductance_nHb)
EXAMPLE: ''inductorrosen("Cap_1"0.5,"Line_1"0,251,102)''
DESCRIPTION: Creates a inductor in [[EM.Tempo]]. If Computes and returns the inductor 'label' already exists, its properties are modifiedRosenbrock function: (a-x)**2 + b*(y-x**2)**2.
====dioderotate====
SYNTAX: dioderotate({{ArgTypeString}} labelobject, {{ArgTypeAny}} line_objectrot_angle_degree, {{ArgTypeAny}} polarityrot_axis_x, {{ArgTypeAny}} is_fArot_axis_y, {{ArgTypeAny}} temperature_K, {{ArgTypeAny}} ideality_factorrot_axis_z)
EXAMPLE: ''dioderotate("Diode_1pyramid_1","Line_1"45,251,1,0,10,300,1)''
DESCRIPTION: Creates Rotates an object about a diode in [[EM.Tempo]]. If the diode 'label' already exists, line passing through its properties are modifiedLCS center and aligned along the specified direction vector (rot_axis) by the specified angle.
== EM.Cube's Python Functions for Observable Definition ==roughen====
====port_definition_default====SYNTAX: roughen({{ArgTypeString}} label, {{ArgTypeString}} object, {{ArgTypeAny}} rms_height, {{ArgTypeAny}} correl_length)
SYNTAXEXAMPLE: port_definition_default''roughen({{ArgTypeString}} label"Rect_1",1,5)''
EXAMPLEDESCRIPTION: ''port_definition_default("PD_1")''Roughens the surface of the specified object based on the specified RMS height and correlation length.
DESCRIPTION: Creates a default port definition observable. If the observable 'label' already exists, its properties are modified.====run_analysis====
====port_definition_custom====SYNTAX: run_analysis()
SYNTAXDESCRIPTION: port_definition_custom({{ArgTypeString}} label, ({{ArgTypeString}} port_1_src_1, {{ArgTypeString}} port_1_src_2, Runs a simulation in the current active [[EM.Cube]] computational module.., {{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))''====save_data====
DESCRIPTIONSYNTAX: Creates a custom port definition observable. If the observable 'label' already exists, its properties are modified.save_data({{ArgTypeString}} directory_name)
====farfield====EXAMPLE: ''save_data("Simulation_Data")''
SYNTAXDESCRIPTION: farfield({{ArgTypeString}} label, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)Saves [[EM.Cube]]'s output simulation data files under the specified directory.
EXAMPLE: ''farfield("FF_1",1,1)''====sawtooth====
DESCRIPTIONSYNTAX: Creates a far-field radiation pattern observable. If the observable 'label' already exists, its properties are modified.sawtooth({{ArgTypeReal}} x)
====rcs_bistatic====EXAMPLE: ''sawtooth(0.5)''
SYNTAXDESCRIPTION: rcs_bistatic({{ArgTypeString}} labelComputes and returns the ascending periodic sawtooth function of period T = 2, {{ArgTypeAny}} theta_incr, {{ArgTypeAny}} phi_incr)oscillating between two values +1 and -1 and having a zero value of at x = 0.
EXAMPLE: ''rcs_bistatic("RCS_1",1,1)''====scale====
DESCRIPTIONSYNTAX: Creates a bistatic RCS observable. If the observable 'label' already existsscale({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} scale_factor)
====current_dist====EXAMPLE: ''scale("pyramid_1",2)''
SYNTAXDESCRIPTION: current_dist({{ArgTypeString}} label)Scales an object by the specified scale factor.
EXAMPLE: ''current_dist("CD_1")''====select_module====
DESCRIPTIONSYNTAX: Creates a current distribution observable. If the observable 'label' already exists, its properties are modified.select_module({{ArgTypeString}} module_name)
====field_sensor====EXAMPLE: ''select_module("[[EM.Tempo]]")''
SYNTAXDESCRIPTION: 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)Selects and sets [[EM.Cube]]'s active module.
EXAMPLE: ''field_sensor("FS_1","z",0,0,0,100,100,0,25,25,0)''====set_bandwidth====
DESCRIPTIONSYNTAX: Creates a near-field sensor observable. If the observable 'label' already exists, its properties are modified.set_bandwidth({{ArgTypeAny}} value)
====field_sensor_grid====EXAMPLE: ''set_bandwidth(1e9)''
SYNTAXDESCRIPTION: field_sensor_grid({{ArgTypeString}} label, {{ArgTypeAny}} dir_coordinate, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)Sets [[EM.Cube]]'s frequency bandwidth.
EXAMPLE: ''field_sensor_grid("FS_1","z",0,0,0)''====set_boundary_conditions====
DESCRIPTIONSYNTAX: Creates a near-field sensor observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already existsset_boundary_conditions({{ArgTypeString}} xn_type, its properties are modified.{{ArgTypeString}} xp_type, {{ArgTypeString}} yn_type, {{ArgTypeString}} yp_type, {{ArgTypeString}} zn_type, {{ArgTypeString}} zp_type)
====field_probe====EXAMPLE: ''set_domain_offset_lambda("pml","pml","pml","pml","pec","pml")''
SYNTAXDESCRIPTION: field_probe({{ArgTypeString}} labelSets [[EM.Tempo]]'s domain boundary conditions domain offset on the &plusmn;X, {{ArgTypeAny}} x0&plusmn;Y and &plusmn;Z boundary walls. The options are "pec", {{ArgTypeAny}} y0, {{ArgTypeAny}} z0)"pmc" and "pml".
EXAMPLE: ''field_probe("FS_1",0,0,50)''====set_domain_offset====
DESCRIPTIONSYNTAX: Creates a temporal field probe observable in [[EM.Tempo]] or [[EM.Ferma]]. If the observable 'label' already existsset_domain_offset({{ArgTypeAny}} dxn_offset, its properties are modified.{{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
====receiver_set====EXAMPLE: ''set_domain_offset(20,20,20,20,0,10)''
SYNTAXDESCRIPTION: receiver_set({{ArgTypeString}} labelSets the domain offset values along the &plusmn;X, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)&plusmn;Y and &plusmn;Z directions in project units.
EXAMPLE: ''receiver_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''====set_domain_offset_lambda====
DESCRIPTIONSYNTAX: Creates a receiver set in [[EM.Terrano]]. If the receiver set 'label' already existsset_domain_offset_lambda({{ArgTypeAny}} dxn_offset, its properties are modified.{{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offset)
====huygens_surface====EXAMPLE: ''set_domain_offset_lambda(0.1,0.1,0.1,0.1,0,0.25)''
SYNTAXDESCRIPTION: huygens_surface({{ArgTypeString}} labelSets the domain offset values along the &plusmn;X, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2, {{ArgTypeAny}} xSamples, {{ArgTypeAny}} ySamples, {{ArgTypeAny}} zSamples)&plusmn;Y and &plusmn;Z directions in free-space wavelengths.
EXAMPLE: ''huygens_surface("HS_1",-10,-10,-10,10,10,10,40,40,40)''====set_frequency====
DESCRIPTIONSYNTAX: Creates a Huygens surface observable. If the observable 'label' already exists, its properties are modified.set_frequency({{ArgTypeAny}} value)
====huygens_surface_grid====EXAMPLE: ''set_frequency(2.4e9)''
SYNTAXDESCRIPTION: huygens_surface_grid({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)Sets [[EM.Cube]]'s center frequency.
EXAMPLE: ''huygens_surface_grid("HS_1",-10,-10,-10,10,10,10)''====set_lcs_link====
DESCRIPTIONSYNTAX: Creates a Huygens surface observable in [[EM.Tempo]]. If the observable 'label' already existsset_lcs_link({{ArgTypeString}} object, its properties are modified.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off, {{ArgTypeAny}} y_off, {{ArgTypeAny}} z_off)
====voltage_integral====EXAMPLE: ''set_lcs_link("pyramid_1","box_1",50,50,0)''
SYNTAXDESCRIPTION: voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)Links the LCS of the first object to the LCS of the second object by the specified offset values along the three axes.
EXAMPLE: ''voltage_integral("FI_1",0,0,-10,0,0,10)''====set_periodic====
DESCRIPTIONSYNTAX: Creates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already existsset_periodic({{ArgTypeAny}} is_periodic, its properties are modified.{{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY)
====current_integral====EXAMPLE: ''set_periodic(1,50,50)''
SYNTAXDESCRIPTION: current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)Designates the physical structure as periodic and sets the periods along the X and Y directions.
EXAMPLE: ''current_integral("FI_1",-10,-10,0,10,10,0)''====set_rot====
DESCRIPTIONSYNTAX: Creates a current integral observable in [[EM.Ferma]]. If the observable 'label' already existsset_rot({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
====conduction_current_integral====EXAMPLE: ''set_rot("pyramid_1",0,0,45)''
SYNTAXDESCRIPTION: conduction_current_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)Sets the three rotation angles of an object.
EXAMPLE: ''conduction_current_integral("FI_1",-10,-10,0,10,10,0)''====set_rot_link====
DESCRIPTIONSYNTAX: Creates a conduction current integral observable in [[EM.Ferma]]. If the observable 'label' already existsset_rot_link({{ArgTypeString}} object, its properties are modified.{{ArgTypeString}} lcs_obj, {{ArgTypeAny}} x_off_deg, {{ArgTypeAny}} y_off_deg, {{ArgTypeAny}} z_off_deg)
====capacitance====EXAMPLE: ''set_rot_link("pyramid_1","box_1",0,0,45)''
SYNTAXDESCRIPTION: 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)Links the rotation angles of the LCS of the first object to the rotation angles of the LCS of the second object by the specified angle offset values in degrees along the three axes.
EXAMPLE: ''capacitance("FI_1",-10,-10,5,10,10,10,0,0,-10,0,0,10)''====set_stackup_order====
DESCRIPTIONSYNTAX: Creates a capacitance integral observable in [[EMset_stackup_order("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, .Ferma]]. If the observable 'label' already exists, its properties are modified., {{ArgTypeString}} label_n, "BHS")
====inductance====EXAMPLE: ''background_layer("THS","Top_Layer","Mid_Layer","Bottom_Layer","BHS")''
SYNTAXDESCRIPTION: 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)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.
EXAMPLE: ''inductance("FI_1",0,0,-10,10,0,10,2.5,-2.5,0,7.5,2.5,0)''====set_units====
DESCRIPTIONSYNTAX: Creates a inductance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.set_units({{ArgTypeString}} units)
====resistance====EXAMPLE: ''set_units("meter")''
SYNTAXDESCRIPTION: 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)Sets [[EM.Cube]]'s project length units.
EXAMPLE: ''resistance("FI_1",0,0,-10,0,0,10,-10,-10,0,10,10,0)''====sgn====
DESCRIPTIONSYNTAX: Creates a resistance integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.sgn({{ArgTypeReal}} x)
====flux_electric====EXAMPLE: ''sgn(-1.0)''
SYNTAXDESCRIPTION: flux_electric({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2Computes and returns the signum function: 1 if x>0, {{ArgTypeAny}} z2)-1 if x<0.
EXAMPLE: ''flux_electric("FI_1",-10,-10,5,10,10,10)''====short_dipole====
DESCRIPTIONSYNTAX: Creates an electric flux integral observable in [[EM.Ferma]]. If the observable 'short_dipole({{ArgTypeString}} label' already exists, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} length, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ, {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase)
====flux_magnetic====EXAMPLE: ''short_dipole("SD_1",0,0,50,3,0,0,1,1,0)''
SYNTAXDESCRIPTION: flux_magnetic({{ArgTypeString}} Creates a Hertzian short dipole source. If the short dipole source 'label' already exists, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)its properties are modified.
EXAMPLE: ''flux_magnetic("FI_1",0,0,-10,10,0,10)''====sigmoid====
DESCRIPTIONSYNTAX: Creates a magnetic flux integral observable in [[EM.Ferma]]. If the observable 'label' already existssigmoidnc({{ArgTypeReal}} x, its properties are modified.{{ArgTypeReal}} a)
====energy_electric====EXAMPLE: ''sigmoid(0.5,1)''
SYNTAXDESCRIPTION: energy_electricComputes and returns the sigmoid function of slope a: 2/({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z21 + exp(-a*x))- 1.
EXAMPLE: ''energy_electric("FI_1",-10,-10,-10,10,10,10)''====sinc====
DESCRIPTIONSYNTAX: Creates an electric energy integral observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.sinc({{ArgTypeReal}} x)
====energy_magnetic====EXAMPLE: ''sinc(0.5)''
SYNTAXDESCRIPTION: energy_magneticComputes and returns the sinc function: sin(pi*x)/({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2pi*x).
EXAMPLE: ''energy_magnetic("FI_1",-10,-10,-10,10,10,10)''====slice====
DESCRIPTIONSYNTAX: Creates a magnetic energy integral observable in [[EM.Ferma]]. If the observable 'label' already existsslice({{ArgTypeString}} object, its properties are modified.{{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} uX, {{ArgTypeAny}} uY, {{ArgTypeAny}} uZ)
====ohmic_loss====EXAMPLE: ''slice("Rect_1",5)''
SYNTAXDESCRIPTION: ohmic_loss({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)Slices the specified object into two parts using the specified plane given by the point coordinates and normal vector coordinates.
EXAMPLE: ''ohmic_loss("FI_1",-10,-10,-10,10,10,10)''====slot_group====
SYNTAX: slot_group({{ArgTypeString}} label) EXAMPLE: ''slot_group("PMC_1")'' DESCRIPTION: Creates an ohmic loss integral observable a slot trace group in [[EM.Ferma]]the current module. If the observable slot trace group 'label' already exists, its properties are modifiedthe group is activated.
====solution_plane====
DESCRIPTION: Creates a 2D solution plane observable in [[EM.Ferma]]. If the observable 'label' already exists, its properties are modified.
== EM.Cube's Python Functions for Simulation-Related Functions & Operations ==sphere====
====select_module====SYNTAX: sphere({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])
SYNTAXEXAMPLE: select_module''sphere({{ArgTypeString}} module_name"Sphere_1",0,0,0,10,0,180)''
EXAMPLEDESCRIPTION: Draws a sphere object in the project workspace under the currently activated Material Group node, or modifies the sphere named 'label'select_module("[[EMif it already exists.Tempo]]")'The arguments start_angle and end_angle are in degrees and specify a sweep about the sphere's azimuth axis.
DESCRIPTION: Selects and sets [[EM.Cube]]'s active module.====spiral_curve====
====set_units====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)
SYNTAXEXAMPLE: set_units''spiral_curve({{ArgTypeString}} units"Spiral _1",0,0,0,10,50,5,0,0)''
EXAMPLEDESCRIPTION: Draws a spiral curve object in the project workspace under the currently activated material group node, or modifies the spiral curve named 'label'set_units(if it already exists. If the Boolean parameter "meterspiral_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.
DESCRIPTION: Sets [[EM.Cube]]'s project length units.====spiral_strip====
====set_frequency====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)
SYNTAXEXAMPLE: set_frequency''spiral_strip({{ArgTypeAny}} value"Spiral _1",0,0,0,10,50,5,0,0)''
EXAMPLEDESCRIPTION: Draws a spiral strip object in the project workspace under the currently activated material group node, or modifies the spiral strip named 'label'set_frequency(2if 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.4e9)''
DESCRIPTION: Sets [[EM.Cube]]'s center frequency.====spline_fit====
====set_bandwidth====SYNTAX: spline_fit({{ArgTypeString}} object)
SYNTAXEXAMPLE: set_bandwidth''spline_fit({{ArgTypeAny}} value"Poly_1")''
EXAMPLEDESCRIPTION: ''set_bandwidth(1e9)''Applies spline fit transformation on a specified polymesh, polyline or polystrip object.
DESCRIPTION: Sets [[EM.Cube]]'s frequency bandwidth.====spline2====
====background_layer====SYNTAX: spline2({{ArgTypeReal}} x)
SYNTAXEXAMPLE: background_layer''spline2({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma, {{ArgTypeAny}} mu, {{ArgTypeAny}} thickness1.0)''
EXAMPLEDESCRIPTION: ''background_layer("Mid_Layer",3Computes and returns the quadratic B-spline function.3,0.001,1,1.5)''
DESCRIPTION: Adds a new substrate layer to [[EM.Picasso]]'s background layer stackup.====spline3====
====delete_background_layer====SYNTAX: spline3({{ArgTypeReal}} x)
SYNTAXEXAMPLE: delete_background_layer''spline3({{ArgTypeString}} label1.0)''
EXAMPLEDESCRIPTION: ''delete_background_layer("Mid_Layer")''Computes and returns the cubic B-spline function.
DESCRIPTION: Deletes a finite-thickness substrate layer from [[EM.Picasso]]'s background layer stackup.====sqr_wave====
====set_stackup_order====SYNTAX: sqr_wave({{ArgTypeReal}} x)
SYNTAXEXAMPLE: set_stackup_order''sqr_wave("THS", {{ArgTypeString}} label_1, {{ArgTypeString}} label_2, 0..., {{ArgTypeString}} label_n, "BHS"5)''
EXAMPLEDESCRIPTION: ''background_layer("THS"Computes and returns the periodic square wave function of period T = 2,"Top_Layer","Mid_Layer","Bottom_Layer","BHS")''oscillating between two values +1 and -1 and having a value of +1 at x = 0.
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. ====sqr2====
====global_ground====SYNTAX: sqr2({{ArgTypeReal}} x, {{ArgTypeReal}} y)
SYNTAXEXAMPLE: global_ground''sqr2({{ArgTypeAny}} ground_on0, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma1)''
EXAMPLEDESCRIPTION: ''global_ground(1,3.3,0Computes and returns the sum of squares of x and y: x**2 + y**2.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. ===sqr3====
====delete====SYNTAX: sqr2({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
SYNTAXEXAMPLE: delete''sqr2({{ArgTypeString}} node_name0,1,2)''
EXAMPLEDESCRIPTION: ''delete("Box_1")''Computes and returns the sum of squares of x, y and z: x**2 + y**2 + z**2.
DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. ====sqrt2====
====rename====SYNTAX: sqrt2({{ArgTypeReal}} x, {{ArgTypeReal}} y)
SYNTAXEXAMPLE: rename''sqrt2({{ArgTypeString}} new_label0, {{ArgTypeString}} old_label1)''
EXAMPLEDESCRIPTION: ''renameComputes and returns the radius of the 2D point ("Box_2"x,"Box_1"y)'': sqrt(x**2 + y**2).
DESCRIPTION: Deletes a node name from the navigation tree. The node can be any geometric object, source, observable or material group. ====sqrt3====
====zoom_extents====SYNTAX: sqrt3({{ArgTypeReal}} x, {{ArgTypeReal}} y, {{ArgTypeReal}} z)
SYNTAXEXAMPLE: zoom_extents''sqrt3(0,1,2)''
DESCRIPTION: Zooms to fit Computes and returns the extents radius of the physical structure into the screen3D point (x,y,z): sqrt(x**2 + y**2 + z**2).
====get_domain_extentstep====
SYNTAX: get_domain_extentstep({{ArgTypeStringArgTypeReal}} coordinatex)
EXAMPLE: ''get_domain_extentstep("x"1.0)''
DESCRIPTION: Returns Computes and returns the size of the computational domain along the specified directionunit step function: 1 if x>0, 0 if x<0.
====set_domain_offsetstrip_sweep====
SYNTAX: set_domain_offsetstrip_sweep({{ArgTypeAny}} dxn_offset, {{ArgTypeAny}} dxp_offset, {{ArgTypeAny}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAnyArgTypeString}} dzn_offsetobject, {{ArgTypeAny}} dzp_offsetwidth)
EXAMPLE: ''set_domain_offsetstrip_sweep(20"Curve_1",20,20,20,0,105)''
DESCRIPTION: Sets the domain offset values along the &plusmn;X, &plusmn;Y and &plusmn;Z directions in project unitsCreates a strip version of a given curve object.
====set_domain_offset_lambdasubtract====
SYNTAX: set_domain_offset_lambdasubtract({{ArgTypeAnyArgTypeString}} dxn_offsetlabel, {{ArgTypeAnyArgTypeString}} dxp_offsetobject_1, {{ArgTypeAnyArgTypeString}} dyn_offset, {{ArgTypeAny}} dyp_offset, {{ArgTypeAny}} dzn_offset, {{ArgTypeAny}} dzp_offsetobject_2)
EXAMPLE: ''set_domain_offset_lambdasubtract(0.1"Subtract_Object",0.1"Rect_Strip1",0.1,0.1,0,0.25"Rect_Strip2")''
DESCRIPTION: Sets the domain offset values along the &plusmn;X, &plusmn;Y and &plusmn;Z directions in free-space wavelengthsCreates 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.
====set_boundary_conditionssuperquad====
SYNTAX: set_boundary_conditionssuperquad({{ArgTypeString}} xn_typelabel, {{ArgTypeStringArgTypeAny}} xp_typex0, {{ArgTypeStringArgTypeAny}} yn_typey0, {{ArgTypeStringArgTypeAny}} yp_typez0, {{ArgTypeStringArgTypeAny}} zn_typediam_x, {{ArgTypeStringArgTypeAny}} diam_y, {{ArgTypeAny}} zp_typeorder)
EXAMPLE: ''set_domain_offset_lambdasuperquad("pmlSuperQuad_1","pml"0,"pml"0,"pml"0,"pec"50,"pml"20,4)''
DESCRIPTION: Sets [[EM.Tempo]]'s domain boundary conditions domain offset on Draws a super-quadratic curve object in the &plusmn;Xproject workspace under the currently activated material group node, &plusmn;Y and &plusmn;Z boundary wallsor modifies the super-quadratic curve named 'label' if it already exists. The options are "pec"If order = 2, "pmc" and "pml"the curve reduces to an ellipse. Higher order makes the round edges sharper. An infinite order reduces the curve to a rectangle.
====add_variabletaper_strip====
SYNTAX: add_variabletaper_strip({{ArgTypeString}} var_namelabel, {{ArgTypeAny}} valuex0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} base_width, {{ArgTypeAny}} top_width, {{ArgTypeAny}} length, {{ArgTypeAny}} is_expo)
EXAMPLE: ''add_variabletaper_strip("MyVarts_1",0,0,0,50,100,80,1)''
DESCRIPTION: Adds Draws a new variable to [[EM.Cube]]taper strip object in the project workspace under the currently activated material group node, or modifies the taper strip object named 's variable listlabel' if it already exists. If the Boolean parameters "is_expo" is 1, an exponential taper will be drawn.
====run_analysisterrain_group====
SYNTAX: run_analysisterrain_group({{ArgTypeString}} label, {{ArgTypeAny}} eps, {{ArgTypeAny}} sigma)
DESCRIPTIONEXAMPLE: Runs a simulation in the current active [[EM''terrain_group("Terrain_1",5.Cube]] computational module0,0.0001)''
====set_periodic====DESCRIPTION: Creates an terrain surface group in [[EM.Terrano]]. If the terrain surface group 'label' already exists, the group is activated.
SYNTAX: set_periodic({{ArgTypeAny}} is_periodic, {{ArgTypeAny}} spacingX, {{ArgTypeAny}} spacingY) ====thinwire_group====
EXAMPLESYNTAX: ''set_periodicthinwire_group(1{{ArgTypeString}} label,50,50{{ArgTypeAny}} radius)''
DESCRIPTIONEXAMPLE: Designates the physical structure as periodic and sets the periods along the X and Y directions.''thinwire_group("Thinwire_1",4)''
====get_standard_output====DESCRIPTION: Creates a Thinwire material group in the current module. If the thin wire group 'label' already exists, the group is activated.
SYNTAX: get_standard_output({{ArgTypeString}} output_name) ====torus====
EXAMPLESYNTAX: ''get_standard_outputtorus("S11M"{{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} radius_major, {{ArgTypeAny}} radius_minor[, {{ArgTypeAny}} start_angle, {{ArgTypeAny}} end_angle])''
DESCRIPTIONEXAMPLE: Returns the computed value of the specified standard output parameter at the end of a simulation.''torus("Torus_1",0,0,0,50,20)''
====save_data====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.
SYNTAX: save_data({{ArgTypeString}} directory_name) ====translate_by====
EXAMPLESYNTAX: ''save_datatranslate_by("Simulation_Data"{{ArgTypeString}} object, {{ArgTypeReal}} x_dist, {{ArgTypeReal}} y_dist, {{ArgTypeReal}} z_dist)''
DESCRIPTIONEXAMPLE: Saves [[EM.Cube]]'s output simulation data files under the specified directory.'translate_by("MyObj",10,10,x)''
====plot_file====DESCRIPTION: Translates an object by the specified distances in each direction.
SYNTAX: plot_file({{ArgTypeString}} filename) ====translate_to====
EXAMPLESYNTAX: ''plot_filetranslate_to("D0.DAT"{{ArgTypeString}} object, {{ArgTypeReal}} x_dest, {{ArgTypeReal}} y_dest, {{ArgTypeReal}} z_dest)''
DESCRIPTIONEXAMPLE: Plots the contents of a specified data file in EM.Grid.''translate_to("MyObj",20,20,x2)''
====mesh====DESCRIPTION: Translates an object to the specified destination.
SYNTAX: mesh()====transmitter_set====
DESCRIPTIONSYNTAX: Generates and displays the mesh of the physical structure.transmitter_set({{ArgTypeString}} label, {{ArgTypeAny}} base_point_set[, {{ArgTypeAny}} pattern_file, {{ArgTypeAny}} rot_x, {{ArgTypeAny}} rot_y, {{ArgTypeAny}} rot_z)
====emtempo_mesh_settings====EXAMPLE: ''transmitter_set("TX_1","PT_1","DPL_STD.RAD",0,90,0)''
SYNTAXDESCRIPTION: emtempo_mesh_settings({{ArgTypeAny}} cells_per_lambdaCreates a transmitter set in [[EM.Terrano]]. If the transmitter set 'label' already exists, {{ArgTypeAny}} ratio_contour, {{ArgTypeAny}} ratio_thin, {{ArgTypeAny}} ratio_abs)its properties are modified.
EXAMPLE: ''emtempo_mesh_settings(30,0.1,0.1,0.02)''====tri====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Tempo]]'s adaptive mesh generator.tri({{ArgTypeReal}} x)
====emillumina_mesh_settings====EXAMPLE: ''tri(0.1)''
SYNTAXDESCRIPTION: emillumina_mesh_settings({{ArgTypeAny}} cells_per_lambda)Computes and returns the triangular window function: 1-|x| if x<1, 0 elsewhere.
EXAMPLE: ''emillumina_mesh_settings(30)''====tri_wave====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Illumina]]'s mesh generator.tri_wave({{ArgTypeReal}} x)
====empicasso_mesh_settings====EXAMPLE: ''tri_wave(0.5)''
SYNTAXDESCRIPTION: empicasso_mesh_settings({{ArgTypeAny}} cells_per_lambda)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.
EXAMPLE: ''empicasso_mesh_settings(30)''====triangle_strip====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Picasso]]'s planar hybrid mesh generator.triangle_strip({{ArgTypeString}} label, {{ArgTypeAny}} x0, {{ArgTypeAny}} y0, {{ArgTypeAny}} z0, {{ArgTypeAny}} side1, {{ArgTypeAny}} side2, {{ArgTypeAny}} angle)
====emlibera_mesh_settings====EXAMPLE: ''triangle_strip("ts_1",0,0,0,50,100,90)''
SYNTAXDESCRIPTION: emlibera_mesh_settings({{ArgTypeAny}} cells_per_lambda)Draws a triangle strip object in the project workspace under the currently activated material group node, or modifies the triangle strip object named 'label' if it already exists.
EXAMPLE: ''emlibera_mesh_settings(30)''====union====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Libera]]'s mesh generator.union({{ArgTypeString}} label, {{ArgTypeString}} object_1, {{ArgTypeString}} object_2)
====emferma_mesh_settings====EXAMPLE: ''union("Union_Object","Rect_Strip1","Rect_Strip2")''
SYNTAXDESCRIPTION: emferma_mesh_settings({{ArgTypeAny}} cell_size_x, {{ArgTypeAny}} cell_size_y, {{ArgTypeAny}} cell_size_z)Creates a Boolean object named 'label' by unioning object_1 and object_2. An error will be thrown if a Boolean object named 'label' already exists.
EXAMPLE: ''emferma_mesh_settings(0.5,0.5,0.5)''====virtual_group====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Ferma]]'s fixed-cell mesh generator.virtual_group({{ArgTypeString}} label)
====emterrano_mesh_settings====EXAMPLE: ''virtual_group("VIR_1")''
SYNTAXDESCRIPTION: emterrano_mesh_settings({{ArgTypeAny}} edge_lengthCreates a virtual object group in [[EM.Terrano]]. If the virtual group 'label' already exists, {{ArgTypeAny}} angle_tol)the group is activated.
EXAMPLE: ''emterrano_mesh_settings(5,10)''====voltage_integral====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Terrano]]'s facet mesh generator.voltage_integral({{ArgTypeString}} label, {{ArgTypeAny}} x1, {{ArgTypeAny}} y1, {{ArgTypeAny}} z1, {{ArgTypeAny}} x2, {{ArgTypeAny}} y2, {{ArgTypeAny}} z2)
====cubecad_mesh_settings====EXAMPLE: ''voltage_integral("FI_1",0,0,-10,0,0,10)''
SYNTAXDESCRIPTION: cubecad_mesh_settings({{ArgTypeAny}} edge_lengthCreates a voltage integral observable in [[EM.Ferma]]. If the observable 'label' already exists, {{ArgTypeAny}} angle_tol)its properties are modified.
EXAMPLE: ''cubecad_mesh_settings(5,10)''====volume_current_group====
DESCRIPTIONSYNTAX: Sets the parameters of CubeCAD's mesh generator.volume_current_group({{ArgTypeString}} label, {{ArgTypeAny}} Jx, {{ArgTypeAny}} Jy, {{ArgTypeAny}} Jz)
====emtempo_engine_settings====EXAMPLE: ''volume_current_group("Magnet_1",0,0,1e6)''
SYNTAXDESCRIPTION: emtempo_engine_settings({{ArgTypeString}} engineCreates a volume current source group in [[EM.Ferma]]. If the volume current group 'label' already exists, {{ArgTypeAny}} power_threshhold, {{ArgTypeAny}} max_timesteps)the group is activated.
EXAMPLE: ''emtempo_engine_settings("single-precision",-50,20000)''====wave_port====
DESCRIPTIONSYNTAX: Sets the parameters of wave_port({{ArgTypeString}} label, {{ArgTypeAny}} rect_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[[EM.Tempo], {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]'s FDTD simulation engine.)
====emterrano_engine_settings====EXAMPLE: ''wave_port("WP_1","Rect_1",0,0)''
SYNTAXDESCRIPTION: emterrano_engine_settings({{ArgTypeAny}} bounce_countCreates a scattering wave port source in [[EM.Picasso]] or [[EM.Libera]]. If the wave port 'label' already exists, {{ArgTypeAny}} do_edge_diffraction, {{ArgTypeAny}} angular_resolution, {{ArgTypeAny}} ray_threshhold)its properties are modified.
EXAMPLE: ''emterrano_engine_settings(5,1,1,-100)''====waveguide_design====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Terrano]]'s SBR simulation engine.waveguide_design({{ArgTypeReal}} er, {{ArgTypeReal}} freq_hertz)
====empicasso_engine_settings====EXAMPLE: ''waveguide_design(1.0,2e9)''
SYNTAXDESCRIPTION: empicasso_engine_settingsComputes and returns the minimum larger dimension ({{ArgTypeString}} matrix_solver, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterationsin meters)of the cross section of a hollow rectangular waveguide above cutoff with a material filling of relative permittivity er at an operating frequency of freq_hertz.
EXAMPLE: ''empicasso_engine_settings("bicg",1e-3,1000)''====waveguide_src====
DESCRIPTIONSYNTAX: Sets the parameters of waveguide_src({{ArgTypeString}} label, {{ArgTypeAny}} box_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} is_negative[[EM.Picasso], {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]'s planar MoM simulation engine.)
====emillumina_engine_settings====EXAMPLE: ''waveguide_src("WG_1","Box_1",50,0)''
SYNTAXDESCRIPTION: emillumina_engine_settings({{ArgTypeString}} engineCreates a waveguide port source in [[EM.Tempo]]. If the waveguide port 'label' already exists, {{ArgTypeAny}} is_fixed_iteration, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)its properties are modified.
EXAMPLE: ''emillumina_engine_settings("ipo",0,1e-2,20)''====wire_current_group====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Illumina]]'s Physical Optics simulation engine.wire_current_group({{ArgTypeString}} label, {{ArgTypeAny}} current, {{ArgTypeAny}} wire_radius)
====emferma_engine_settings====EXAMPLE: ''wire_current_group("Magnet_1",1,0.5)''
SYNTAXDESCRIPTION: emferma_engine_settings({{ArgTypeString}} matrix_solverCreates a wire current source group in [[EM.Ferma]]. If the wire current group 'label' already exists, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)the group is activated.
EXAMPLE: ''emferma_engine_settings("bicg-stab",1e-3,100)''====wire_gap_src====
DESCRIPTIONSYNTAX: Sets the parameters of wire_gap_src({{ArgTypeString}} label, {{ArgTypeAny}} line_object, {{ArgTypeAny}} offset, {{ArgTypeAny}} polarity[[EM.Ferma], {{ArgTypeAny}} amplitude, {{ArgTypeAny}} phase, {{ArgTypeAny}} resistance]'s electrostatic and magnetostatic simulation engines.)
====emlibera_engine_settings_wmom====EXAMPLE: ''wire_gap_src("WIG_1","Line_1",50,0)''
SYNTAXDESCRIPTION: emlibera_engine_settings_wmom({{ArgTypeString}} matrix_solverCreates a wire gap circuit source in [[EM.Libera]]. If the wire gap source 'label' already exists, {{ArgTypeAny}} error_tol, {{ArgTypeAny}} max_iterations)its properties are modified.
EXAMPLE: ''emlibera_engine_settings_wmom("bicg",1e-3,1000)''====zoom_extents====
DESCRIPTIONSYNTAX: Sets the parameters of [[EM.Libera]]'s wire MoM simulation engines.zoom_extents()
====emlibera_engine_settings_smom==== 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 Zooms to fit the parameters extents of [[EM.Libera]]'s surface MoM simulation enginesthe physical structure into the screen.
<br />
<hr>
[[Image:Top_icon.png|48px30px]] '''[[#Standard Python Functions Standard_Python_Operators | Back to the Top of the Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
28,333
edits