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

mumax3.11 #338

Open
2 tasks
JonathanMaes opened this issue Oct 14, 2024 · 3 comments
Open
2 tasks

mumax3.11 #338

JonathanMaes opened this issue Oct 14, 2024 · 3 comments
Milestone

Comments

@JonathanMaes
Copy link
Contributor

JonathanMaes commented Oct 14, 2024

A housekeeping update is currently being prepared for mumax³.

Important

In mumax 3.11, GPUs with compute capability <5.0 will no longer be able to run the mumax³ pre-compiled binaries that are provided on the mumax³ download page. Those binaries will only be compiled with CUDA 10.0 and higher. Check your GPU's compute capability with nvidia-smi --query-gpu="compute_cap" --format="csv".

Changelog

New functionality in input scripts

Functions

Boolean parameters

  • EdgeCarryShift (default false): if set to true, calling Shift(x) uses the values of m at the border to set the magnetization of the introduced cells. For cells where this border was outside the geometry, ShiftMagL/R/D/U is used.
    Feature/fudgeShift #316 by @jsampaio.
  • ext_grainCutShape (default false): if set to true, calling ext_make3Dgrains() on a certain shape will complete all voronoi grains whose centre lies within the shape, while grains whose centre lies outside the shape will be cut out.
    Feature/complete grains at shape edge #335 by @JLeliaert.

Other changes

Bugfixes

To do

  • Merge feature/dmitensor (and possibly feature/spatial_quantity) branches.
  • Finish issues and PRs in 3.11 milestone.
@JonathanMaes JonathanMaes added this to the 3.11 milestone Oct 14, 2024
@jplauzie
Copy link

Hi,

Thanks for this.

Are you taking suggestions? There's a few features (in places like closed pull requests) and the like that would be very useful to have, and hopefully are easy/complete enough to get across the finish line without too much work. But I don't want to dump a ton of extra work onto you :)

@JonathanMaes
Copy link
Contributor Author

If there are certain PRs etc. you would like to see included, let us know, then we can consider if they should be added to 3.11.

@jplauzie
Copy link

jplauzie commented Oct 18, 2024

Two nice features would be:

  1. Allowing the user to pass a file for arbitrary time modulation would be useful, as in Feature/Time series signal from file support #271 (comment) . It seems Jeroen might have already finished this, and it may just need to be merged and exposed to the user/API?

  2. Similarly, currently there is no way for the user to make an arbitrary spatially varying custom quantity. One can only make quantities from existing quantities, and Const() or Constvector(). It seems like this pull request might be close to allowing that: Feature/spatial_quantity #289 (comment) . However, there might be an easier way, by simply giving the user the ability to promote an arbitrary slice to a Quantity, similar to how @xfong has implemented it in the umagnus fork here: (related test file here) . This would be useful, for instance if one wants to a custom field implementation of a uniaxial anisotropy, but it varies spatially across the sample.

There are a couple other features that would be nice, but are probably beyond the scope of this update:

  1. Currently the custom fields feature does not seem to consider boundary conditions. I'm not sure if there's an easy way to expose this to the user, but it might be nice. You can somewhat do this currently with Masked() I suppose, but only with a pre-existing mumax Shapes. Although, if fully custom spatially-varying quantities mentioned above are allowed, that should solve this at the same time.

  2. In the announcement for the minimize() function, it mentions that it doesn't do a line search once it starts BB. I was never able to find any reasoning for this, so I was wondering if anyone ever looked to see if this might be important? This seems like it might help in cases where minimizer gets stuck, but my intuition for this is not strong, perhaps it is only a marginal benefit. Minimize works so well it seems like it never really came up.

  3. Last, requests for anisotropic DMI have been fairly common. I'm not sure if it is as simple as splitting d into (+/-?)d_x, d_y,d_z, but if so (and there isn't too much impact on e.g. memory usage) that would be nice to have. Although again, this can probably be done via custom fields.

Those are all I can think of off the top of my head. I'll try to see if I can think of anymore.

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

No branches or pull requests

2 participants