Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/odarbelaeze/gmr
A giant magneto-resistance simulator written in C++
https://github.com/odarbelaeze/gmr
Last synced: 9 days ago
JSON representation
A giant magneto-resistance simulator written in C++
- Host: GitHub
- URL: https://github.com/odarbelaeze/gmr
- Owner: odarbelaeze
- License: mit
- Created: 2013-01-12T15:50:15.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-07-05T21:29:00.000Z (over 7 years ago)
- Last Synced: 2024-11-06T20:50:19.297Z (about 2 months ago)
- Language: C++
- Size: 5.94 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Gmr
===A C++ package for [Giant magneto-resistance][1] (GMR) simulations, featuring custom
hamiltonian contributions and data reporting throug a full [JsonCpp][2] integration.Introduction:
-------------[Giant magneto-resistance][1], i.e., the influence of an external magnetic field
in the resistivity of a material, was first discovered by **Albert Fert** and
**Peter Grünberg**. This phenomena is of great interest in electronics and
storage device development.The purpose of this package is to simulate this phenomena using the Monte Carlo
schema, at first using the well known Metropolis algorithm, and then using the
quite a bit more powerful Kinetic Monte Carlo schema (KMC).Hamiltonian Contributions:
--------------------------This package features a dynamic Hamiltonian contribution system, in wich the
contributions can be added dynamically without any major change in the
application's core functionality.The two main contributions used here are the **Heisenberg Hamiltonian
contribution** which takes into account the spin-spin interaction and the
**Electric potential Hamiltonian** wich takes into acount the electron-field interaction due to charge.Data reporting and analysis:
----------------------------This package also features custom data reporting, trough a callback function
triggered when an event occurs in the system.In terms of analysis, full correlation analysis is strongly recomended.
Building the package:
---------------------This package requires the [JsonCpp][2] library (`lib-jsoncpp-dev` if you are using
ubuntu or similar) and the [uBLAS][3] boost library (you can get it installig
`lib-boost-all-dev` in ubuntu or similar.Use, `make` or `make debug` to build the main excecutable and library,
`make test` to build the tests and examples in the `test` directory, and
`make clean` to remove the binaries of the main excecutable and library.[1]: http://en.wikipedia.org/wiki/Giant_magnetoresistance
[2]: http://jsoncpp.sourceforge.net/
[3]: http://www.boost.org/doc/libs/1_53_0/libs/numeric/ublas/doc/index.htm