Home Developers Evidence electrical.ac_dc_rectifier

Public evidence

electrical.ac_dc_rectifier

Machine-checked verification for calculation version 1.1.2 · tier internally_reviewed

CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· Ideal diodes; continuous-discharge Cap model when I+C given · Protocol · Schema · Production report

Declared partition coverage
PASS · 3/3 declared partitions (waveform, smoothed, invalid-domain)
Versions
Calculation 1.1.2 · CVP protocol 1.0.0-proposed
CVP identity
16/16 property · digest 5a857ec1e482

Verification

Legacy regression suite: 27/27 calculation tests · Production surface contract 4/4

Three distinct suites: educational examples on the calculator page, this legacy regression count (27/27 golden + boundary), and the CVP verification suite below. They are not the same number. Property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the CVP Manifest . SKIP (0/0) means that suite has no published vectors.

    This calculator CURRENT · Public schema 1.1.2 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Calculation version 1.1.2. CVP 1.0.0-proposed. 3/3 golden · 8/8 CVP boundary · 7/7 invalid · 16/16 property · 1/1 cross-interface · 1/1 CVP contract. digest 5a857ec1e482.

  • Golden (oracle-backed) 3 / 3
  • CVP boundary 8 / 8
  • Invalid input 7 / 7
  • Property 16 / 16
  • Cross-interface 1 / 1
  • CVP contract 1 / 1
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session.
  • Assurance Engineering
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS

Fingerprint sha256:d76b8885f1e5c5a6fc2e79ba140b081e8ea7dd2d25e06c09c76b237629a80f1a

Input schema sha256:cf5bdc0117b7efd2fa3ef4654762c36013049847ebd797a361b0b75d8b18db98 · Output schema sha256:282b736029074bb7ae43782ae5d06564f04ada7bb02d2f5efa7ea9e4d38c7d4d · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write (published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.

Build & scope

Engine identity and declared limitations.

Tool
ac-dc-rectifier
Engine
ac-dc-rectifier
Engine build
2026-09-10
Evidence core
2026-09-05T02:35:39.217Z
Rendered
2026-09-16T22:03:43.727Z
Last reviewed
2026-08-18

Assumptions

  • Ideal diodes (zero forward drop; no reverse recovery)
  • Rectified-waveform model: no reservoir capacitor; Vavg is the pulsed-sine average
  • Capacitor-smoothed model: constant-current discharge; Vdc_est ≈ Vpeak − ΔV/2
  • Continuous-conduction ripple approximation ΔV ≈ I/(f_ripple·C)
  • If ΔV ≥ Vpeak, Vdc_est and Vmin are withheld; only raw_model_extrapolation keeps the arithmetic

Limitations

  • Ideal diodes (0 V drop); not SCR/thyristor or active PFC
  • Vavg is the unfiltered rectified-sine average, not capacitor-smoothed DC bus voltage
  • Capacitor model uses continuous-discharge ΔV≈I/(f_ripple·C); when ΔV≥Vpeak, Vdc_est and Vmin are withheld (model_validity.valid=false)

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Legacy published checks

Golden and boundary cases from the legacy Evidence JSON. CVP property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the Manifest — including SKIP when a suite has no vectors.

IDKindStatusDetail
full-230goldenpassExpected circuit_model=rectified_waveform · Vpeak=325.2691193458119 · Vavg=207.0727527161344 · Vrms_out=230 · f_ripple_Hz=100 · Actual mode=full · circuit_model=rectified_waveform · Vac_rms=230 · Vpeak=325.2691193458119 · Vavg=207.0727527161344 · Vrms_out=230 · f_line_Hz=50 · f_ripple_Hz=100
half-230goldenpassExpected circuit_model=rectified_waveform · Vavg=103.5363763580672 · Vrms_out=162.63455967290594 · f_ripple_Hz=50 · Actual mode=half · circuit_model=rectified_waveform · Vac_rms=230 · Vpeak=325.2691193458119 · Vavg=103.5363763580672 · Vrms_out=162.63455967290594 · f_line_Hz=50 · f_ripple_Hz=50
ripplegoldenpassExpected circuit_model=capacitor_smoothed · ripple_Vpp=5 · Vdc_est=14.470562748477143 · Vmin=11.970562748477143 · Vmax=16.970562748477143 · Actual mode=full · circuit_model=capacitor_smoothed · Vac_rms=12 · Vpeak=16.970562748477143 · Vavg=10.803795793885275 · Vrms_out=12 · f_line_Hz=50 · f_ripple_Hz=100
bad-vacboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-neg-vacboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-i-without-cboundarypassExpected NEEDS_TWO_INPUTS · Actual NEEDS_TWO_INPUTS
boundary-c-without-iboundarypassExpected NEEDS_TWO_INPUTS · Actual NEEDS_TWO_INPUTS
boundary-bad-cboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-bad-fboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-neg-iboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-ripple-exceeds-peakboundarypasswarning RIPPLE_EXCEEDS_PEAK
property-avg-full-twice-halfpropertypassVavg_full = 2 × Vavg_half
property-vpeak-mode-independentpropertypassVpeak = √2 × Vac
property-full-vrms-equals-vacpropertypassfull-wave Vrms_out = Vac
property-half-vrms-vac-over-sqrt2propertypasshalf-wave Vrms_out = Vac/√2
property-full-friple-2flinepropertypassfull-wave f_ripple = 2 × f_line
property-half-friple-flinepropertypasshalf-wave f_ripple = f_line
property-scale-vacpropertypassVac × 2 → Vpeak / Vavg / Vrms × 2
property-c-double-halves-ripplepropertypassC × 2 → ripple ÷ 2
property-i-double-doubles-ripplepropertypassI × 2 → ripple × 2
property-f-double-halves-ripplepropertypassf × 2 → ripple ÷ 2
property-models-differpropertypassVdc_est ≠ unfiltered Vavg
property-vdc-midpointpropertypassVdc_est = (Vmax+Vmin)/2 = Vpeak − ΔV/2
property-ripple-warningpropertypasstiny C → RIPPLE_EXCEEDS_PEAK
property-invalid-estimate-gatedpropertypassΔV≥Vpeak → Vdc_est/Vmin null; raw extrapolation only
property-reject-vac-le0propertypassVac≤0 rejected
property-reject-partial-cappropertypassI xor C → NEEDS_TWO_INPUTS