finesse.components.modal package

Submodules

finesse.components.modal.beamsplitter module

class finesse.components.modal.beamsplitter.BeamsplitterOpticalConnections

Bases: object

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘Py_ssize_t’

P1i_P3o
P1i_P3o_idx

P1i_P3o_idx: ‘Py_ssize_t’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘Py_ssize_t’

P2i_P4o
P2i_P4o_idx

P2i_P4o_idx: ‘Py_ssize_t’

P3i_P1o
P3i_P1o_idx

P3i_P1o_idx: ‘Py_ssize_t’

P3i_P4o
P3i_P4o_idx

P3i_P4o_idx: ‘Py_ssize_t’

P4i_P2o
P4i_P2o_idx

P4i_P2o_idx: ‘Py_ssize_t’

P4i_P3o
P4i_P3o_idx

P4i_P3o_idx: ‘Py_ssize_t’

class finesse.components.modal.beamsplitter.BeamsplitterSignalConnections

Bases: BeamsplitterOpticalConnections

P1i_Fpitch
P1i_Fpitch_idx

P1i_Fpitch_idx: ‘Py_ssize_t’

P1i_Fyaw
P1i_Fyaw_idx

P1i_Fyaw_idx: ‘Py_ssize_t’

P1i_Fz
P1i_Fz_idx

P1i_Fz_idx: ‘Py_ssize_t’

P1o_Fpitch
P1o_Fpitch_idx

P1o_Fpitch_idx: ‘Py_ssize_t’

P1o_Fyaw
P1o_Fyaw_idx

P1o_Fyaw_idx: ‘Py_ssize_t’

P1o_Fz
P1o_Fz_idx

P1o_Fz_idx: ‘Py_ssize_t’

P2i_Fpitch
P2i_Fpitch_idx

P2i_Fpitch_idx: ‘Py_ssize_t’

P2i_Fyaw
P2i_Fyaw_idx

P2i_Fyaw_idx: ‘Py_ssize_t’

P2i_Fz
P2i_Fz_idx

P2i_Fz_idx: ‘Py_ssize_t’

P2o_Fpitch
P2o_Fpitch_idx

P2o_Fpitch_idx: ‘Py_ssize_t’

P2o_Fyaw
P2o_Fyaw_idx

P2o_Fyaw_idx: ‘Py_ssize_t’

P2o_Fz
P2o_Fz_idx

P2o_Fz_idx: ‘Py_ssize_t’

P3i_Fpitch
P3i_Fpitch_idx

P3i_Fpitch_idx: ‘Py_ssize_t’

P3i_Fyaw
P3i_Fyaw_idx

P3i_Fyaw_idx: ‘Py_ssize_t’

P3i_Fz
P3i_Fz_idx

P3i_Fz_idx: ‘Py_ssize_t’

P3o_Fpitch
P3o_Fpitch_idx

P3o_Fpitch_idx: ‘Py_ssize_t’

P3o_Fyaw
P3o_Fyaw_idx

P3o_Fyaw_idx: ‘Py_ssize_t’

P3o_Fz
P3o_Fz_idx

P3o_Fz_idx: ‘Py_ssize_t’

P4i_Fpitch
P4i_Fpitch_idx

P4i_Fpitch_idx: ‘Py_ssize_t’

P4i_Fyaw
P4i_Fyaw_idx

P4i_Fyaw_idx: ‘Py_ssize_t’

P4i_Fz
P4i_Fz_idx

P4i_Fz_idx: ‘Py_ssize_t’

P4o_Fpitch
P4o_Fpitch_idx

P4o_Fpitch_idx: ‘Py_ssize_t’

P4o_Fyaw
P4o_Fyaw_idx

P4o_Fyaw_idx: ‘Py_ssize_t’

P4o_Fz
P4o_Fz_idx

P4o_Fz_idx: ‘Py_ssize_t’

Z_P1o
Z_P1o_idx

Z_P1o_idx: ‘Py_ssize_t’

Z_P2o
Z_P2o_idx

