Názor: Prečo sa domnievam, že nebude fungovať ITER? Rozdiel potenciálov je záporný a všetko bude vracať do trysiek. Nasimulujem:

Názor: Prečo sa domnievam, že nebude fungovať ITER? Rozdiel potenciálov je záporný a všetko bude vracať do trysiek. Nasimulujem:

Rozšírenie článkov: https://hrubos.tech/blogy/2026/08/hypoteza-o-tokamaku-hrubosova

Uvažujme že na obrázku nižšie od ČNS budú prúdy plazmy vystrelované z tých výstupkov, á poďme nasimulovať ako budú interagovať energeticky tie letiace v tvare trojuholníka a tie v tvare hviezdic:

zdroj: Česká nukleární společnost: https://hrubos.tech/blogy/content/images/20261020200508-ITER.jpeg

https://hrubos.tech/blogy/content/images/20261020200659-ITER_E.jpg

https://hrubos.tech/blogy/content/images/20261020200659-ITER_E.jpg

simu realtime: https://hrubos.tech/simulacie/plazma3.mp4

using Pkg
Pkg.add("Plots")



using Plots

# =========================================================
# PLAZMA: trojuholníkový a hviezdicový prúd častíc
# Výstup: plazma.mp4
# =========================================================

const N = 240
const FPS = 30
const DURATION = 8.0

f1 = 0.8                  # frekvencia trojuholníkového prúdu
f2 = 2 * f1               # frekvencia hviezdicového prúdu
amplituda = 0.5           # amplitúda energetických oscilácií

# ---------------------------------------------------------
# Geometria dráh
# ---------------------------------------------------------

triangle = [
    -1.0  -0.65
     1.0  -0.65
     0.0   1.0
]

star = reduce(vcat, [
    reshape([
        (isodd(i) ? 1.0 : 0.42) *
            cos(-pi / 2 + (i - 1) * pi / 5),
        (isodd(i) ? 1.0 : 0.42) *
            sin(-pi / 2 + (i - 1) * pi / 5)
    ], 1, 2)
    for i in 1:10
])

# ---------------------------------------------------------
# Poloha častice na uzavretej polygonálnej dráhe
# ---------------------------------------------------------

function polygon_point(points, u)
    n = size(points, 1)

    x = mod(u, 1.0) * n
    i = floor(Int, x) + 1
    q = x - floor(x)
    j = mod1(i + 1, n)

    px = (1 - q) * points[i, 1] + q * points[j, 1]
    py = (1 - q) * points[i, 2] + q * points[j, 2]

    return px, py
end

# ---------------------------------------------------------
# Modelové nezáporné kinetické energie
#
# E1, E2 sú normalizované modelové hodnoty, nie eV ani J.
# Nejde o riešenie úplných rovníc dynamiky plazmy.
# ---------------------------------------------------------

function energy(t)
    E1 = 0.52 + amplituda * 0.32 *
         (0.5 + 0.5 * sin(2 * pi * f1 * t))

    E2 = 0.48 + amplituda * 0.34 *
         (0.5 + 0.5 * sin(2 * pi * f2 * t + 0.9))

    return E1, E2
end

# ---------------------------------------------------------
# Graf jednej dráhy a pohybujúcich sa častíc
# ---------------------------------------------------------

function particle_plot(points, t, f, color, title_text)
    p = plot(
        aspect_ratio = :equal,
        xlims = (-1.3, 1.3),
        ylims = (-1.3, 1.3),
        title = title_text,
        xlabel = "x",
        ylabel = "y",
        legend = false,
        grid = true
    )

    closed_x = [points[:, 1]; points[1, 1]]
    closed_y = [points[:, 2]; points[1, 2]]

    plot!(
        p, closed_x, closed_y,
        color = color,
        linewidth = 2
    )

    # Dvanásť častíc v prúde
    xs = Float64[]
    ys = Float64[]

    for j in 0:11
        u = mod(j / 12 + f * t, 1.0)
        x, y = polygon_point(points, u)

        push!(xs, x)
        push!(ys, y)
    end

    scatter!(
        p, xs, ys,
        color = color,
        markersize = 5,
        markerstrokewidth = 0
    )

    return p
end

# ---------------------------------------------------------
# Časová os
# ---------------------------------------------------------

times = collect(range(0.0, DURATION, length = N))
anim = Animation()

# ---------------------------------------------------------
# Generovanie snímok
# ---------------------------------------------------------

for k in 1:N
    t = times[k]

    # Vľavo hore: trojuholníkový prúd
    p1 = particle_plot(
        triangle, t, f1, :dodgerblue,
        "Trojuholnikovy prud"
    )

    # Vľavo dole: hviezdicový prúd
    p2 = particle_plot(
        star, t, f2, :orange,
        "Hviezdicovy prud"
    )

    # Energie od začiatku po aktuálny čas
    ts = times[1:k]
    values = [energy(s) for s in ts]

    E1 = first.(values)
    E2 = last.(values)

    # Rozdiel energie: hviezdica mínus trojuholník
    dE = E2 .- E1

    # Vpravo hore: obe energie
    p3 = plot(
        ts, E1,
        color = :dodgerblue,
        linewidth = 2.5,
        label = "E1 - trojuholnik",
        xlabel = "Cas",
        ylabel = "Normalizovana energia",
        title = "Porovnanie energii",
        xlims = (0, DURATION),
        ylims = (0, 1.0),
        legend = :topright,
        grid = true
    )

    plot!(
        p3, ts, E2,
        color = :orange,
        linewidth = 2.5,
        label = "E2 - hviezdica"
    )

    vline!(
        p3, [t],
        color = :gray,
        linestyle = :dash,
        linewidth = 1,
        label = false
    )

    # Vpravo dole: rozdiel energií
    p4 = plot(
        ts, dE,
        color = :purple,
        linewidth = 2.5,
        label = "Delta E = E2 - E1",
        xlabel = "Cas",
        ylabel = "Rozdiel energie",
        title = "Rozdiel energii",
        xlims = (0, DURATION),
        ylims = (-0.4, 0.4),
        legend = :topright,
        grid = true
    )

    hline!(
        p4, [0.0],
        color = :black,
        linestyle = :dash,
        linewidth = 1.5,
        label = "Delta E = 0"
    )

    vline!(
        p4, [t],
        color = :gray,
        linestyle = :dash,
        linewidth = 1,
        label = false
    )

    # Celkové rozloženie: dva pohyby a dva grafy
    fig = plot(
        p1, p3,
        p2, p4,
        layout = (2, 2),
        size = (1400, 900),
        plot_title = "Proudy castic plazmy | t = $(round(t, digits=2))"
    )

    Plots.frame(anim, fig)

    if k % 30 == 0
        println("Vygenerovanych snimok: $k / $N")
    end
end

# ---------------------------------------------------------
# Export MP4
# ---------------------------------------------------------

mp4(anim, "plazma3.mp4", fps = FPS)

println()
println("Simulacia dokoncena.")
println("Vystupny subor: plazma.mp4")
println("Rozlisenie: 1400 x 900")
println("Pocet snimok: $N")
println("FPS: $FPS")

Za pomoc s kódom simulácie ďakujem GPT AI v JuliaLang ;)


Author: AarNoma

The first Slovak cyborg 1 system