Skip to content

Commit

Permalink
Revert changes to B_theta_mn in previous commit
Browse files Browse the repository at this point in the history
  • Loading branch information
unalmis committed Aug 12, 2024
1 parent 2dfcb67 commit b64570a
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 45 deletions.
38 changes: 7 additions & 31 deletions desc/compute/_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -1553,28 +1553,6 @@ def _B_sub_theta(params, transforms, profiles, data, **kwargs):
return data


@register_compute_fun(
name="B_theta_PEST",
label="B_{\\vartheta}",
units="T \\cdot m",
units_long="Tesla * meters",
description="Covariant poloidal component of magnetic field in (ρ,ϑ,ϕ) "
"coordinates or straight field line PEST coordinates. "
"ϕ increases counterclockwise when viewed from above "
"(cylindrical R,ϕ plane with Z out of page).",
dim=1,
params=[],
transforms={},
profiles=[],
coordinates="rtz",
data=["B", "e_theta_PEST"],
aliases="B_vartheta",
)
def _B_sub_theta_pest(params, transforms, profiles, data, **kwargs):
data["B_theta_PEST"] = dot(data["B"], data["e_theta_PEST"])
return data


@register_compute_fun(
name="B_zeta",
label="B_{\\zeta}",
Expand All @@ -1594,23 +1572,21 @@ def _B_sub_zeta(params, transforms, profiles, data, **kwargs):


@register_compute_fun(
name="B_phi|r,v",
label="B_{\\phi} = B \\dot \\matbf{e}_{\\phi} |_{\\rho, \\vartheta}",
name="B_phi|r,t",
label="B_{\\phi} = B \\dot \\mathbf{e}_{\\phi} |_{\\rho, \\theta}",
units="T \\cdot m",
units_long="Tesla * meters",
description="Covariant toroidal component of magnetic field in (ρ,ϑ,ϕ) "
"coordinates or straight field line PEST coordinates. "
"ϕ increases counterclockwise when viewed from above "
"(cylindrical R,ϕ plane with Z out of page).",
description="Covariant toroidal component of magnetic field in (ρ,θ,ϕ) "
"coordinates.",
dim=1,
params=[],
transforms={},
profiles=[],
coordinates="rtz",
data=["B", "e_phi|r,v"],
data=["B", "e_phi|r,t"],
)
def _B_sub_phi_rv(params, transforms, profiles, data, **kwargs):
data["B_phi|r,v"] = dot(data["B"], data["e_phi|r,v"])
def _B_sub_phi_rt(params, transforms, profiles, data, **kwargs):
data["B_phi|r,t"] = dot(data["B"], data["e_phi|r,t"])
return data


Expand Down
25 changes: 11 additions & 14 deletions desc/compute/_omnigenity.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,50 +18,47 @@


@register_compute_fun(
name="B_vartheta_mn",
label="B_{\\vartheta, m, n}",
name="B_theta_mn",
label="B_{\\theta, m, n}",
units="T \\cdot m}",
units_long="Tesla * meters",
description="Fourier coefficients for covariant poloidal component of "
"magnetic field in (ρ,ϑ,ϕ) coordinates or straight field line PEST coordinates. "
"ϕ increases counterclockwise when viewed from above "
"(cylindrical R,ϕ plane with Z out of page).",
"magnetic field.",
dim=1,
params=[],
transforms={"B": [[0, 0, 0]]},
profiles=[],
coordinates="rtz",
data=["B_vartheta"],
data=["B_theta"],
M_booz="int: Maximum poloidal mode number for Boozer harmonics. Default 2*eq.M",
N_booz="int: Maximum toroidal mode number for Boozer harmonics. Default 2*eq.N",
resolution_requirement="tz",
)
def _B_theta_mn(params, transforms, profiles, data, **kwargs):
data["B_vartheta_mn"] = transforms["B"].fit(data["B_vartheta"])
data["B_theta_mn"] = transforms["B"].fit(data["B_theta"])
return data


# TODO: do math to change definition of nu so that we can just use B_zeta_mn here
@register_compute_fun(
name="B_phi_mn",
label="B_{\\phi, m, n}",
units="T \\cdot m}",
units_long="Tesla * meters",
description="Fourier coefficients for covariant toroidal component of "
"magnetic field in (ρ,ϑ,ϕ) coordinates or straight field line PEST coordinates. "
"ϕ increases counterclockwise when viewed from above "
"(cylindrical R,ϕ plane with Z out of page).",
"magnetic field in (ρ,θ,ϕ) coordinates.",
dim=1,
params=[],
transforms={"B": [[0, 0, 0]]},
profiles=[],
coordinates="rtz",
data=["B_phi|r,v"],
data=["B_phi|r,t"],
M_booz="int: Maximum poloidal mode number for Boozer harmonics. Default 2*eq.M",
N_booz="int: Maximum toroidal mode number for Boozer harmonics. Default 2*eq.N",
resolution_requirement="tz",
)
def _B_phi_mn(params, transforms, profiles, data, **kwargs):
data["B_phi_mn"] = transforms["B"].fit(data["B_phi|r,v"])
data["B_phi_mn"] = transforms["B"].fit(data["B_phi|r,t"])
return data


Expand All @@ -77,7 +74,7 @@ def _B_phi_mn(params, transforms, profiles, data, **kwargs):
transforms={"w": [[0, 0, 0]], "B": [[0, 0, 0]]},
profiles=[],
coordinates="rtz",
data=["B_vartheta_mn", "B_phi_mn"],
data=["B_theta_mn", "B_phi_mn"],
M_booz="int: Maximum poloidal mode number for Boozer harmonics. Default 2*eq.M",
N_booz="int: Maximum toroidal mode number for Boozer harmonics. Default 2*eq.N",
)
Expand All @@ -91,7 +88,7 @@ def _w_mn(params, transforms, profiles, data, **kwargs):
mask_t = (Bm[:, None] == -wm) & (Bn[:, None] == wn) & (wm != 0)
mask_z = (Bm[:, None] == wm) & (Bn[:, None] == -wn) & (wm == 0) & (wn != 0)

num_t = (mask_t @ sign(wn)) * data["B_vartheta_mn"]
num_t = (mask_t @ sign(wn)) * data["B_theta_mn"]
den_t = mask_t @ jnp.abs(wm)
num_z = (mask_z @ sign(wm)) * data["B_phi_mn"]
den_z = mask_z @ jnp.abs(NFP * wn)
Expand Down
Binary file modified tests/inputs/master_compute_data_rpz.pkl
Binary file not shown.

0 comments on commit b64570a

Please sign in to comment.