Z_P2o_idx: ‘Py_ssize_t’

Z_P3o
Z_P3o_idx

Z_P3o_idx: ‘Py_ssize_t’

Z_P4o
Z_P4o_idx

Z_P4o_idx: ‘Py_ssize_t’

pitch_P1o
pitch_P1o_idx

pitch_P1o_idx: ‘Py_ssize_t’

pitch_P2o
pitch_P2o_idx

pitch_P2o_idx: ‘Py_ssize_t’

pitch_P3o
pitch_P3o_idx

pitch_P3o_idx: ‘Py_ssize_t’

pitch_P4o
pitch_P4o_idx

pitch_P4o_idx: ‘Py_ssize_t’

yaw_P1o
yaw_P1o_idx

yaw_P1o_idx: ‘Py_ssize_t’

yaw_P2o
yaw_P2o_idx

yaw_P2o_idx: ‘Py_ssize_t’

yaw_P3o
yaw_P3o_idx

yaw_P3o_idx: ‘Py_ssize_t’

yaw_P4o
yaw_P4o_idx

yaw_P4o_idx: ‘Py_ssize_t’

class finesse.components.modal.beamsplitter.BeamsplitterValues

Bases: BaseCValues

L

L: ‘double’

R

R: ‘double’

Rcx

Rcx: ‘double’

Rcy

Rcy: ‘double’

T

T: ‘double’

alpha

alpha: ‘double’

misaligned

misaligned: ‘double’

phi

phi: ‘double’

plane

plane: ‘double’

xbeta

xbeta: ‘double’

ybeta

ybeta: ‘double’

class finesse.components.modal.beamsplitter.BeamsplitterWorkspace(owner, BaseSimulation sim)

Bases: KnmConnectorWorkspace

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K13

K13: finesse.knm.matrix.KnmMatrix

K13_loss

K13_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

K24

K24: finesse.knm.matrix.KnmMatrix

K24_loss

K24_loss: ‘double[::1]’

K31

K31: finesse.knm.matrix.KnmMatrix

K31_loss

K31_loss: ‘double[::1]’

K34

K34: finesse.knm.matrix.KnmMatrix

K34_loss

K34_loss: ‘double[::1]’

K42

K42: finesse.knm.matrix.KnmMatrix

K42_loss

K42_loss: ‘double[::1]’

K43

K43: finesse.knm.matrix.KnmMatrix

K43_loss

K43_loss: ‘double[::1]’

K_pitch_sig

K_pitch_sig: finesse.knm.matrix.KnmMatrix

K_yaw_sig

K_yaw_sig: finesse.knm.matrix.KnmMatrix

abcd_p1p2_x

abcd_p1p2_x: ‘double[:, ::1]’

abcd_p1p2_y

abcd_p1p2_y: ‘double[:, ::1]’

abcd_p1p3_x

abcd_p1p3_x: ‘double[:, ::1]’

abcd_p1p3_y

abcd_p1p3_y: ‘double[:, ::1]’

abcd_p2p1_x

abcd_p2p1_x: ‘double[:, ::1]’

abcd_p2p1_y

abcd_p2p1_y: ‘double[:, ::1]’

abcd_p2p4_x

abcd_p2p4_x: ‘double[:, ::1]’

abcd_p2p4_y

abcd_p2p4_y: ‘double[:, ::1]’

abcd_p3p1_x

abcd_p3p1_x: ‘double[:, ::1]’

abcd_p3p1_y

abcd_p3p1_y: ‘double[:, ::1]’

abcd_p3p4_x

abcd_p3p4_x: ‘double[:, ::1]’

abcd_p3p4_y

abcd_p3p4_y: ‘double[:, ::1]’

abcd_p4p2_x

abcd_p4p2_x: ‘double[:, ::1]’

abcd_p4p2_y

abcd_p4p2_y: ‘double[:, ::1]’

abcd_p4p3_x

abcd_p4p3_x: ‘double[:, ::1]’

abcd_p4p3_y

