Constants

Enumerations used by the settings. Their values are also available directly, e.g. camfr.TE or TE after from camfr import *.

class camfr.Polarisation(value: int)

Polarisation of a mode, or the one selected with set_polarisation.

Members:

unknown : Not determined.

TEM : Transverse electromagnetic.

TE : Transverse electric (default).

TM : Transverse magnetic.

HE : Hybrid mode, HE type (circular waveguides).

EH : Hybrid mode, EH type (circular waveguides).

TE_TM : Coupled TE and TM (hybrid) modes.

EH = <Polarisation.EH: 5>
HE = <Polarisation.HE: 4>
TE = <Polarisation.TE: 2>
TEM = <Polarisation.TEM: 1>
TE_TM = <Polarisation.TE_TM: 6>
TM = <Polarisation.TM: 3>
Polarisation.name -> str
unknown = <Polarisation.unknown: 0>
property value
class camfr.Solver(value: int)

Root finder for the modes of Slab and Circ waveguides (set_solver).

Members:

ADR : Contour integration (argument principle) in the complex plane.

track : Root tracking from a lossless structure (default).

series : Plane-wave (series) estimates refined with the full dispersion relation; good for lossy and metallic slabs.

ASR : Adaptive spatial resolution series expansion.

stretched_ASR : ASR with a stretched coordinate transformation.

ADR = <Solver.ADR: 0>
ASR = <Solver.ASR: 3>
Solver.name -> str
series = <Solver.series: 2>
stretched_ASR = <Solver.stretched_ASR: 4>
track = <Solver.track: 1>
property value
class camfr.Section_solver(value: int)

Algorithm that estimates the modes of a Section before refinement (set_section_solver).

Members:

OS : Omar-Schuenemann estimates.

NT : Plane-wave (Fourier) estimates, older variant.

L : Plane-wave (Fourier) estimates, Li’s factorisation (default).

L_anis : As L, for anisotropic materials.

ASR_2D : Adaptive spatial resolution.

ASR_2D_stretched : Adaptive spatial resolution with coordinate stretching.

ASR_2D = <Section_solver.ASR_2D: 4>
ASR_2D_stretched = <Section_solver.ASR_2D_stretched: 5>
L = <Section_solver.L: 2>
L_anis = <Section_solver.L_anis: 3>
NT = <Section_solver.NT: 1>
OS = <Section_solver.OS: 0>
Section_solver.name -> str
property value
class camfr.Mode_correction(value: int)

Refinement of Section mode estimates (set_mode_correction).

Members:

none : Keep the estimates (default).

snap : Snap estimates to nearby roots.

guided_only : Refine the guided modes only.

full : Refine all modes.

full = <Mode_correction.full: 3>
guided_only = <Mode_correction.guided_only: 2>
Mode_correction.name -> str
none = <Mode_correction.none: 0>
snap = <Mode_correction.snap: 1>
property value
class camfr.Sort_type(value: int)

Mode order in a Section (Section.set_sorting).

Members:

highest_index : Highest effective index first.

lowest_loss : Lowest loss first.

highest_index = <Sort_type.highest_index: 1>
lowest_loss = <Sort_type.lowest_loss: 0>
Sort_type.name -> str
property value
class camfr.Section_wall_type(value: int)

Lateral boundary of a Section (set_left_wall, set_right_wall).

Members:

E_wall : Electric wall (default).

H_wall : Magnetic wall.

no_wall : Open boundary.

E_wall = <Section_wall_type.E_wall: 0>
H_wall = <Section_wall_type.H_wall: 1>
Section_wall_type.name -> str
no_wall = <Section_wall_type.no_wall: 2>
property value
class camfr.Stability(value: int)

Treatment of nearly singular matrices (set_stability).

Members:

normal : No special measures (default).

extra : Row and column equilibration.

SVD : Pseudo-inverse from a singular value decomposition.

SVD = <Stability.SVD: 2>
extra = <Stability.extra: 1>
Stability.name -> str
normal = <Stability.normal: 0>
property value
class camfr.Field_calc_heuristic(value: int)

Excitation used to compute fields inside stacks (set_field_calc_heuristic).

Members:

identical : S-type excitation (default).

symmetric : T-type excitation.

identical = <Field_calc_heuristic.identical: 0>
Field_calc_heuristic.name -> str
symmetric = <Field_calc_heuristic.symmetric: 1>
property value
class camfr.Bloch_calc(value: int)

Algorithm for the Bloch modes of a BlochStack (set_bloch_calc).

Members:

GEV : Generalised eigenvalue problem (default).

T : Eigenvalues of the transfer matrix.

GEV = <Bloch_calc.GEV: 0>
T = <Bloch_calc.T: 1>
Bloch_calc.name -> str
property value
class camfr.Eigen_calc(value: int)

Algorithm for the lowest eigenvalue in cavity calculations (set_eigen_calc).

Members:

lapack : Full LAPACK eigenvalue solve (default).

arnoldi : Arnoldi iteration.

arnoldi = <Eigen_calc.arnoldi: 1>
lapack = <Eigen_calc.lapack: 0>
Eigen_calc.name -> str
property value
class camfr.Fieldtype(value: int)

Angular dependence of the field of a source in a Circ (set_circ_field_type).

Members:

cos_type : cos(order*phi) dependence (default).

sin_type : sin(order*phi) dependence.

cos_type = <Fieldtype.cos_type: 0>
Fieldtype.name -> str
sin_type = <Fieldtype.sin_type: 1>
property value
class camfr.Limit(value: int)

Side of a discontinuity on which a field is evaluated (see Coord).

Members:

Plus : Just after the coordinate (the + side).

Min : Just before the coordinate (the - side).

Min = <Limit.Min: 1>
Plus = <Limit.Plus: 0>
Limit.name -> str
property value