Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Readme
A name may be misleading -- the MTJ (Magnetic Tunnel Junctions) are not the only structures that may be simulated. The library allows for macromagnetic simulation of various multilayer spintronic structures. The package uses C++ implementation of (s)LLGS (stochastic Landau-Lifschitz-Gilbert-Slonczewski) equation with various field contributions included for instance: anisotropy, interlayer exchange coupling, demagnetisation, dipole fields etc. It is also possible to connect devices in parallel or in series to have electrically coupled arrays.
Check out the streamlit hosted demo here.
Installation is as easy as doing:
A recommended way is to use the pip
package manager and virtualenv (or conda).
virtualenv
(recommended):$(bash) python -m venv .my-venv
$(bash) source .my-venv/bin/activate
$(.my-venv) python -m pip install cmtj
pip
:python3 -m pip install cmtj
python3 -m pip install https://github.com/LemurPwned/cmtj.git
git clone https://github.com/LemurPwned/cmtj.git
python3 -m pip install .
The package requires (if utils
subpackage is used):
- numpy
- scipy
- matplotlib
graph TD;
cmtj --> models
cmtj --> utils
models --> domain_dynamics
models --> drivers
models --> ensemble
models --> general_sb
models --> oersted
utils --> optimization
utils --> parallel
utils --> plotting
utils --> procedures
utils --> resistance
utils --> solvers
utils --> linear
utils --> energy
utils --> filters
Documentation: https://lemurpwned.github.io/cmtj
There's a GUI version available! If you wish to conduct a subset of simulations, mainly for experimental modelling, please see the PyMag project. It uses CMTJ as a backend for fast computation.
We would appreciate citing either of the listed work if you decide to use the project or using the cite button on the right hand side panel of the repository:
cmtj: Simulation package for analysis of multilayer spintronic devices
@article{mojsiejuk_cmtj_2023,
title = {cmtj: Simulation package for analysis of multilayer spintronic devices},
volume = {9},
issn = {2057-3960},
url = {https://www.nature.com/articles/s41524-023-01002-x},
doi = {10.1038/s41524-023-01002-x},
pages = {54},
number = {1},
journaltitle = {npj Comput Mater},
author = {Mojsiejuk, Jakub and Ziętek, Sławomir and Grochot, Krzysztof and Skowroński, Witold and Stobiecki, Tomasz},
date = {2023-04-06},
}
Many thanks to professor Jack Sankey for his help with the development of thermal contributions, with inspiration from the macrospinmob project.
All contributions are welcome, please leave an issue if you've encountered any trouble with setup or running the library.
In the docker
directory there's a Dockerfile
that can be used to build a docker image with the library installed.
Dockerfile.app
is used for streamlit development.
There's a .pre-commit-config.yaml
that does some basic python and cpp lints and checks. More static analysis to come in the future.
This may be run with:
pre-commit run -v
or
pre-commit run -a (or --files core/* cmtj/*)
There are couple of stages to building the documentation
doxygen Doxyfile
This is mostly for the C++ documentation. Furture changes may couple C++ and Python docs.pybind11-stubgen
or mypy stubgen
with the latter being preferred now.
E.g. to generate Stack
module stubs we can go:
stubgen -m cmtj.stack -o target-stub-dir/
More info here: https://mypy.readthedocs.io/en/stable/stubgen.html.python3 docs/docgen.py
The deployment of the documentation is done via:
mkdocs gh-deploy
But first, worth a check:
mkdocs serve
FAQs
CMTJ - C Magnetic Tunnel Junctions.
We found that cmtj demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.