abcd_p4p3_y: ‘double[:, ::1]’

car_p1i_idx

car_p1i_idx: ‘Py_ssize_t’

car_p1i_rhs_idx

car_p1i_rhs_idx: ‘Py_ssize_t’

car_p1o_idx

car_p1o_idx: ‘Py_ssize_t’

car_p1o_rhs_idx

car_p1o_rhs_idx: ‘Py_ssize_t’

car_p2i_idx

car_p2i_idx: ‘Py_ssize_t’

car_p2i_rhs_idx

car_p2i_rhs_idx: ‘Py_ssize_t’

car_p2o_idx

car_p2o_idx: ‘Py_ssize_t’

car_p2o_rhs_idx

car_p2o_rhs_idx: ‘Py_ssize_t’

car_p3i_idx

car_p3i_idx: ‘Py_ssize_t’

car_p3i_rhs_idx

car_p3i_rhs_idx: ‘Py_ssize_t’

car_p3o_idx

car_p3o_idx: ‘Py_ssize_t’

car_p3o_rhs_idx

car_p3o_rhs_idx: ‘Py_ssize_t’

car_p4i_idx

car_p4i_idx: ‘Py_ssize_t’

car_p4i_rhs_idx

car_p4i_rhs_idx: ‘Py_ssize_t’

car_p4o_idx

car_p4o_idx: ‘Py_ssize_t’

car_p4o_rhs_idx

car_p4o_rhs_idx: ‘Py_ssize_t’

car_p_num_hom

car_p_num_hom: ‘Py_ssize_t’

compile_abcd_cy_exprs(self)
cos_alpha

cos_alpha: ‘double’

cos_alpha_2

cos_alpha_2: ‘double’

field1_to_F

field1_to_F: ‘double complex’

field2_to_F

field2_to_F: ‘double complex’

imaginary_transmission

imaginary_transmission: ‘bool’

nr1

nr1: ‘double’

nr2

nr2: ‘double’

pitch_signal_enabled

pitch_signal_enabled: ‘bool’

update_parameter_values(self)
yaw_signal_enabled

yaw_signal_enabled: ‘bool’

z_signal_enabled

z_signal_enabled: ‘bool’

z_to_field1

z_to_field1: ‘double complex’

z_to_field2

z_to_field2: ‘double complex’

finesse.components.modal.cavity module

class finesse.components.modal.cavity.CavityWorkspace(owner, BaseSimulation sim)

Bases: ElementWorkspace

finesse.components.modal.isolator module

class finesse.components.modal.isolator.IsolatorConnections

Bases: object

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

class finesse.components.modal.isolator.IsolatorValues

Bases: BaseCValues

S

S: ‘double’

class finesse.components.modal.isolator.IsolatorWorkspace(owner, BaseSimulation sim)

Bases: KnmConnectorWorkspace

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

nr1

nr1: ‘double’

nr2

nr2: ‘double’

finesse.components.modal.laser module

class finesse.components.modal.laser.LaserConnections

Bases: object

SIGAMP_P1o
SIGAMP_P1o_idx

SIGAMP_P1o_idx: ‘int’

SIGFRQ_P1o
SIGFRQ_P1o_idx

SIGFRQ_P1o_idx: ‘int’

SIGPHS_P1o
SIGPHS_P1o_idx

SIGPHS_P1o_idx: ‘int’

SIGPWR_P1o
SIGPWR_P1o_idx

SIGPWR_P1o_idx: ‘int’

dx_P1o
dx_P1o_idx

dx_P1o_idx: ‘int’

dy_P1o
dy_P1o_idx

dy_P1o_idx: ‘int’

dz_P1o
dz_P1o_idx

dz_P1o_idx: ‘int’

xbeta_P1o
xbeta_P1o_idx

xbeta_P1o_idx: ‘int’

ybeta_P1o
ybeta_P1o_idx

ybeta_P1o_idx: ‘int’

class finesse.components.modal.laser.LaserValues

Bases: BaseCValues

P

