Skip to content

Shift() only exists for X-axis #337

@JonathanMaes

Description

@JonathanMaes

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions