std.ee — Elektrotechnik
→ Zurück zur Unit-Übersicht · std.complex · std.units
Drei Units für die alltägliche Elektrotechnik: Konstanten und Vorsätze, Gleichstromnetzwerke, Wechselstrom mit komplexer Rechnung. Sie sind für Auslegung und Nachrechnung gedacht — Leitungsquerschnitt, Spannungsfall, Filtergrenzfrequenz, Blindleistungskompensation.
std.ee selbst ist keine Unit, sondern ein Verzeichnis; importiert wird immer eine konkrete Unit.
Quelle: std/ee/
Units im Überblick
| Unit | Import | Inhalt |
|---|---|---|
| std.ee.const | import std.ee.const; | Naturkonstanten nach SI 2019, SI-Vorsätze als exakte Zehnerpotenzen, Flächen- und Kreisfrequenz-Umrechnung, Fehlerwert |
| std.ee.dc | import std.ee.dc; | Ohm, Leistung, Reihen- und Parallelschaltung, Spannungs- und Stromteiler (belastet und unbelastet), Leitungen, Temperaturgang, reale Quelle |
| std.ee.ac | import std.ee.ac; | Blindwiderstände, komplexe Impedanz über std.complex, Reihen-RLC, Resonanz und Güte, Effektivwerte je Kurvenform, Leistungsdreieck, Kompensation |
Die durchgehenden Regeln
- Die Einheit steht im Namen.
DcWireResistanceOhm(rho, lenM, aMm2)nimmt Meter und Quadratmillimeter — die häufigste Fehlerquelle in Leitungsrechnungen ist nicht die Formel, sondern mm² gegen m². Wo eine Umrechnung nötig ist, gibt es sie als eigene Funktion (EeMm2ToM2) statt als Faktor im Kopf des Aufrufers. - Der Fehlerwert ist NaN, geprüft mit
EeIsError. Eine 0 wäre hier untauglich: 0 V, 0 A und 0 Ω sind gültige Ergebnisse, und ein Fehler, der wie ein gültiger Wert aussieht, ist schlimmer als gar keine Antwort. - SI-Vorsätze sind exakte Zehnerpotenzen (
EeMicro()= 1.0e-6), nicht aus Zeichenketten geparst. Ein abgeschnittener Vorsatz ist ein Rechenfehler: wer µ „ungefähr„ behandelt und unterwegs rundet, verschiebt eine Zeitkonstante um Prozente.
Drei Fallen, gegen die die API gebaut ist
| Falle | Was hier dagegen steht |
|---|---|
Die Parallelformel hat einen Pol. 1/(1/R1 + 1/R2) ist für R = 0 nicht definiert — und R = 0 ist kein exotischer Fall, sondern der Kurzschluss, den man gerade nachrechnet | Jede Funktion prüft das und liefert den Fehlerwert statt einer Division durch null |
| Der Spannungsteiler gilt nur unbelastet. Wer einen Verbraucher anhängt und trotzdem so rechnet, bekommt eine zu hohe Spannung | DcVoltageDivider und DcVoltageDividerLoaded als getrennte Funktionen |
| Scheitelwert durch √2 gilt nur für den Sinus. Bei einem Rechteck ist der Effektivwert der Scheitelwert selbst | AcRmsFromPeakSine, AcRmsFromPeakSquare, AcRmsFromPeakTriangle — kein allgemeines AcRms |
Einstiegsbeispiel
unit main;
import std.ee.const;
import std.ee.dc;
import std.ee.ac;
import std.io;
import std.string;
fn main(): int64 {
PrintLn(StrConcat("Thermospannung 300K: ", FloatToStr(EeThermalVoltage(300.0), 5)));
PrintLn(StrConcat("Teiler 12V 1k/2k: ", FloatToStr(DcVoltageDivider(12.0, 1000.0, 2000.0), 3)));
PrintLn(StrConcat("dasselbe mit 2k Last: ", FloatToStr(DcVoltageDividerLoaded(12.0, 1000.0, 2000.0, 2000.0), 3)));
PrintLn(StrConcat("Cu 2x10m, 1.5mm2, 10A:", FloatToStr(DcVoltageDropV(10.0, DcRhoCopper(), 20.0, 1.5), 3)));
PrintLn(StrConcat("Resonanz 10mH/100nF: ", FloatToStr(AcResonanceHz(0.01, 100.0e-9), 1)));
return 0;
}
Thermospannung 300K: 0.02585
Teiler 12V 1k/2k: 8.000
dasselbe mit 2k Last: 6.000
Cu 2x10m, 1.5mm2, 10A:4.597
Resonanz 10mH/100nF: 5032.9
Der Unterschied zwischen den beiden Teilerzeilen ist der Punkt: dieselbe Schaltung, einmal unbelastet mit 8 V, einmal mit 2 kΩ Last bei 6 V. Wer die unbelastete Formel für einen belasteten Teiler nimmt, liegt hier um 25 % daneben.
Was nicht enthalten ist
- Keine Halbleiterkennlinien — Dioden, Transistoren, Kennlinienfelder.
EeThermalVoltageist die Grundlage dafür, mehr nicht. - Keine Netzberechnung. Maschen- und Knotenanalyse mit Gleichungssystem stehen nicht hier; für das Gleichungssystem gibt es std.linalg.
- Keine Normtabellen — E-Reihen, Sicherungskennlinien, Verlegearten. Der zulässige Spannungsfall kommt aus der Vorschrift des Anwenders, nicht aus der Unit.
Letzte Aktualisierung: 2026-09-06 — Seite neu angelegt; erhoben aus std/ee/*.lyx, Beispiel gegen lyxc 1.2.2D übersetzt und ausgeführt.
