EffectiveFrequencyCyl
---------------------

.. xml:tag:: <optical solver="EffectiveFrequencyCyl"> [EffectiveFrequencyCyl]

   Corresponding Python class: :py:class:`optical.effective.EffectiveFrequencyCyl`.

   Scalar optical solver based on the effective frequency method.

   :attr required name: Solver name.

   .. xml:contents::

      .. xml:tag:: <geometry> [in optical.EffectiveFrequencyCyl]

         Geometry for use by this solver.

         :attr required ref: Name of a Cylindrical geometry defined in the :xml:tag:`<geometry>` section.

      .. xml:tag:: <mesh> [in optical.EffectiveFrequencyCyl]

         Optional Rectangular2D, Ordered, Regular mesh used by this solver.

         :attr required ref: Name of a Rectangular2D, Ordered, Regular mesh defined in the :xml:tag:`<grids>` section.

      .. xml:tag:: <mode> [in optical.EffectiveFrequencyCyl]

         Mode properties.

         :attr lam0: Approximate wavelength, around which the solution is searched. The refractive and group idexes are computed for this wavelength (float (nm))
         :attr emission: Direction of the useful light emission. Necessary for the over-threshold model to correctly compute the output power. (\ ``top``\  or \ ``bottom``\ , default is \ ``top``\ )
         :attr vlam: '"Vertical wavelength" i.e. the wavelength what would be in the absence of lateral confinement; setting this value helps to find models in very long resonators.' (float (nm))
         :attr vat: Horizontal position of at which the vertical part of the field is calculated. (float (µm))

      .. xml:tag:: <root> [in optical.EffectiveFrequencyCyl]

         Parameters of the horizontal root-finding algorithm.

         :attr method: Root finding algorithm. (\ ``muller``\ , \ ``broyden``\ , or \ ``brent``\ , default is \ ``muller``\ )
         :attr determinant: This parameter determines the method used to compute radial determinant. If it is set to 'transfer', 2x2 transfer matrix is used to ensure field continuity at the interfaces. For the 'full' value, one single matrix is constructed for all the interfaces and its determinant is returned. (\ ``full``\  or \ ``transfer``\ , default is \ ``transfer``\ )
         :attr tolx: Maximum change of the effective frequency parameter which is allowed for convergent solution. (float, default 1e-06)
         :attr tolf-min: Minimum value of the determinant sufficient to assume convergence. (float, default 1e-07)
         :attr tolf-max: Maximum value of the determinant required to assume convergence. (float, default 2e-05)
         :attr maxstep: Maximum step in one iteration of root finding. Significant for the Broyden's method only. (float, default 0.1)
         :attr maxiter: Maximum number of root finding iterations. (int, default 500)
         :attr alpha: Parameter ensuring sufficient decrease of determinant in each step (Broyden method only). (float, default 1e-07)
         :attr lambda: Minimum decrease ratio of one step (Broyden method only). (float, default 1e-08)
         :attr initial-range: Initial range size (Muller method only). (complex, default 0.001)
         :attr stairs: Number of staircase iterations (Brent method only). (int, default 3)

      .. xml:tag:: <stripe-root> [in optical.EffectiveFrequencyCyl]

         Parameters of root-finding algorithm for one stripe.

         :attr method: Root finding algorithm. (\ ``muller``\ , \ ``broyden``\ , or \ ``brent``\ , default is \ ``muller``\ )
         :attr tolx: Maximum change of the effective frequency parameter which is allowed for convergent solution. (float, default 1e-06)
         :attr tolf-min: Minimum value of the determinant sufficient to assume convergence. (float, default 1e-07)
         :attr tolf-max: Maximum value of the determinant required to assume convergence. (float, default 1e-05)
         :attr maxstep: Maximum step in one iteration of root finding. Significant for the Broyden's method only. (float, default 0.1)
         :attr maxiter: Maximum number of root finding iterations. (int, default 500)
         :attr alpha: Parameter ensuring sufficient decrease of determinant in each step (Broyden method only). (float, default 1e-07)
         :attr lambda: Minimum decrease ratio of one step (Broyden method only). (float, default 1e-08)
         :attr initial-range: Initial range size (Muller method only). (complex, default 0.001)
         :attr stairs: Number of staircase iterations (Brent method only). (int, default 3)
