Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - mec07/PyLATO: Noncollinear Magnetic Tight Binding code · GitHub
Skip to content

Repository files navigation

PyLATO

Noncollinear Magnetic Tight Binding code

Created on Sunday April 12, 2015

@author: Andrew Horsfield, Marc Coury and Max Boleininger

Currently this programme works with Python 3.

Setup

First you will want to clone this repository from github and then you will want to create a python virtual environment (to find out more about virtual environments please refer to: http://docs.python-guide.org/en/latest/dev/virtualenvs/). The following instructions will work for Linux and OSX operating systems. It is of course possible to run this programme from a Windows machine but you will have to perform the Windows equivalent instructions.

To clone this repository type in a terminal window:

git clone git@github.com:mec07/PyLATO.git

For a python 3 virtual environment you will need to install the virtualenv package. Type in a terminal window:

pip install virtualenv

(on some computers you will have to specify python 3 pip by using pip3 instead of just pip --- you can check your pip version using: pip --version). When you are inside the PyLATO folder you can start the virtual environment and install all the packages type in a terminal window:

python -m venv venv
source venv/bin/activate
pip install -r requirements-test.txt

(on some computers you will to specify python 3 by using python3 instead of python --- you can check your python version using: python --version). To exit from the virtual environment just type in a terminal window:

deactivate

Tests

After you have setup the repository, and have activated the virtual environment you can run the tests. Some tests have been added recently. To run the tests type in a terminal window:

pytest

To run the behave test suite, type the following into the terminal:

behave

You should see the tests get executed and see that all of the tests have passed. You can also run them both using the make command:

make test

Running the code

The default job definition file that PyLATO uses is JobDef.json, so if you just run

pylato/main.py

that is what it will look for. You can specify an input file by including it in the command to run PyLATO on the commandline:

pylato/main.py specificationfile.json

where "specificationfile.json" can be any name as long as it's a json file.

Set up a simulation

To alter the system being simulated you can do one of the following:

  • Alter settings in the specification file. See the example, JobDef.json.
  • Alter the parameters of the canonical, exponential or hydrocarbon tight binding model: change the corresponding json file in the models folder.
  • Change the tight binding model being used: Add a json and a py file to the models folder, following the example of the files currently present.

Units

Units used are:

  • Length -- Angstroms
  • Energy -- eV

About

Noncollinear Magnetic Tight Binding code

Resources

Stars

3 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages