Boris v3.8 is now available for download.
List of changes:
- Bug fixes (various)
- Enabled Transport module fully (charge and spin) for atomistic meshes.
- Enabled SOTField and STField modules for atomistic meshes.
- Enabled (s)LLG-STT equations for atomistic meshes.
- MC algorithms now also work at zero temperature (as energy minimizer).
- Micromagnetic Monte Carlo algorithm for 2-sublattice meshes completed.
- Embedded Python scripting available:
- in localhost mode execute scripts in embedded mode directly
- “#pragma parallel for” directive in Python scripts when executed in embedded mode will split work between all available GPUs
- command line launch, e.g. $ ./Boris -s script.py
- allow injecting Python code to be executed after each iteration in computations, with virtually no overhead
- Boris console captures sys.stdout so Python print statements now show in Boris console
- in embedded mode matplotlib plots are drawn in separate popup windows
- Matplotlib backend available for Boris, which directs matplotlib output to png files instead of displaying them
- Improved command line options (run Boris -help from command line to see list)
- Improved Python scripting:
- Meshes can now be created as objects in Python; first one created replaces the default mesh, any after add new meshes.
- All commands which take meshname as a parameter, are now available in each mesh object, so specifying meshname is not needed when used in this way
- All mesh material parameters are available in each mesh object, and can be assigned value directly using the ‘=’ operator
- All commands which take both meshname and paramname as parameters, are now available in each mesh object for each parameter
- All mesh quantities (as found under display) are available in each mesh object
- Added composite commands for setting stages and data saving (setstages and savedata methods in NSClient).
- Improved stage control : nextstage, setschedulestage, runstage (can be used as ns.Run(stagenumber) in Python) commands
- Addded savedata command : particularly useful for embedded mode (e.g. for implementing custom data saving schedules)
- Improved SDesc solver efficiency and fixed a bug which affected multiscale simulations.
- TMR module added in insulator meshes – TMR calculated when separating 2 magnetic meshes.
- TMR options : cos dependence of R, or of G (slonczewski form)
- Extended spin transport solver to include tunnel barriers
- Tunnel barriers can include both tunnelling and metallic (pinholes) conduction
- Profile extraction (dp_getexactprofile) now wraps-around when exceeding mesh dimensions.
- New ‘modules’ command allows setting all required mesh modules in one call
- New mstrayfield module allows calculating stray fields from dipole meshes in each mesh, at given mesh resolution.
- shiftdipole command : allows shifting a dipole mesh
- dipolevelocity command : set a dipole velocity, so dipoles move during a dynamics simulation
- STfield module : non-constant polarization mode, allowing for more realistic macrospin STT, as well as allowing different STT parameters from top and bottom meshes.
- Demag field now works in a multiscale simulation, both with multilayered convolution and supermesh convolution – i.e. any combination of atomistic and micromagnetic meshes is now fully enabled (true multiscale).
- Global field pattern can be applied, which may be shifted during a simulation (loadovf2field, clearglobalfield, shiftglobalfield commands).
- Theromoelectric effect added to transport solver.
- Elastodynamics solver added. Magnetostriction and thermoelastic effects added to elastodynamics solver.
- TAMR added.