P: ‘double’

f

f: ‘double’

phase

phase: ‘double’

signals_only

signals_only: ‘bool’

class finesse.components.modal.laser.LaserWorkspace(owner, BaseSimulation sim)

Bases: ConnectorWorkspace

K_pitch_sig

K_pitch_sig: finesse.knm.matrix.KnmMatrix

K_yaw_sig

K_yaw_sig: finesse.knm.matrix.KnmMatrix

P1o_id

P1o_id: ‘Py_ssize_t’

PIj_2

PIj_2: ‘double complex’

add_gouy_phase

add_gouy_phase: ‘bool’

cvalues

cvalues: finesse.components.modal.laser.LaserValues

fcar_sig_sb_idx

fcar_sig_sb_idx: ‘Py_ssize_t [2]’

fsrc_car_idx

fsrc_car_idx: ‘Py_ssize_t’

hom_vector

hom_vector: ‘double complex[::1]’

lc

lc: finesse.components.modal.laser.LaserConnections

node_car_id

node_car_id: ‘Py_ssize_t’

node_sig_id

node_sig_id: ‘Py_ssize_t’

phase_vector

phase_vector: ‘double complex[::1]’

power_coeffs

power_coeffs: ‘double complex[::1]’

finesse.components.modal.lens module

class finesse.components.modal.lens.AstigmaticLensValues

Bases: BaseCValues

fx

fx: ‘double’

fy

fy: ‘double’

class finesse.components.modal.lens.AstigmaticLensWorkspace(owner, BaseSimulation sim)

Bases: BaseLensWorkspace

class finesse.components.modal.lens.BaseLensWorkspace(owner, BaseSimulation sim, BaseCValues values)

Bases: KnmConnectorWorkspace

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

abcd_x

abcd_x: ‘double[:, ::1]’

abcd_y

abcd_y: ‘double[:, ::1]’

compile_abcd_cy_exprs(self)
nr1

nr1: ‘double’

nr2

nr2: ‘double’

update_parameter_values(self)
class finesse.components.modal.lens.LensConnections

Bases: object

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

class finesse.components.modal.lens.LensValues

Bases: BaseCValues

f

f: ‘double’

class finesse.components.modal.lens.LensWorkspace(owner, BaseSimulation sim)

Bases: BaseLensWorkspace

finesse.components.modal.mirror module

class finesse.components.modal.mirror.MirrorOpticalConnections

Bases: object

Contains C accessible references to submatrices for optical connections for this element.

P1i_P1o
P1i_P1o_idx

P1i_P1o_idx: ‘int’

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

P2i_P2o
P2i_P2o_idx

P2i_P2o_idx: ‘int’

class finesse.components.modal.mirror.MirrorSignalConnections

Bases: MirrorOpticalConnections

Contains C accessible references to submatrices for optical, electrical, and mechanical connections for this element.

P1i_Fpitch
P1i_Fpitch_idx

P1i_Fpitch_idx: ‘int’

P1i_Fyaw
P1i_Fyaw_idx

P1i_Fyaw_idx: ‘int’

P1i_Fz
P1i_Fz_idx

P1i_Fz_idx: ‘int’

P1o_Fpitch
P1o_Fpitch_idx

P1o_Fpitch_idx: ‘int’

P1o_Fyaw
P1o_Fyaw_idx

P1o_Fyaw_idx: ‘int’

P1o_Fz
P1o_Fz_idx

P1o_Fz_idx: ‘int’

P2i_Fpitch
P2i_Fpitch_idx

P2i_Fpitch_idx: ‘int’

P2i_Fyaw
P2i_Fyaw_idx

P2i_Fyaw_idx: ‘int’

P2i_Fz
P2i_Fz_idx

P2i_Fz_idx: ‘int’

P2o_Fpitch
P2o_Fpitch_idx

P2o_Fpitch_idx: ‘int’

P2o_Fyaw
P2o_Fyaw_idx

P2o_Fyaw_idx: ‘int’

