Appearance
Diode Bridge Rectifier
Uncontrolled full-wave bridge rectifier. Single-phase mode (topology=0) uses 4 diodes in a Wheatstone-diamond topology with AC ports ac_pos / ac_neg. Three-phase mode (topology=1) uses 6 diodes (3 in the positive group, 3 in the negative group) forming a standard 6-pulse rectifier with a single electrical_3ph AC bus port. All internal diodes share the same forward-voltage drop and on/off resistances. Each internal diode keeps its own piecewise-linear state and registers an in-solve switch evaluator with the Cholesky solver, so the bridge converges within ONE outer step even when multiple diodes flip simultaneously (stiff zero-crossing handling — critical for inductive DC loads where the freewheel hand-off across diodes must happen instantaneously). Two independent current-monitoring toggles let the user emit either the aggregate DC output current, the per-diode currents, or both at once.
Category: Power Electronics / Rectifiers
Keywords: rectifier, bridge, full bridge, full-bridge, full-wave, AC-DC, AC/DC, diode bridge, 6-pulse, six-pulse, Graetz, 1-phase, 1-ph, 1 ph, 1ph, single, single-phase, 3-phase, 3-ph, 3 ph, 3ph, three, three-phase, power electronics, switching
Ports
| Name | Direction | Value type | Notes |
|---|---|---|---|
ac_pos | electrical | double | Visible when topology == 0 |
ac_neg | electrical | double | Visible when topology == 0 |
ac | electrical_3ph | double | Visible when topology == 1 |
dc_pos | electrical | double | |
dc_neg | electrical | double |
Parameters
Config
| Name | Label | Type | Default | Units | Description |
|---|---|---|---|---|---|
topology | Topology | enum (Single-Phase (4 diodes) / Three-Phase (6 diodes)) | 0 | — | Select single-phase (4 diodes, AC ports `ac_pos` / `ac_neg`) or three-phase (6 diodes, single 3-phase AC bus port `ac`). DC output ports `dc_pos` / `dc_neg` are present in both modes. Toggling the topology hides the inactive AC ports and auto-deletes any wires attached to them — re-draw new ones for the new port set. |
v_forward | Vf | double | 0.7 | — | Per-diode forward conduction threshold (V). Applied to every internal diode in the bridge. |
resistance_on | R_on | double | 0.05 | Ohms (Ω, kΩ, MΩ) | Per-diode conducting (forward-biased) resistance. Pick a unit from the dropdown. Applied to every internal diode. |
resistance_off | R_off | double | 1000000 | Ohms (Ω, kΩ, MΩ) | Per-diode blocking (reverse-biased) resistance. Pick a unit from the dropdown. Applied to every internal diode. |
measure_bridge_current | Measure bridge (DC) current | enum (Off / On) | 0 | — | Emit the aggregate DC output current as a single observable (sum of currents through the upper-group diodes; by KCL at the DC+ rail this equals the current flowing OUT of dc_pos into the external load). |
measure_diode_currents | Measure per-diode currents | enum (Off / On) | 0 | — | Emit one observable per internal diode (4 in 1-phase mode, 6 in 3-phase mode). Each diode current is signed anode→cathode. Independent of `Measure bridge (DC) current` — enable both at once when you need both views. |
Bridge Current
| Name | Label | Type | Default | Units | Description |
|---|---|---|---|---|---|
bridge_current_name | DC current name | string | I_dc | — | Observable id for the aggregate DC output current (A). Blank = skip emission. |
Per-Diode Currents
| Name | Label | Type | Default | Units | Description |
|---|---|---|---|---|---|
current_name_d1 | D1 current name | string | I_d1 | — | Observable id for diode D1 branch current (A). Single-phase: top-left diode (ac_pos → dc_pos). Three-phase: positive-group A-phase diode (ac_a → dc_pos). Blank = skip emission. |
current_name_d2 | D2 current name | string | I_d2 | — | Observable id for diode D2 branch current (A). Single-phase: top-right diode (ac_neg → dc_pos). Three-phase: positive-group B-phase diode (ac_b → dc_pos). Blank = skip emission. |
current_name_d3 | D3 current name | string | I_d3 | — | Observable id for diode D3 branch current (A). Single-phase: bottom-left diode (dc_neg → ac_pos). Three-phase: positive-group C-phase diode (ac_c → dc_pos). Blank = skip emission. |
current_name_d4 | D4 current name | string | I_d4 | — | Observable id for diode D4 branch current (A). Single-phase: bottom-right diode (dc_neg → ac_neg). Three-phase: negative-group A-phase diode (dc_neg → ac_a). Blank = skip emission. |
current_name_d5 | D5 current name (3-phase only) | string | (empty) | — | Observable id for diode D5 branch current (A). Three-phase only: negative-group B-phase diode (dc_neg → ac_b). Blank = skip emission. In 1-phase mode this diode does not exist; if a name is set, the channel reads constant 0. |
current_name_d6 | D6 current name (3-phase only) | string | (empty) | — | Observable id for diode D6 branch current (A). Three-phase only: negative-group C-phase diode (dc_neg → ac_c). Blank = skip emission. In 1-phase mode this diode does not exist; if a name is set, the channel reads constant 0. |
Observables
| Signal | Type | Default name | Enable | Description |
|---|---|---|---|---|
dcCurrent | signal | from bridge_current_name | measure_bridge_current | Aggregate DC output current (A). Sum of currents through the upper-group diodes (D1+D2 in 1-phase mode, D1+D2+D3 in 3-phase mode); by KCL at the DC+ rail this equals the current flowing OUT of dc_pos into the external load. |
branchCurrent_0 | signal | from current_name_d1 | measure_diode_currents | D1 branch current (A, anode → cathode). 1-phase: top-left (ac_pos → dc_pos). 3-phase: positive-group A (ac_a → dc_pos). |
branchCurrent_1 | signal | from current_name_d2 | measure_diode_currents | D2 branch current (A). 1-phase: top-right (ac_neg → dc_pos). 3-phase: positive-group B (ac_b → dc_pos). |
branchCurrent_2 | signal | from current_name_d3 | measure_diode_currents | D3 branch current (A). 1-phase: bottom-left (dc_neg → ac_pos). 3-phase: positive-group C (ac_c → dc_pos). |
branchCurrent_3 | signal | from current_name_d4 | measure_diode_currents | D4 branch current (A). 1-phase: bottom-right (dc_neg → ac_neg). 3-phase: negative-group A (dc_neg → ac_a). |
branchCurrent_4 | signal | from current_name_d5 | measure_diode_currents | D5 branch current (A). 3-phase only: negative-group B (dc_neg → ac_b). In 1-phase mode this diode does not exist — if a name is set the channel reads constant 0. |
branchCurrent_5 | signal | from current_name_d6 | measure_diode_currents | D6 branch current (A). 3-phase only: negative-group C (dc_neg → ac_c). In 1-phase mode this diode does not exist — if a name is set the channel reads constant 0. |
Implemented in C++ class SimCompElecDiodeBridge (components/electrical/sim_comp_elec_diode_bridge/sim_comp_elec_diode_bridge.h).