Геометрическая модель псевдогиперболоида второго порядка с радиальной кольцевой щелью (кольцевой вывод энергии)

1. Образующая гиперболы и смещённая ось вращения

В качестве базовой профильной кривой рассматривается каноническая гипербола в декартовой системе координат (Oxy):

[ \frac{x^2}{a^2} — \frac{y^2}{b^2} = 1. ]

Верхняя ветвь этой гиперболы может быть записана в явном виде:

[ y(x)=b\sqrt{\frac{x^2}{a^2}-1}, \qquad |x|\ge a. ]

Здесь параметр (a>0) задаёт полуширину центральной области по продольной оси, а параметр (b>0) определяет кривизну гиперболической образующей.

Ключевой особенностью рассматриваемой структуры является то, что образующая вращается не вокруг собственной оси симметрии, а вокруг прямой, параллельной оси (Ox) и смещённой на расстояние (R):

[ y=R. ]

При таком вращении локальный радиус поверхности относительно оси вращения определяется выражением

[ r(x)=R-y(x)=R-b\sqrt{\frac{x^2}{a^2}-1}, \qquad a\le |x|\le L. ]

Поскольку гипербола удаляется от оси вращения до точки её пересечения с прямой (y=R), физический домен воронок ограничивается условием (r(x)\ge 0). Координата замыкания воронки (x=L) определяется из уравнения (r(L)=0), что даёт

[ L=a\sqrt{1+\left(\frac{R}{b}\right)^2}. ]

Таким образом, каждая из двух симметричных воронок существует на интервалах

[ x\in[-L,-a]\cup[a,L]. ]


2. Центральная фокальная кольцевая зона

Между двумя воронками вводится центральная цилиндрическая область

[ x\in[-a,a], ]

в которой радиус поперечного сечения сохраняется постоянным и равным (R). Эта область задаётся как

[ r_c(x)=R, \qquad |x|\le a. ]

Следовательно, центральная фокальная зона представляет собой цилиндрическую кольцевую область с:

  • осевой высотой (2a),
  • радиусом (R).

Именно эта зона рассматривается как основная область локализации лучевой и, в приближённом волновом описании, волновой энергии.


3. Фокальная радиальная кольцевая щель

В дополнение к базовой симметричной структуре в правом торце центральной зоны, в плоскости

[ x=a, ]

вводится кольцевая радиальная щель. Важнейшая особенность этой модификации заключается в том, что щель формируется не за счёт смещения всей правой воронки, а за счёт удаления части торцевой стенки между центральной цилиндрической зоной и правой воронкой.

Если в цилиндрических координатах относительно оси вращения обозначить

[ \rho=\sqrt{(Y-R)^2+Z^2}, ]

то кольцевая щель определяется как область

[ R-\Delta R \le \rho \le R \quad \text{в плоскости } x=a. ]

В настоящей постановке принимается

[ \Delta R = \frac{L}{2}, ]

поэтому радиальная щель задаётся выражением

[ R-\frac{L}{2}\le \rho \le R. ]

Таким образом, щель представляет собой кольцевое окно в торцевой плоскости правого края центральной зоны. Геометрически это означает, что:

  • левая и правая воронки сохраняют одну и ту же гиперболическую форму;
  • центральная зона сохраняет радиус (R);
  • асимметрия создаётся не изменением всей правой воронки, а локальным удалением кольцевого участка торцевой стенки.

Именно эта кольцевая апертура рассматривается как кандидат на канал управляемого вывода энергии из локализованного домена.


4. Параметрическое 3D-описание структуры

Полная геометрия системы задаётся как объединение четырёх частей.

Левая воронка:

[ X=x,\qquad Y=R+r_f(x)\cos\varphi,\qquad Z=r_f(x)\sin\varphi, ] где [ r_f(x)=R-b\sqrt{\frac{x^2}{a^2}-1}, \qquad x\in[-L,-a],\quad \varphi\in[0,2\pi]. ]

Центральная цилиндрическая зона:

[ X=x,\qquad Y=R+R\cos\varphi,\qquad Z=R\sin\varphi, ] где [ x\in[-a,a],\quad \varphi\in[0,2\pi]. ]

Правая воронка:

[ X=x,\qquad Y=R+r_f(x)\cos\varphi,\qquad Z=r_f(x)\sin\varphi, ] где [ x\in[a,L],\quad \varphi\in[0,2\pi]. ]

Правая торцевая кольцевая щель:

[ X=a,\qquad Y=R+\rho\cos\varphi,\qquad Z=\rho\sin\varphi, ] где [ \rho\in\left[R-\frac{L}{2},,R\right],\qquad \varphi\in[0,2\pi]. ]


5. Замечание о физическом смысле модели

Следует подчеркнуть, что в данной модификации асимметрия имеет локально-торцевой, а не глобально-объёмный характер. Это важно для дальнейшего физического анализа: рассматриваемая структура не является просто «поджатой» справа воронкой, а представляет собой симметричный псевдогиперболоид, у которого в правом торце центральной зоны сформировано кольцевое окно вывода.

Такая постановка ближе по физическому смыслу к апертурному механизму вывода энергии, характерному для открытых резонаторов и кольцевых выходных областей в высокомощных излучательных системах.


6. Python-скрипт 3D-визуализации исправленной геометрии

import os

import numpy as np

import matplotlib.pyplot as plt

from matplotlib import cm

from mpl_toolkits.mplot3d import Axes3D  # noqa: F401

# ===========================================================

# ВХОДНЫЕ ДАННЫЕ

# ===========================================================

a = 0.05

b = 0.5

R = 20.0

# ВАЖНО:

# L теперь задаётся явно как входной параметр.

# Если хотите использовать геометрически согласованное значение,

# оставьте auto_L = True.

# Если хотите задавать L вручную, поставьте auto_L = False

# и впишите нужное значение в L_input.

auto_L = True

L_input = 2.000624902374256  # пример; используется только если auto_L = False

OUTDIR = «figures_gwe_corrected»

os.makedirs(OUTDIR, exist_ok=True)

plt.rcParams.update({

    «figure.dpi»: 140,

    «savefig.dpi»: 300,

    «font.size»: 12,

    «axes.labelsize»: 12,

    «axes.titlesize»: 13,

    «font.family»: «DejaVu Serif»,

    «mathtext.fontset»: «dejavuserif»

})

# ===========================================================

# ГЕОМЕТРИЯ

# ===========================================================

def L_close(a, b, R):

    return a * np.sqrt(1.0 + (R / b) ** 2)

def c_focus(a, b):

    return np.sqrt(a**2 + b**2)

def y_hyperbola(x, a, b):

    x = np.asarray(x)

    return b * np.sqrt(x**2 / a**2 — 1.0)

# L: либо автоматически из геометрии, либо вручную

L = L_close(a, b, R) if auto_L else float(L_input)

c = c_focus(a, b)

# Радиальная щель: от R — L/2 до R

dR = L / 2.0

R_slot_inner = R — dR

R_slot_outer = R

if R_slot_inner <= 0:

    raise ValueError(

        f»Некорректная геометрия: внутренний радиус щели R-L/2 = {R_slot_inner:.6f} <= 0″

    )

eps = 1e-3

# ===========================================================

# ВОРОНКИ (ОБЕ ОДИНАКОВЫЕ)

# ===========================================================

phi = np.linspace(0, 2 * np.pi, 240)

# Левая воронка

x_left = np.linspace(-L + eps, -a — eps, 260)

Xl, Phil = np.meshgrid(x_left, phi)

Yprof_l = y_hyperbola(Xl, a, b)

Rl = R — Yprof_l

Yl = R + Rl * np.cos(Phil)

Zl = Rl * np.sin(Phil)

# Правая воронка

x_right = np.linspace(a + eps, L — eps, 260)

Xr, Phir = np.meshgrid(x_right, phi)

Yprof_r = y_hyperbola(Xr, a, b)

Rr = R — Yprof_r

Yr = R + Rr * np.cos(Phir)

Zr = Rr * np.sin(Phir)

# ===========================================================

# ЦЕНТРАЛЬНАЯ ЭКВАТОРИАЛЬНАЯ ЦИЛИНДРИЧЕСКАЯ ЗОНА

# ===========================================================

xc = np.linspace(-a, a, 80)

phic = np.linspace(0, 2 * np.pi, 260)

Xc, Phic = np.meshgrid(xc, phic)

Yc = R + R * np.cos(Phic)

Zc = R * np.sin(Phic)

# ===========================================================

# КОЛЬЦЕВАЯ РАДИАЛЬНАЯ ЩЕЛЬ В ПЛОСКОСТИ x = a

# ===========================================================

rho_slot = np.linspace(R_slot_inner, R_slot_outer, 80)

Phi_slot, Rho_slot = np.meshgrid(phic, rho_slot, indexing=’ij’)

Xslot = np.full_like(Rho_slot, a)

Yslot = R + Rho_slot * np.cos(Phi_slot)

Zslot = Rho_slot * np.sin(Phi_slot)

# ===========================================================

# 3D-ФИГУРА

# ===========================================================

fig = plt.figure(figsize=(12, 8))

ax = fig.add_subplot(111, projection=»3d»)

# Псевдогиперболоидные воронки

ax.plot_surface(Xl, Yl, Zl, cmap=cm.Blues, linewidth=0, alpha=0.35, shade=True)

ax.plot_surface(Xr, Yr, Zr, cmap=cm.Blues, linewidth=0, alpha=0.35, shade=True)

# Центральная экваториальная фокальная зона

ax.plot_surface(Xc, Yc, Zc, color=»red», alpha=0.30, linewidth=0, shade=False)

# Кольцевая щель в правом торце

ax.plot_surface(Xslot, Yslot, Zslot, color=»gold», alpha=0.85, linewidth=0, shade=False)

theta = np.linspace(0, 2 * np.pi, 500)

# Граничные круги экваториальной зоны

for x0 in [-a, a]:

    ax.plot(

        np.full_like(theta, x0),

        R + R * np.cos(theta),

        R * np.sin(theta),

        color=»darkred»,

        linewidth=2.8

    )

# Внешние фокальные кольца при x = ±c

for x0 in [-c, c]:

    ax.plot(

        np.full_like(theta, x0),

        R + R * np.cos(theta),

        R * np.sin(theta),

        color=»limegreen»,

        linewidth=3.2

    )

# Ось вращения

ax.plot(

    [-L, L], [R, R], [0, 0],

    color=»black», linestyle=»—«, linewidth=1.5, alpha=0.8

)

# ===========================================================

# АННОТАЦИИ

# ===========================================================

ax.text(-a, R + 1.2, 0, r»$-a$», color=»darkred», fontsize=13)

ax.text(a, R + 1.2, 0, r»$a$», color=»darkred», fontsize=13)

ax.text(-c, R + 1.5, 0, r»$-c$», color=»green», fontsize=13)

ax.text(c, R + 1.5, 0, r»$c$», color=»green», fontsize=13)

ax.plot([0, 0], [R, 2 * R], [0, 0], color=»red», linewidth=2.5)

ax.text(0.15, 1.52 * R, 0.8, r»$R$», color=»red», fontsize=13)

ax.plot([-a, a], [R, R], [0, 0], color=»darkred», linewidth=3)

ax.text(0, R + 1.8, 0, r»$2a$», color=»darkred», fontsize=13, ha=»center»)

ax.text(

    a + 0.15,

    R + 0.3,

    0.6,

    rf»Щель $[R-L/2,\;R]$»,

    color=»goldenrod»,

    fontsize=12

)

# ===========================================================

# ОСИ И ВИД

# ===========================================================

ax.view_init(elev=20, azim=-58)

ax.set_xlim(-L, L)

ax.set_ylim(0, 2 * R)

ax.set_zlim(-R, R)

ax.set_xlabel(«X»)

ax.set_ylabel(«Y»)

ax.set_zlabel(«Z»)

ax.set_title(«Псевдогиперболоид 2-го порядка с фокальной кольцевой щелью»)

ax.xaxis.pane.fill = False

ax.yaxis.pane.fill = False

ax.zaxis.pane.fill = False

plt.tight_layout()

plt.savefig(os.path.join(OUTDIR, «fig_pseudohyperboloid_with_ring_slot.png»))

plt.savefig(os.path.join(OUTDIR, «fig_pseudohyperboloid_with_ring_slot.pdf»))

plt.show()

print(«=== ПАРАМЕТРЫ ===»)

print(f»a = {a}»)

print(f»b = {b}»)

print(f»R = {R}»)

print(f»L = {L}»)

print(f»dR = L/2 = {dR}»)

print(f»Щель: от {R_slot_inner} до {R_slot_outer}»)