Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/fudgeShift #316

Merged
merged 8 commits into from
Oct 11, 2024
Merged

Feature/fudgeShift #316

merged 8 commits into from
Oct 11, 2024

Conversation

jsampaio
Copy link
Contributor

@jsampaio jsampaio commented Nov 7, 2022

A cleaned-up version of pull request #221.

This change introduces a new mode for the shift the problem window. In this new mode, the values of m in the introduced cells are copied from the cells at the border, instead of the values of ShiftMagL/R (current mode). This new mode is activated by setting FudgeShift = true (false by default).

When using auto-shifting procedures (e.g. ext_centerWall), it is still necessary to set the parameters ShiftMagL/R because they're used to determine the shift direction (as is the previous behaviour).

Modifications:

  • In engine/shift.go: Added the user-accessible flag ‘FudgeShift’ to activate this shift mode. Modified engine.Shift.
  • In the (cuda) implementation of the shift: new functions: cuda.ShiftFudgeX, cuda.ShiftFudgeY (and related .cu).
  • added test/fudgeShift.mx3 to test to check if it behaves as announced.

Adds a new shift mode, that copies the values at the border cells when shifting the magnetisation instead of using the values stored in ShiftMagL/R.
Modified functions: engine.Shift
new functions: cuda.ShiftFudgeX, cuda.ShiftFudgeY (and related .cu, .ptx files).
Adds a new shift mode, that copies the values at the border cells when shifting the magnetisation instead of using the values stored in ShiftMagL/R.
Modified functions: engine.Shift
new functions: cuda.ShiftFudgeX, cuda.ShiftFudgeY (and related .cu, .ptx files).
Adds a new shift mode, that copies the values at the border cells when shifting the magnetisation instead of using the values stored in ShiftMagL/R.
Modified functions: engine.Shift
new functions: cuda.ShiftFudgeX, cuda.ShiftFudgeY (and related .cu, .ptx files).
Adds a new shift mode, that copies the values at the border cells when shifting the magnetisation instead of using the values stored in ShiftMagL/R.
Modified functions: engine.Shift
new functions: cuda.ShiftFudgeX, cuda.ShiftFudgeY (and related .cu, .ptx files).
Tests fudgeShift, a new shift mode that copies the values at the border cells when shifting the magnetisation instead of using the values stored in ShiftMagL/R.
@JonathanMaes
Copy link
Contributor

Thank you for your contribution, and apologies for the late response to your pull request.
Is there a reason why the fudgeShift is only implemented for the X and Y directions, but not Z?

@JonathanMaes JonathanMaes changed the base branch from master to 3.11 October 4, 2024 15:06
@JonathanMaes
Copy link
Contributor

We decided to rename the boolean to EdgeCarryShift.
I understand now why you did not implement the Z-shift; only a shift along X is available in the input scripts (#337).

@JonathanMaes JonathanMaes merged commit 7999c99 into mumax:3.11 Oct 11, 2024
@JonathanMaes JonathanMaes added this to the 3.11 milestone Oct 11, 2024
This was referenced Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants