3 icon indicating copy to clipboard operation
3 copied to clipboard

Shift() only exists for X-axis

Open JonathanMaes opened this issue 1 year ago • 0 comments

Currently, only the Shift(x) command can be used in input scripts, which shifts the magnetization along the X axis. Internally, shifts along Y and Z exist, but these are only used in a select few internal functions. If someday we wish to add support for shifting along all coordinate axes, we should:

  • [ ] Create ShiftMagF and ShiftMagB, storing the front (+z) and back (-z) inserted magnetization.
  • [ ] Implement cuda/shiftedgecarryz.cu.
  • [ ] Add Z direction to engine/shift.go and expose ShiftX(), ShiftY() and ShiftZ() for input scripts. ShiftX() is redundant as it is identical to Shift(), but Shift() has to stay for backwards compatibility.
  • [ ] Expose TotalShiftY and create TotalShiftZ. Ideally, TotalShift would be a vector, but that would break backwards compatibility, so keep TotalShift the same and add a redundant TotalShiftX.

JonathanMaes avatar Oct 11 '24 09:10 JonathanMaes