This element clones the input signal until a steady state value is reached
Keywords
digital, optical, electrical, unidirectional
Ports
| Name | Type |
|---|---|
| input | Variant |
| to | Variant |
| from | Variant |
| output | Variant |
Properties
General Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
name Defines the name of the element. | Convergence Control | - | - |
annotate Defines whether or not to display annotations on the schematic editor. | true | - | [true, false] |
enabled Defines whether or not the element is enabled. | true | - | [true, false] |
type Defines the element unique type (read only). | Convergence Control | - | - |
description A brief description of the elements functionality. | This element clones the input signal until a steady state value is reached | - | - |
prefix Defines the element name prefix. | CVC | - | - |
model Defines the element model name. | - | - | - |
library Defines the element location or source in the library (custom or design kit). | - | - | - |
local path Defines the local path or working folder $LOCAL for the element. | - | - | - |
url An optional URL address pointing to the element online help. | - | - | - |
Numerical Properties
| Name | Default value | Default unit | Range |
|---|---|---|---|
convergence tolerance This determines the convergence tolerance. | 1e-009 | - | (0, 1) |
convergence length This determines the number of iterations required to estimate convergence. | 2 | - | (0, +∞) |
maximum number of iterations This determines the maximum number of iterations required to reach converges. | 1000 | - | (0, +∞) |
====================================
Implementation Details
The Convergence Control (CVC) element is a steady-state accelerator for recirculating optical or electrical systems such as cavities, resonators, and feedback loops.
In a conventional recirculating loop, the signal builds up over multiple round trips before reaching equilibrium. Depending on cavity losses and feedback strength, this may require a large number of simulation time steps. CVC obtains the same steady-state solution by iteratively evaluating the feedback path until convergence is reached.
For each simulation block, CVC repeatedly circulates the signal through the external feedback path and evaluates a scalar convergence metric, m, derived from the returned signal block:
The metric from successive iterations is compared using the specified convergence tolerance. Convergence is declared once the comparison succeeds for convergence length consecutive iterations.
The convergence result records the same convergence metric used internally by the algorithm versus iteration number. A stable plateau indicates that the feedback loop has reached steady state.
If convergence is not achieved before maximum number of iterations is reached, the iteration process terminates and no output is produced for that simulation block.
Example
The example file cvc_cavity.icp demonstrates the use of CVC on a simple Fabry-Pérot cavity consisting of two optical mirrors separated by a waveguide. The CW Laser source is configured in block mode, allowing CVC to operate on complete waveform blocks.
Without CVC, the cavity exhibits the expected buildup transient before reaching steady state. With CVC, the steady-state solution is available immediately after convergence. Both circuits converge to the same final steady-state amplitude. This demonstrates that CVC does not alter the final steady-state solution; it only reduces the time required to reach it.
In this example, convergence is achieved after approximately 54 iterations. The convergence history illustrates the same cavity buildup process that would otherwise occur over simulated time in the equivalent circuit without CVC. Each iteration corresponds to one evaluation of the external feedback path, causing the convergence metric to gradually approach its steady-state value.
To demonstrate a non-converging case, reduce maximum number of iterations to a value smaller than the number required for convergence (for example, 10 iterations when approximately 54 iterations are required).
As a result:
- No output is produced.
- Downstream monitors show no data.
- A warning is logged indicating that the maximum number of iterations was reached.