P2o_Fz
P2o_Fz_idx

P2o_Fz_idx: ‘int’

Z_P1o
Z_P1o_idx

Z_P1o_idx: ‘int’

Z_P2o
Z_P2o_idx

Z_P2o_idx: ‘int’

pitch_P1o
pitch_P1o_idx

pitch_P1o_idx: ‘int’

pitch_P2o
pitch_P2o_idx

pitch_P2o_idx: ‘int’

yaw_P1o
yaw_P1o_idx

yaw_P1o_idx: ‘int’

yaw_P2o
yaw_P2o_idx

yaw_P2o_idx: ‘int’

class finesse.components.modal.mirror.MirrorValues

Bases: BaseCValues

L

L: ‘double’

R

R: ‘double’

Rcx

Rcx: ‘double’

Rcy

Rcy: ‘double’

T

T: ‘double’

misaligned

misaligned: ‘double’

phi

phi: ‘double’

xbeta

xbeta: ‘double’

ybeta

ybeta: ‘double’

class finesse.components.modal.mirror.MirrorWorkspace(owner, BaseSimulation sim)

Bases: KnmConnectorWorkspace

K11

K11: finesse.knm.matrix.KnmMatrix

K11_loss

K11_loss: ‘double[::1]’

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

K22

K22: finesse.knm.matrix.KnmMatrix

K22_loss

K22_loss: ‘double[::1]’

K_pitch_sig

K_pitch_sig: finesse.knm.matrix.KnmMatrix

K_yaw_sig

K_yaw_sig: finesse.knm.matrix.KnmMatrix

abcd_p1p1_x

abcd_p1p1_x: ‘double[:, ::1]’

abcd_p1p1_y

abcd_p1p1_y: ‘double[:, ::1]’

abcd_p1p2_x

abcd_p1p2_x: ‘double[:, ::1]’

abcd_p1p2_y

abcd_p1p2_y: ‘double[:, ::1]’

abcd_p2p1_x

abcd_p2p1_x: ‘double[:, ::1]’

abcd_p2p1_y

abcd_p2p1_y: ‘double[:, ::1]’

abcd_p2p2_x

abcd_p2p2_x: ‘double[:, ::1]’

abcd_p2p2_y

abcd_p2p2_y: ‘double[:, ::1]’

car_p1i_idx

car_p1i_idx: ‘Py_ssize_t’

car_p1i_rhs_idx

car_p1i_rhs_idx: ‘Py_ssize_t’

car_p1o_idx

car_p1o_idx: ‘Py_ssize_t’

car_p1o_rhs_idx

car_p1o_rhs_idx: ‘Py_ssize_t’

car_p2i_idx

car_p2i_idx: ‘Py_ssize_t’

car_p2i_rhs_idx

car_p2i_rhs_idx: ‘Py_ssize_t’

car_p2o_idx

car_p2o_idx: ‘Py_ssize_t’

car_p2o_rhs_idx

car_p2o_rhs_idx: ‘Py_ssize_t’

car_p_num_hom

car_p_num_hom: ‘Py_ssize_t’

compile_abcd_cy_exprs(self)
field_to_F

field_to_F: ‘double complex’

imaginary_transmission

imaginary_transmission: ‘bool’

nr1

nr1: ‘double’

nr2

nr2: ‘double’

update_parameter_values(self)
z_to_field

z_to_field: ‘double complex’

finesse.components.modal.modulator module

class finesse.components.modal.modulator.ModulatorOpticalConnections

Bases: object

Contains C accessible references to submatrices for optical connections for this element.

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

class finesse.components.modal.modulator.ModulatorSignalConnections

Bases: ModulatorOpticalConnections

Contains C accessible references to submatrices for optical connections for this element.

amp_P1o
amp_P1o_idx

amp_P1o_idx: ‘int’

amp_P2o
amp_P2o_idx

amp_P2o_idx: ‘int’

phs_P1o
phs_P1o_idx

phs_P1o_idx: ‘int’

phs_P2o
phs_P2o_idx

