Rory Conlin
Rory Conlin
Is there any update on this? We'd love to use this in DESC (https://github.com/PlasmaControl/DESC/issues/1294) but having to build from source to get GPU support is limiting, as all of our...
nan reverse mode gradient when `FourierPlanarCurve` `normal` is parallel or anti-parallel to `Zaxis`
I think its because we measure rotations relative to the Z axis, and when the normal is also along z then `axis` is `[0,0,0]` https://github.com/PlasmaControl/DESC/blob/273515b231a2b4d187961a06abcdb54325e369ed/desc/compute/_curve.py#L209-L213
nan reverse mode gradient when `FourierPlanarCurve` `normal` is parallel or anti-parallel to `Zaxis`
in `rotation_matrix` some invalid values get overwritten, which would make it fine in forward mode but not reverse. So we may just need to move some of that masking earlier...
nan reverse mode gradient when `FourierPlanarCurve` `normal` is parallel or anti-parallel to `Zaxis`
Instead of getting the rotation matrix from axis and angle might be easier just to get it directly from the 2 normals: https://math.stackexchange.com/questions/180418/calculate-rotation-matrix-to-align-vector-a-to-vector-b-in-3d
can't this already be done by just giving phi = -phi?
its not transforming B at all? it's just literally tracing in the opposite direction. Phi is our time variable, so we run that backwards. Eg, starting at phi=0, going to...
i prefer that option, as it means phi=const planes are the same. If you flip B like you talked about I don't think that holds
yes, it doesn't care about field periods at all. What the poincare section looks like will depend on the choice of phi, as it does in the forward direction.
This isn't really an issue with `BoundaryError`, since force balance is NaN as well at rho=1. The issue is the non-integer power profile where the profile goes to zero, since...
One thought that might make future versions of this easier, is if we allow the `x_scale` the user passes in to be a pytree with the same structure as `things.params_dict`...