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¶