phs_P2o_idx: ‘int’

class finesse.components.modal.modulator.ModulatorValues

Bases: BaseCValues

f

f: ‘double’

midx

midx: ‘double’

mod_type

mod_type: ‘int’

order

order: ‘int’

phase

phase: ‘double’

positive_only

positive_only: ‘bool’

class finesse.components.modal.modulator.ModulatorWorkspace(owner, BaseSimulation sim)

Bases: KnmConnectorWorkspace

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

amp_signal_enabled
carrier_frequency_couplings
fill_quantum_matrix(self)
nr1

nr1: ‘double’

nr2

nr2: ‘double’

phs_signal_enabled
signal_frequency_couplings

finesse.components.modal.optical_bandpass module

class finesse.components.modal.optical_bandpass.OpticalBandpassConnections

Bases: object

Contains C accessible references to submatrices for optical connections for this element.

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

class finesse.components.modal.optical_bandpass.OpticalBandpassValues

Bases: BaseCValues

bandwidth

bandwidth: ‘double’

fc

fc: ‘double’

class finesse.components.modal.optical_bandpass.OpticalBandpassWorkspace(owner, BaseSimulation sim, HOM_filter_index)

Bases: KnmConnectorWorkspace

K12

K12: finesse.knm.matrix.KnmMatrix

K12_loss

K12_loss: ‘double[::1]’

K21

K21: finesse.knm.matrix.KnmMatrix

K21_loss

K21_loss: ‘double[::1]’

M

M: ‘double complex[:, ::1]’

nr1

nr1: ‘double’

nr2

nr2: ‘double’

finesse.components.modal.signal module

class finesse.components.modal.signal.SignalGeneratorValues

Bases: BaseCValues

amplitude

amplitude: ‘double’

phase

phase: ‘double’

class finesse.components.modal.signal.SignalGeneratorWorkspace(owner, sim)

Bases: ConnectorWorkspace

rhs_idx

rhs_idx: ‘Py_ssize_t’

scaling

scaling: ‘double’

v

v: finesse.components.modal.signal.SignalGeneratorValues

finesse.components.modal.space module

class finesse.components.modal.space.SpaceOpticalConnections

Bases: object

P1i_P2o
P1i_P2o_idx

P1i_P2o_idx: ‘int’

P2i_P1o
P2i_P1o_idx

P2i_P1o_idx: ‘int’

class finesse.components.modal.space.SpaceSignalConnections

Bases: SpaceOpticalConnections

H_P1o
H_P1o_idx

H_P1o_idx: ‘int’

H_P2o
H_P2o_idx

H_P2o_idx: ‘int’

SIGAMP_P1o
SIGAMP_P1o_idx

SIGAMP_P1o_idx: ‘int’

SIGAMP_P2o
SIGAMP_P2o_idx

SIGAMP_P2o_idx: ‘int’

SIGPHS_P1o
SIGPHS_P1o_idx

SIGPHS_P1o_idx: ‘int’

SIGPHS_P2o
SIGPHS_P2o_idx

SIGPHS_P2o_idx: ‘int’

class finesse.components.modal.space.SpaceValues

Bases: BaseCValues

L

L: ‘double’

computed_gouy_x

computed_gouy_x: ‘double’

computed_gouy_y

computed_gouy_y: ‘double’

nr

nr: ‘double’

user_gouy_x

user_gouy_x: ‘double’

user_gouy_y

user_gouy_y: ‘double’

class finesse.components.modal.space.SpaceWorkspace(owner, BaseSimulation sim)

Bases: ConnectorWorkspace

P1i_id

P1i_id: ‘Py_ssize_t’

P1o_id

P1o_id: ‘Py_ssize_t’

P2i_id

P2i_id: ‘Py_ssize_t’

P2o_id

P2o_id: ‘Py_ssize_t’

abcd

abcd: ‘double[:, ::1]’

car_p1o_idx

car_p1o_idx: ‘Py_ssize_t’

car_p2o_idx

