Skip to content

add openbc#195

Merged
godsic merged 4 commits intomasterfrom
feature/openbc
Sep 28, 2018
Merged

add openbc#195
godsic merged 4 commits intomasterfrom
feature/openbc

Conversation

@JeroenMulkers
Copy link
Copy Markdown
Collaborator

@JeroenMulkers JeroenMulkers commented Sep 27, 2018

A few notes about the implementation of open boundary conditions:

  • The default is "openbc = false". So the default behaviour matches the old behaviour.
  • The Neumann BC and open BC are equivalent for non-chiral systems. Hence, I only implemented open BC in the dmi and dmibulk kernels.
  • The difference of relaxed magnetization configurations with Neumann and open BC converges to zero for a decreasing cell size.
  • test/dmienergy-vardmi.mx3 and test/dmienergy.mx3 fail when using open BC. By making the error tolerance a bit less strict, also these tests succeed.

Conclusion: so far it seems to me that the difference between open and Neumann BC is rather small and, for relaxed magnetizations, becomes even smaller when one decreases the cell size.

(kernels are not yet recompiled)

@JeroenMulkers JeroenMulkers mentioned this pull request Sep 27, 2018
@godsic
Copy link
Copy Markdown
Contributor

godsic commented Sep 28, 2018

@JeroenMulkers Travis fails, could you please rebase against master and double check it compiles?

@JeroenMulkers
Copy link
Copy Markdown
Collaborator Author

Rebuild the kernels. Should be OK now.

@JLeliaert
Copy link
Copy Markdown
Contributor

Travis succeeds

@JLeliaert JLeliaert closed this Sep 28, 2018
@godsic godsic reopened this Sep 28, 2018
@godsic
Copy link
Copy Markdown
Contributor

godsic commented Sep 28, 2018

@JeroenMulkers Are there any tests of openbc in particular?

Copy link
Copy Markdown
Contributor

@godsic godsic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Are there any tests of openbc in particular?
  • Can we make OpenBC optional down to the axis, instead of forcing it everywhere?

@JeroenMulkers
Copy link
Copy Markdown
Collaborator Author

JeroenMulkers commented Sep 28, 2018 via email

@godsic
Copy link
Copy Markdown
Contributor

godsic commented Sep 28, 2018

@JeroenMulkers
Copy link
Copy Markdown
Collaborator Author

I added a test for the open BC based on the '1D' standard problem proposed by Cortés-Ortuño et al. See test/openbc.mx3 for more details.

@godsic
Copy link
Copy Markdown
Contributor

godsic commented Sep 28, 2018

@JeroenMulkers I am more comfortable with 1e-5 tolerance. Can you achieve it with smaller cells? Then, would you be so kind to make three identical tests, but aligned along x, y and z?

@JeroenMulkers
Copy link
Copy Markdown
Collaborator Author

I could bring the tolerance down to 1e-3. The analytical result gives the canting at the edge of an infinitely long wire, whereas we of course simulate a finite wire. Therefore, it is hard to let the simulated canting converge to the analytical one.

It is easy to shown that a 1D model can be simulated by using one row of cells (let's say in the x direction) and periodic boundary conditions in the y direction. Hence, we can also compare the case with open and periodic boundary conditions. In this case, a tolerance of 1e-5 can be achieved.

I have added the case where the nano wire is aligned along the y direction. There is no canting at the edges of a nano wire along the z direction, so this case is not tested.

@godsic godsic merged commit 7bb19fe into master Sep 28, 2018
@JonathanMaes JonathanMaes deleted the feature/openbc branch November 5, 2024 10:49
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.

3 participants