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}»)