compute_peff

mqed.BEM.compute_peff.compute_E0_from_vacuum_G0(calculator, omega, x_m, y_m, zD_m, zA_m, pvec_Cm)[source]

Build analytic vacuum fields E0 at points (x_m, y_m, zA_m) from a dipole at zD_m. Returns E0 as (N,3) complex.

mqed.BEM.compute_peff.fit_complex_scalar_ls(Ea: numpy.ndarray, Eb: numpy.ndarray) complex[source]

Fit s minimizing ||Eb - s Ea||^2 for complex arrays. Ea, Eb are 1D complex vectors. :param Ea: 1D complex numpy array. :param Eb: 1D complex numpy array.

Returns:

Complex scalar minimizing ||Eb - s Ea||^2

Return type:

s

mqed.BEM.compute_peff.omega_from_lambda_nm(lam_nm: float) float[source]

Convert wavelength in nm to angular frequency in rad/s

mqed.BEM.compute_peff.read_bem_fieldline_xlsx(xlsx_path: str, sheet: str) tuple[numpy.ndarray, numpy.ndarray][source]

Read BEM electric field data from an Excel sheet. Returns positions in nm and complex electric field vectors. :param xlsx_path: Path to the Excel file. :param sheet: Sheet name in the Excel file.

Returns:

Positions in nm as a 1D numpy array. E: Complex electric field vectors as a (N,3) numpy array.

Return type:

x_nm