Skip to content

Commit

Permalink
Remove code that modulos custom grid nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
unalmis committed Apr 5, 2023
1 parent 90296f7 commit e5b3901
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 10 deletions.
3 changes: 1 addition & 2 deletions desc/grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,7 @@ def _create_nodes(self, nodes):
"""
nodes = np.atleast_2d(nodes).reshape((-1, 3)).astype(float)
nodes[nodes[:, 1] > 2 * np.pi, 1] %= 2 * np.pi
nodes[nodes[:, 2] > 2 * np.pi / self.NFP, 2] %= 2 * np.pi / self.NFP
# Note: do not modulo nodes by 2pi or 2pi/NFP.
spacing = ( # make weights sum to 4pi^2
np.ones_like(nodes) * np.array([1, 2 * np.pi, 2 * np.pi]) / nodes.shape[0]
)
Expand Down
2 changes: 1 addition & 1 deletion desc/plotting.py
Original file line number Diff line number Diff line change
Expand Up @@ -1410,7 +1410,7 @@ def plot_surfaces(eq, rho=8, theta=8, zeta=None, ax=None, return_data=False, **k
}
if plot_theta:
# Note: theta* (also known as vartheta) is the poloidal straight field-line
# anlge in PEST-like flux coordinates
# angle in PEST-like flux coordinates
t_grid = _get_grid(**grid_kwargs)
v_grid = Grid(eq.compute_theta_coords(t_grid.nodes))
rows = np.floor(np.sqrt(nzeta)).astype(int)
Expand Down
8 changes: 4 additions & 4 deletions tests/test_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def test_precise_QH_results(precise_QH):
eq2 = EquilibriaFamily.load(load_from=str(precise_QH["output_path"]))[-1]
rho_err, theta_err = area_difference_desc(eq1, eq2)
np.testing.assert_allclose(rho_err, 0, atol=1e-2)
np.testing.assert_allclose(theta_err, 0, atol=3e-2)
np.testing.assert_allclose(theta_err, 0, atol=1e-2)


@pytest.mark.regression
Expand All @@ -123,7 +123,7 @@ def test_HELIOTRON_vac2_results(HELIOTRON_vac, HELIOTRON_vac2):
eq2 = EquilibriaFamily.load(load_from=str(HELIOTRON_vac2["desc_h5_path"]))[-1]
rho_err, theta_err = area_difference_desc(eq1, eq2)
np.testing.assert_allclose(rho_err[:, 3:], 0, atol=1e-2)
np.testing.assert_allclose(theta_err, 0, atol=0.003)
np.testing.assert_allclose(theta_err, 0, atol=1e-4)
curr1 = eq1.get_profile("current")
curr2 = eq2.get_profile("current")
iota1 = eq1.get_profile("iota")
Expand Down Expand Up @@ -369,7 +369,7 @@ def test_ATF_results(tmpdir_factory):
eqf = load(output_dir.join("ATF.h5"))
rho_err, theta_err = area_difference_desc(eq0, eqf[-1])
np.testing.assert_allclose(rho_err[:, 4:], 0, atol=4e-2)
np.testing.assert_allclose(theta_err, 0, atol=0.03)
np.testing.assert_allclose(theta_err, 0, atol=5e-4)


@pytest.mark.regression
Expand Down Expand Up @@ -402,7 +402,7 @@ def test_ESTELL_results(tmpdir_factory):
eqf = load(output_dir.join("ESTELL.h5"))
rho_err, theta_err = area_difference_desc(eq0, eqf[-1])
np.testing.assert_allclose(rho_err[:, 3:], 0, atol=5e-2)
np.testing.assert_allclose(theta_err, 0, atol=1e-3)
np.testing.assert_allclose(theta_err, 0, atol=1e-4)


@pytest.mark.regression
Expand Down
6 changes: 3 additions & 3 deletions tests/test_grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -775,11 +775,11 @@ def test(grid, midpoint_rule=False):
dr[1:-1] = (r_unique[2:] - r_unique[:-2]) / 2
dr[-1] = 1 - (r_unique[-2] + r_unique[-1]) / 2
else:
dr = np.ones(grid.num_rho) / grid.num_rho
dr = 1 / grid.num_rho
expected_integral = np.sum(dr * compress(grid, function_of_rho))
true_integral = np.log(1.35 / 0.35)
midpoint_rule_error_bound = max(dr) ** 2 / 24 * (2 / 0.35**3)
right_riemann_error_bound = dr[0] * (1 / 0.35 - 1 / 1.35)
midpoint_rule_error_bound = np.max(dr) ** 2 / 24 * (2 / 0.35**3)
right_riemann_error_bound = dr * (1 / 0.35 - 1 / 1.35)
np.testing.assert_allclose(
expected_integral,
true_integral,
Expand Down

0 comments on commit e5b3901

Please sign in to comment.