Added Qullen Plot
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 25s
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 25s
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
#import "../lib/common_rewrite.typ" : *
|
|
||||||
#import "@preview/mannot:0.3.1"
|
#import "@preview/mannot:0.3.1"
|
||||||
#import "@preview/zap:0.5.0"
|
#import "@preview/zap:0.5.0"
|
||||||
#import "@preview/cetz:0.4.2"
|
#import "@preview/cetz:0.4.2"
|
||||||
#import "../lib/circuit.typ" : *
|
|
||||||
#import "@preview/unify:0.7.1": num,qty,unit
|
#import "@preview/unify:0.7.1": num,qty,unit
|
||||||
|
#import "@preview/cetz-plot:0.1.3"
|
||||||
|
|
||||||
|
#import "../lib/common_rewrite.typ" : *
|
||||||
|
#import "../lib/circuit.typ" : *
|
||||||
|
|
||||||
#set math.mat(delim: "[")
|
#set math.mat(delim: "[")
|
||||||
#show math.equation.where(block: true): it => math.inline(it)
|
#show math.equation.where(block: true): it => math.inline(it)
|
||||||
@@ -164,6 +166,13 @@
|
|||||||
$L_"ges" = L_1 parallel L_2$,
|
$L_"ges" = L_1 parallel L_2$,
|
||||||
$C_"ges" = C_1 parallel C_2$,
|
$C_"ges" = C_1 parallel C_2$,
|
||||||
$C_"ges" = C_1 + C_2$,
|
$C_"ges" = C_1 + C_2$,
|
||||||
|
|
||||||
|
$U_"ges" = U_1 + U_2$,
|
||||||
|
$U_"ges" = U_1 = U_2$,
|
||||||
|
$I_"ges" = I_1 = I_2$,
|
||||||
|
$I_"ges" = I_1 + I_2$,
|
||||||
|
[In $U$-Richtung Addieren],
|
||||||
|
[In $I$-Richtung Addieren],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -189,6 +198,108 @@
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
// Lineare Quelle
|
||||||
|
#bgBlock(fill: colorEineTore)[
|
||||||
|
#subHeading(fill: colorEineTore)[Lineare Quelle]
|
||||||
|
|
||||||
|
#align(
|
||||||
|
center+horizon,
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz.draw: *
|
||||||
|
import cetz-plot: *
|
||||||
|
plot.plot(size: (3, 3), name: "plot",
|
||||||
|
axis-style: "school-book",
|
||||||
|
x-label: "u", y-label: "i",
|
||||||
|
x-tick-step: none, y-tick-step: none,
|
||||||
|
axes: ("u", "i"),
|
||||||
|
x-min: -1, x-max: 2, x-grid: "both",
|
||||||
|
y-min: -2, y-max: 1, y-grid: "both", {
|
||||||
|
plot.add(((-2, -3), (3,2)))
|
||||||
|
plot.add-anchor("u0", (1,0))
|
||||||
|
plot.add-anchor("i0", (0,-1))
|
||||||
|
})
|
||||||
|
|
||||||
|
content("plot.u0", $U_0$, anchor: "south", padding: .2)
|
||||||
|
content("plot.i0", $-I_0$, anchor: "east", padding: .2)
|
||||||
|
|
||||||
|
mark("plot.u0", 0deg, symbol: "+", fill: black)
|
||||||
|
mark("plot.i0", 0deg, symbol: "+", fill: black)
|
||||||
|
|
||||||
|
line("plot.i0", (horizontal: "plot.u0", vertical: "plot.i0"), "plot.u0", stroke: (dash: "dashed", paint: rgb("#005c00")))
|
||||||
|
|
||||||
|
content((horizontal: "plot.u0", vertical: "plot.i0"), anchor: "south-west", text(rgb("#005c00"))[$R$], padding: 0.1)
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
$U_0$: LL-Spannung ($i = 0 => u = U_0$) \
|
||||||
|
$I_0$: KS-Strom ($u = 0 => i = -I_0$)
|
||||||
|
|
||||||
|
$R_i$: Innenwiderstand $R_i = U_0/I_0$
|
||||||
|
|
||||||
|
#table(
|
||||||
|
columns: (1fr, 1fr),
|
||||||
|
fill: (x, y) => if calc.rem(x, 2) == 1 { tableFillLow } else { tableFillHigh },
|
||||||
|
inset: 3mm,
|
||||||
|
align(center, [*$u$-gesteuert*]),
|
||||||
|
align(center, [*$i$-gesteuert*]),
|
||||||
|
|
||||||
|
align(
|
||||||
|
horizon+center,
|
||||||
|
zap.circuit({
|
||||||
|
import zap : *
|
||||||
|
import cetz.draw
|
||||||
|
|
||||||
|
zap.resistor("R1", (1, 0), (1, -1.5), fill: none, width: 0.8, height: 0.3)
|
||||||
|
zap.isource("I0", (0, 0), (0, -1.5), fill: none, scale: 0.6, i: (content: $-I_0$, distance: 6pt, label-distance: -11pt, anchor: "west", invert: true))
|
||||||
|
node("N0", "R1.in")
|
||||||
|
node("N0", "R1.out")
|
||||||
|
|
||||||
|
wire("I0.out", "R1.out", (rel: (0.5, 0)))
|
||||||
|
wire("I0.in", "R1.in")
|
||||||
|
wire("R1.in", (rel: (0.5, 0)), i: (content: $i$, invert: true))
|
||||||
|
|
||||||
|
cetz.draw.content((0.62, -0.75), [$R$])
|
||||||
|
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
|
||||||
|
cetz.draw.content((1.7, -0.75), [$u$])
|
||||||
|
cetz.draw.line((1.5, -0.1), (1.5, -1.4), stroke: 0.5pt)
|
||||||
|
})
|
||||||
|
),
|
||||||
|
align(
|
||||||
|
horizon+center,
|
||||||
|
zap.circuit({
|
||||||
|
import zap : *
|
||||||
|
import cetz.draw
|
||||||
|
|
||||||
|
zap.vsource("U0", (0, 0), (0, -1.5), fill: none, scale: 0.6, u: (content: $U_0$, distance: -4pt, label-distance: -8pt, anchor: "south-west", invert: true))
|
||||||
|
zap.resistor("R1", (0, 0), (1.75, 0), fill: none, width: 0.8, height: 0.3,
|
||||||
|
i: (content: $i$, invert: true, distance: 0.3)
|
||||||
|
)
|
||||||
|
wire((0, -1.5), (1.75, -1.5))
|
||||||
|
|
||||||
|
cetz.draw.content((0.62, -0.75), [$R$])
|
||||||
|
cetz.draw.set-style(mark: (end: ">", fill: black, scale: 0.6))
|
||||||
|
cetz.draw.content((1.95, -0.75), [$u$])
|
||||||
|
cetz.draw.line((1.75, -0.1), (1.75, -1.4), stroke: 0.5pt)
|
||||||
|
})
|
||||||
|
),
|
||||||
|
|
||||||
|
[
|
||||||
|
$u = R_i i + u_0$ \
|
||||||
|
|
||||||
|
],
|
||||||
|
[
|
||||||
|
$i = 1/R_i u - I_0$
|
||||||
|
],
|
||||||
|
|
||||||
|
table.cell(colspan: 2)[
|
||||||
|
#align($-->$)
|
||||||
|
],
|
||||||
|
table.cell(colspan: 2)[
|
||||||
|
$<--$
|
||||||
|
],
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
// Quell Wandlung
|
// Quell Wandlung
|
||||||
#bgBlock(fill: colorEineTore)[
|
#bgBlock(fill: colorEineTore)[
|
||||||
#subHeading(fill: colorEineTore)[Quelle Wandlung]
|
#subHeading(fill: colorEineTore)[Quelle Wandlung]
|
||||||
@@ -245,14 +356,14 @@
|
|||||||
|
|
||||||
$R_i=1/G_i$
|
$R_i=1/G_i$
|
||||||
|
|
||||||
$r(i) = R_i i + U_0$
|
$u = r(i) = R_i i + U_0$
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
$I_0 = U_0 G_i$
|
$I_0 = U_0 G_i$
|
||||||
|
|
||||||
$G_i=1/R_i$
|
$G_i=1/R_i$
|
||||||
|
|
||||||
$g(u) = G_i u + I_0$
|
$i = g(u) = G_i u + I_0$
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
]
|
]
|
||||||
@@ -786,12 +897,16 @@
|
|||||||
$E_L = Phi^2/2L = (L i^2)/2$
|
$E_L = Phi^2/2L = (L i^2)/2$
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
$C$: Admetanz $hat(=) G$
|
$C$: Admittanz $hat(=) G$
|
||||||
], [],
|
], [],
|
||||||
[
|
[
|
||||||
$L$: Impedanz $hat(=) R$
|
$L$: Impedanz $hat(=) R$
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Admittanz: $Y = I/U$\
|
||||||
|
Impedanz: $Z = U/I$
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
// Reaktive Dual Wandlung
|
// Reaktive Dual Wandlung
|
||||||
@@ -836,18 +951,26 @@
|
|||||||
U_"ges"^2 = U_1^2 + 2 U_1 U_2 + U_2^2 \
|
U_"ges"^2 = U_1^2 + 2 U_1 U_2 + U_2^2 \
|
||||||
tan(phi) = (U_2 sin(phi))/(U_1 + U_2 cos(phi))
|
tan(phi) = (U_2 sin(phi))/(U_1 + U_2 cos(phi))
|
||||||
$
|
$
|
||||||
|
]
|
||||||
|
|
||||||
*Levi's Lustig Leistung*
|
#bgBlock(fill: colorComplexAC)[
|
||||||
|
#subHeading(fill: colorComplexAC)[*Levi's Lustig Leistung*]
|
||||||
|
|
||||||
$(P =) space underline(S) = underline(U) dot underline(I)^*$\
|
$P = 1/2 U dot I^*$\
|
||||||
|
|
||||||
#table(
|
#table(
|
||||||
columns: (auto, 1fr, auto),
|
columns: (auto, 1fr, auto),
|
||||||
fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillLow } else { tableFillHigh },
|
fill: (x, y) => if calc.rem(y, 2) == 0 { tableFillLow } else { tableFillHigh },
|
||||||
[Scheinleitsung], [$(P_s =) space abs(underline(S))$], [$["VA"]$],
|
[Scheinleitsung], [$(P_s =) space abs(underline(S))$], [$["VA"]$],
|
||||||
[Wirkleistung], [$(P_w =) space P = "Real"(underline(S)) $], [$["W"]$],
|
[Wirkleistung], [$(P_w =) space P = "Re"{} $], [$["W"]$],
|
||||||
[Blindleistung], [$(P_b =) space Q = "Imag"(underline(S))$], [$["var"]$]
|
[Blindleistung], [$(P_b =) space Q = "Im"{}$], [$["var"]$]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Bei Wiederstand: $R$
|
||||||
|
|
||||||
|
$P_w = U_m^2 / 2R = (I_m^2 R)/2$
|
||||||
|
|
||||||
|
$U_"eff" = U_m/sqrt(2), I_"eff" = I_m / sqrt(2)$
|
||||||
]
|
]
|
||||||
|
|
||||||
// Komplexe Zahlen
|
// Komplexe Zahlen
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#let tableFillHigh = white
|
#let tableFillHigh = white
|
||||||
#let tableFillLow = color.lighten(gray, 30%)
|
#let tableFillLow = color.lighten(gray, 50%)
|
||||||
|
|
||||||
#let sinTable = [
|
#let sinTable = [
|
||||||
#let data = json("../sintable.json")
|
#let data = json("../sintable.json")
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
#import "@preview/zap:0.5.0"
|
#import "@preview/zap:0.5.0"
|
||||||
|
#import "@preview/cetz-plot:0.1.3"
|
||||||
|
|
||||||
|
|
||||||
#set page(width: auto, height: auto)
|
#set page(width: auto, height: auto)
|
||||||
|
|
||||||
@@ -240,3 +242,49 @@
|
|||||||
rect((2.5, -1.2), (3, -1.5), fill: rgb("#fffc61"), stroke: none, name: "siO2")
|
rect((2.5, -1.2), (3, -1.5), fill: rgb("#fffc61"), stroke: none, name: "siO2")
|
||||||
content("siO2", [oxide], anchor: "west", padding: 0.3)
|
content("siO2", [oxide], anchor: "west", padding: 0.3)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
#let FetPlot() = {
|
||||||
|
let u_gs = 1
|
||||||
|
let beta = 1
|
||||||
|
|
||||||
|
cetz.canvas({
|
||||||
|
import cetz-plot: plot
|
||||||
|
import cetz: draw.content
|
||||||
|
|
||||||
|
cetz.draw.set-style(axes: (
|
||||||
|
shared-zero: false,
|
||||||
|
overshoot: 0.2,
|
||||||
|
x: (mark: (end: ">", fill: black, scale: 0.6)),
|
||||||
|
y: (mark: (end: ">", fill: black, scale: 0.6)),
|
||||||
|
))
|
||||||
|
|
||||||
|
plot.plot(
|
||||||
|
size: (2, 2),
|
||||||
|
name: "plot",
|
||||||
|
axis-style: "school-book",
|
||||||
|
x-min: 0,
|
||||||
|
x-tick-step: none,
|
||||||
|
y-tick-step: none,
|
||||||
|
x-label: $U_"GS"$,
|
||||||
|
y-label: $U_"DS"$,
|
||||||
|
{
|
||||||
|
plot.add-fill-between(domain: (1, 6), ((1, 0), (1, 5)), u_gs => u_gs - u_t)
|
||||||
|
|
||||||
|
plot.add(domain: (0, 5), fill: true, axes: ("y", "x"), _ => 1)
|
||||||
|
|
||||||
|
plot.add(domain: (1, 6), fill: true, u_gs => u_gs - u_t)
|
||||||
|
|
||||||
|
plot.add-anchor("I", (0.5, 2.5))
|
||||||
|
plot.add-anchor("II", (4.5, 1.5))
|
||||||
|
plot.add-anchor("III", (2.5, 3.5))
|
||||||
|
|
||||||
|
plot.add-anchor("ut", (u_t, 0))
|
||||||
|
}
|
||||||
|
)
|
||||||
|
content("plot.ut", $U_t$, anchor: "north", padding: 0.1)
|
||||||
|
|
||||||
|
content("plot.I", [I])
|
||||||
|
content("plot.II", [II])
|
||||||
|
content("plot.III", [III])
|
||||||
|
})
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user