car_p2o_idx: ‘Py_ssize_t’

compile_abcd_cy_exprs(self)
update_parameter_values(self)
use_user_gouy_x

use_user_gouy_x: ‘bool’

use_user_gouy_y

use_user_gouy_y: ‘bool’

finesse.components.modal.squeezer module

class finesse.components.modal.squeezer.SqueezerConnections

Bases: object

LOWER_P1o
LOWER_P1o_idx

LOWER_P1o_idx: ‘int’

UPPER_P1o
UPPER_P1o_idx

UPPER_P1o_idx: ‘int’

class finesse.components.modal.squeezer.SqueezerNoiseSources

Bases: object

P1o
class finesse.components.modal.squeezer.SqueezerValues

Bases: BaseCValues

angle

angle: ‘double’

db

db: ‘double’

f

f: ‘double’

class finesse.components.modal.squeezer.SqueezerWorkspace(owner, BaseSimulation sim)

Bases: ConnectorWorkspace

conns

conns: finesse.components.modal.squeezer.SqueezerConnections

fcar_sig_sb_idx

fcar_sig_sb_idx: ‘Py_ssize_t [2]’

fsrc_car_idx

fsrc_car_idx: ‘Py_ssize_t’

hom_vector

hom_vector: ‘double complex[::1]’

node_id

node_id: ‘Py_ssize_t’

ns

ns: finesse.components.modal.squeezer.SqueezerNoiseSources

qn_coeffs

qn_coeffs: ‘double complex[:, ::1]’

qn_coeffs_diag

qn_coeffs_diag: ‘double complex[::1]’

v

v: finesse.components.modal.squeezer.SqueezerValues

finesse.components.modal.variable module

finesse.components.modal.workspace module

class finesse.components.modal.workspace.KnmConnectorWorkspace(owner, sim, *args, **kwargs)

Bases: ConnectorWorkspace

flag_changing_beam_parameters(self, OrderedSet changing_mismatch_edges)

Iterate through all optical connections and checks/flag which optical connections need to having their scattering matrices recalculated. This occurs if the beam tracer traces some new q-parameters, or if an ABCD has a changing parameter, or if some optical path distortion map is changing.

Parameters

changing_couplingstuple

Tuple of (node_in, node_out) which must be recomputed.

Notes

changing_couplings typically comes from the trace forest`s method trace_forest.find_potential_mismatch_couplings. Which determines potential changes in mode scattering parameters, from changing ABCD properties.

o2o
set_knm_info(self, connection, double[:, ::1] abcd_x=abcd_unity, double[:, ::1] abcd_y=abcd_unity, double nr_from=1, double nr_to=1, bool is_transmission=False, Parameter beta_x=None, double beta_x_factor=0, Parameter beta_y=None, double beta_y_factor=0, Parameter alpha=None, Map apply_map=None, double map_phase_factor=1, bool map_fliplr=False)

Python facing method to set how Knm calculations should be handled for a particular connection. When the workspace is being created this should be called if modal simualtions are being used. This then sets which ABCD matricies to use, various parameters required, and whether the connection is a transmission or reflection.

This method should only be called once with the required settings. Calling it again will rewrite settings for this connection.

Parameters

abcd_x, abcd_ydouble[:,::1]

ABCD matrices that transform some input beam parameter to the output of this connection

nr_from, nr_todouble

refractive index at the input and output of this connection

is_transmissionbool

True if this connection represents a transmission through an element

beta_x, beta_yParameter

Parameter objects that reference a yaw (beta_x) and pitch (beta_y) misalignment

beta_x_factor, beta_y_factordouble

Scaling factor for misalignment parameters

alphaParameter

Macroscopic angle of incidence parameter for the element

apply_mapMap

When set this will apply the map object to this connection

map_fliplrbool

When True the map is flipped left-to-right when computing the scattering coefficients

update_map_data(self)

Module contents

Modal computation module

This module contains highly optimised code for each component for conducting modal simulations. Component workspaces should register these fill and calculation methods as required.