mpylab.tools.gtem_e0y module

mpylab.tools.gtem_e0y module.

class mpylab.tools.gtem_e0y.GTEM(az: float, hz: float, gz: float, zz: float, Zc: float = 50)

Bases: object

GTEM class.

a(z)

a method.

e0y(x, y, z, max_m: int = 1000)

e0y method.

evaluate_function_on_points(points, fnc, chunk_size: int = 20000, **kwargs)

Evaluate a field function on a (N, 3) point cloud.

Parameters:
  • points – Input points shaped (N, 3).

  • fnc – Function compatible with e0y(x, y, z, ...).

  • chunk_size – Number of points processed per chunk.

  • kwargs – Additional keyword arguments forwarded to fnc.

g(z)

g method.

generate_points(zmax, num_points_z, num_points_xy)

Generate a 3D array of points (x, y, z) from chamber geometry.

Parameters:
  • zmax (float) – Maximum z coordinate.

  • num_points_z (int) – Number of samples along the z axis.

  • num_points_xy (int) – Number of samples for x and y per z slice.

Returns:

Array containing points (x, y, z).

Return type:

numpy.ndarray

h(z)

h method.

mpylab.tools.gtem_e0y.analytical_e0y(a, h, g, x, y, Zc=50, max_m: int = 1000)

Calculate the analytical GTEM e0y field factor.

The implementation is independent of mpylab’s geometry data structures and accepts scalars or numpy-compatible arrays. a, h, g, x and y must describe one cross section in meters. The summation convention matches range(1, max_m + 1, 2) and therefore includes an odd max_m.

This is IEC 61000-4-20, Equation (A.5). Zc is the GTEM characteristic impedance U/I and appears under the square root in that equation. It is distinct from the vacuum wave impedance eta0 = E/H (represented by scuq.constants.Z_0 and approximately 377 ohms), which is used by the free-space correlation equations.