Welcome to Optcom’s documentation !

We are glad that you are interested in Optcom’s source code which you can find in the github repo .

Tutorials

The tutorials are available in the github repo in the directory tutorials/.

Modules Description

This document will drive you through the architecture of Optcom.

Simulation Framework

The Layout, Domain, Field and Component are the building blocks of Optcom’s optical system simulation framework.

Field

Fields represent an electric or optical signal. The object Field can contain multiple channels and save the values of the electro-magnetic field envelopes as well as other physic’s characteristics. Moreover, a variety of helper functions are available for Field objects.

Component

Components represent electric or optical physical block such as laser, fiber and so on. There are two types of components in Optcom. First, StartComp which create a Field object and can launch the simulation. Second, PassComp which receive Field objects, transform it, and pass it along to the next component. A component is composed of ports.

Domain

The domain contains information, i.e. physic’s parameters, that will be shared by all components.

Layout

A Layout allows to build a system by connecting the components to each other via their ports. Moreover, the Layout is managing the propagation of the Domain and Fields through the system.

Simulation Tools

Constraints

The Constraint objects represent constraints that the layout must comply whith while propagating Field objects in the Layout.

Effects

The Effect object represent electric / optical effect that can be used to define equations.

Equations

The Equation object is used to define equations that need a numerical solver and which describe the Field object transformation in a component.

Parameters

The Parameter object is a standalone object which can be used as a helper object. It describes a physic’s parameter such as the refractive index.

Solvers

The solver object is used to numerically solve the Equation objects.

optcom

optcom package

Subpackages

optcom.components package
Submodules
optcom.components.abstract_component module
optcom.components.abstract_fiber_amp module
optcom.components.abstract_fiber_amp_2levels module
optcom.components.abstract_pass_comp module
optcom.components.abstract_start_comp module
optcom.components.cw module
optcom.components.fiber module
optcom.components.fiber_coupler module
optcom.components.fiber_yb module
optcom.components.gaussian module
optcom.components.gaussian_filter module
optcom.components.ideal_amplifier module
optcom.components.ideal_combiner module
optcom.components.ideal_coupler module
optcom.components.ideal_divider module
optcom.components.ideal_isolator module
optcom.components.ideal_mzm module
optcom.components.ideal_phase_mod module
optcom.components.load_field module
optcom.components.load_field_from_file module
optcom.components.port module
optcom.components.save_field module
optcom.components.save_field_to_file module
optcom.components.sech module
optcom.components.soliton module
Module contents
optcom.constraints package
Submodules
optcom.constraints.abstract_constraint module
optcom.constraints.constraint_coprop module
optcom.constraints.constraint_max_pass_port module
optcom.constraints.constraint_port_in module
optcom.constraints.constraint_port_valid module
optcom.constraints.constraint_waiting module
Module contents
optcom.effects package
Submodules
optcom.effects.absorption module
optcom.effects.abstract_effect module
optcom.effects.abstract_effect_taylor module
optcom.effects.active_fiber_photon_process module
optcom.effects.asymmetry module
optcom.effects.attenuation module
optcom.effects.coupling module
optcom.effects.dispersion module
optcom.effects.emission module
optcom.effects.gain module
optcom.effects.gain_saturation module
optcom.effects.kerr module
optcom.effects.pump module
optcom.effects.raman module
optcom.effects.raman_approx module
optcom.effects.relaxation module
optcom.effects.self_steepening module
optcom.effects.self_steepening_approx module
Module contents
optcom.equations package
Subpackages
optcom.equations.boundary_conditions package
Submodules
optcom.equations.boundary_conditions.abstract_boundary_conditions module
optcom.equations.boundary_conditions.boundary_conditions_ampnlse module
Module contents
optcom.equations.convergence_checker package
Submodules
optcom.equations.convergence_checker.abstract_convergence_checker module
optcom.equations.convergence_checker.convergence_checker_consecutive module
Module contents
Submodules
optcom.equations.abstract_ampnlse module
optcom.equations.abstract_cnlse module
optcom.equations.abstract_equation module
optcom.equations.abstract_field_equation module
optcom.equations.abstract_nlse module
optcom.equations.abstract_re module
optcom.equations.abstract_re_fiber module
optcom.equations.ampanlse module
optcom.equations.ampgnlse module
optcom.equations.amphnlse module
optcom.equations.anlse module
optcom.equations.ase_noise module
optcom.equations.canlse module
optcom.equations.cgnlse module
optcom.equations.cnlse module
optcom.equations.coupler_noise module
optcom.equations.fresnel module
optcom.equations.gnlse module
optcom.equations.mccumber module
optcom.equations.nlse module
optcom.equations.re_fiber_2levels module
optcom.equations.re_fiber_yb module
optcom.equations.re_yb module
Module contents
optcom.parameters package
Subpackages
optcom.parameters.dispersion package
Submodules
optcom.parameters.dispersion.chromatic_disp module
Module contents
optcom.parameters.fiber package
Submodules
optcom.parameters.fiber.absorption_section module
optcom.parameters.fiber.asymmetry_coeff module
optcom.parameters.fiber.coupling_coeff module
optcom.parameters.fiber.doped_fiber_gain module
optcom.parameters.fiber.effective_area module
optcom.parameters.fiber.emission_section module
optcom.parameters.fiber.energy_saturation module
optcom.parameters.fiber.fiber_recovery_time module
optcom.parameters.fiber.nl_coefficient module
optcom.parameters.fiber.nl_phase_shift module
optcom.parameters.fiber.numerical_aperture module
optcom.parameters.fiber.overlap_factor module
optcom.parameters.fiber.raman_response module
optcom.parameters.fiber.se_power module
optcom.parameters.fiber.v_number module
Module contents
optcom.parameters.refractive_index package
Submodules
optcom.parameters.refractive_index.nl_index module
optcom.parameters.refractive_index.resonant_index module
optcom.parameters.refractive_index.sellmeier module
Module contents
Submodules
optcom.parameters.abstract_parameter module
Module contents
optcom.solvers package
Submodules
optcom.solvers.abstract_solver module
optcom.solvers.field_stepper module
optcom.solvers.gradient module
optcom.solvers.jacobian module
optcom.solvers.nlse_solver module
optcom.solvers.ode_solver module
optcom.solvers.root module
Module contents
optcom.utils package
Subpackages
optcom.utils.constant_values package
Submodules
optcom.utils.constant_values.domain_cst module
optcom.utils.constant_values.fiber_cst module
optcom.utils.constant_values.field_types module
optcom.utils.constant_values.physic_cst module
optcom.utils.constant_values.port_types module
optcom.utils.constant_values.solver_cst module
Module contents
optcom.utils.utilities_helpers package
Submodules
optcom.utils.utilities_helpers.array_helpers module
optcom.utils.utilities_helpers.attr_helpers module
optcom.utils.utilities_helpers.component_helpers module
optcom.utils.utilities_helpers.data_helpers module
optcom.utils.utilities_helpers.list_helpers module
optcom.utils.utilities_helpers.physics_helpers module
optcom.utils.utilities_helpers.terminal_display_helpers module
Module contents
Submodules
optcom.utils.callable_container module
optcom.utils.callable_litt_expr module
optcom.utils.constants module
optcom.utils.cont_array module
optcom.utils.csv_fit module
optcom.utils.fft module
optcom.utils.id_tracker module
optcom.utils.plot module
optcom.utils.storage module
optcom.utils.synchroniser module
optcom.utils.taylor module
optcom.utils.utilities module
Module contents

Submodules

optcom.config module

optcom.domain module

optcom.field module

optcom.layout module

Module contents

Indices and tables