You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Below is the current changelog for the next mumax³ update, 3.12, and a list of potential TODO's.
Changelog
New functionality in input scripts
New functions
CustomQuantity(slice): turns a *data.Slice into a Quantity, allowing more complex fields to be used in operations like Add, Mul, ... without having to abuse builtin quantities. A slice can be made with, e.g., NewScalarMask, LoadFile, ... Feature: Custom Quantities #384 by @jplauzie.
ext_grainboundaries(startregion, numgrains, offset, boundarythickness, zeroflag): generates grain boundaries as regions. Given a distribution of regions, the region index of cells in regions startregion to startregion+numgrains that lay within boundarythickness of a region boundary will be incremented by offset. See also: ext_grainboundary_edgeX etc. Feature: Grain Boundaries #387 by @jplauzie.
Superball(diameter, p): smooth interpolation between cube (p=∞), circle (p=1), octahedron (p=0.5) and beyond. add superball shape #374 by @JLeliaert.
Line(x1, y1, z1, x2, y2, z2, diam, linecap) and Line2D(x1, y1, x2, y2, diam, linecap): lines of a given diameter in 3D and 2D, respectively, with a few different options for the line caps. New shapes: Line and Line2D #383 by @JonathanMaes.
ext_AllRegionShapes(): returns a function func(int) which, given a region index, returns its corresponding Shape. Feature: RegionShapes #385 by @jplauzie.
ext_grainboundary_edgeX, Y, Z: affects the behavior of ext_grainboundaries() at the edges of the simulation box. Feature: Grain Boundaries #387 by @jplauzie.
Issue details
Below is the current changelog for the next mumax³ update, 3.12, and a list of potential TODO's.
Changelog
New functionality in input scripts
New functions
CustomQuantity(slice): turns a*data.Sliceinto aQuantity, allowing more complex fields to be used in operations likeAdd,Mul, ... without having to abuse builtin quantities. A slice can be made with, e.g.,NewScalarMask,LoadFile, ...Feature: Custom Quantities #384 by @jplauzie.
CellIndices(): returns a 4D*data.Slicewith the indexix, iy, izof each cell, starting at 0 in the (-X, -Y, -Z) corner.Feature: Custom Quantities #384 by @JonathanMaes.
CurrentMag(): returns a snapshot of the current magnetization as aConfig.Feature: Wall clock timers for RunWhile, Relax, Minimize #388 by @jplauzie.
ext_grainboundaries(startregion, numgrains, offset, boundarythickness, zeroflag): generates grain boundaries as regions. Given a distribution of regions, the region index of cells in regionsstartregiontostartregion+numgrainsthat lay withinboundarythicknessof a region boundary will be incremented byoffset. See also:ext_grainboundary_edgeXetc.Feature: Grain Boundaries #387 by @jplauzie.
ExpectB(msg, have, want): technical function for test scripts that panics if twobools are not equal.Add ExpectB and bool2float functions #392 by @JonathanMaes.
New
ShapesSuperball(diameter, p): smooth interpolation between cube (p=∞), circle (p=1), octahedron (p=0.5) and beyond.add superball shape #374 by @JLeliaert.
Line(x1, y1, z1, x2, y2, z2, diam, linecap)andLine2D(x1, y1, x2, y2, diam, linecap): lines of a given diameter in 3D and 2D, respectively, with a few different options for the line caps.New shapes: Line and Line2D #383 by @JonathanMaes.
VoxelShape(voxels, dx, dy, dz): elements >0.5 in the slicevoxelsbecomedxdydzcuboids at the corresponding position, with the center of the slice at the origin.New build system migration (issue #298 + 2 more improvements) #311 by @Artemkth introduced this internally.
Re-expose Voxelshape to user #390 by @jplauzie now exposes this shape to users.
ext_AllRegionShapes(): returns a functionfunc(int)which, given a region index, returns its correspondingShape.Feature: RegionShapes #385 by @jplauzie.
ext_geomEdge(axis): returns aShapeof all cells on an edge of the geometry.axiscan be+X,-X,+Y,-Y,+Z,-Z.Feature: GeometryEdgeFinder #386 by @jplauzie.
New variables
MinimizeWallClockTimeandRelaxWallClockTime: if set to a positive value,Minimize()andRelax()will be interrupted after this amount of real-time seconds unless they converge earlier.Feature: Wall clock timers for RunWhile, Relax, Minimize #388 by @jplauzie.
NREGION: read-only value representing the maximum number of regions (=256).Bugfix: fix typo for 255 check in regions.go #389 by @jplauzie.
ext_grainboundary_edgeX,Y,Z: affects the behavior ofext_grainboundaries()at the edges of the simulation box.Feature: Grain Boundaries #387 by @jplauzie.
Other changes
Minimize()andRelax()now return a boolean value indicating whether convergence was achieved.Feature: Wall clock timers for RunWhile, Relax, Minimize #388 by @jplauzie.
Bugfixes
B_demagunavailable whereMsat == 0, preventing users from obtaining stray fields. Fixed in Fix bug from #372 that made B_demag==0 where Msat==0 #381, originally reported by @ac2290.ExchCouplingandDindCouplingwere 4x or 6x larger than they should be. Fixed in Fix #376: ExchCoupling and DindCoupling are factor 4 or 6 too large #377, originally reported by Elizabeth Martín Jefremovas.-httpflag had no effect on GUI port when running multiple files in a queue (e.g.,mumax3 -http="" file1 file2served GUI regardless).log.txt. Fixed in Allow absurd aspect ratios #382.To do
feature/dmitensor(and possiblyfeature/spatial_quantity) branches.