Skip to content
9 changes: 5 additions & 4 deletions essos/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,8 @@ def to_xyz(self, points):
return jnp.array([X, Y, Z])

class near_axis():
def __init__(self, rc=jnp.array([1, 0.1]), zs=jnp.array([0, 0.1]), etabar=1.0,
B0=1, sigma0=0, I2=0, nphi=31, spsi=1, sG=1, nfp=2, order='r1', B2c=0, p2=0):
def __init__(self, rc=jnp.array([1., 0.1]), zs=jnp.array([0., 0.1]), etabar=1.0,
B0=1., sigma0=0., I2=0., nphi=31, spsi=1., sG=1., nfp=2, order='r1', B2c=0., p2=0.):
assert nphi % 2 == 1, 'nphi must be odd'
self.rc = jnp.array(rc)
self.zs = jnp.array(zs)
Expand Down Expand Up @@ -424,7 +424,8 @@ def dofs(self):

@dofs.setter
def dofs(self, new_dofs):
self._dofs = jnp.array(new_dofs)
# Ensure dofs are always float for JAX autodiff compatibility
self._dofs = jnp.array(new_dofs, dtype=float)
Comment thread
EstevaoMGomes marked this conversation as resolved.
self.rc = self._dofs[:self.nfourier]
self.zs = self._dofs[self.nfourier:2*self.nfourier]
self.etabar = self._dofs[-1]
Expand Down Expand Up @@ -954,4 +955,4 @@ def to_vtk(self, filename, r=0.1, ntheta=40, nphi=120, ntheta_fourier=20, extra_

tree_util.register_pytree_node(near_axis,
near_axis._tree_flatten,
near_axis._tree_unflatten)
near_axis._tree_unflatten)
Loading