Skip to content

RolandMacDoland/big_bath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

big_bath
========

This code is intended to generate the interations between
spin systems embedded in a bath of spin impurities.

***Last modified version 09/03/2015***

Big Bath - Fortran library for spin interaction generation
==========================================================

Generates all interactions (hyperfine, dipolar) between spins
in a bath. 

- Includes the generation of a crystal structure.

Installation
============

Requirements:

- Intel or GNU fortran compiler
- Git
- Make/Cmake

The following instructions are for a Unix-like environment
without root privileges.

In a terminal,

```sh
mkdir big_bath
cd big_bath
git clone https://github.com/UCLGuichard/big_bath
```

This gets the code. Now let's build it.

```sh
mkdir ./bin
mkdir ./build
cd ./build
cmake ..
make
```

If all went well, you should now have created an executable big_bath.exe in 
the ./bin directory.

You may wish to modify the CMakeLists.txt to adapt to your own system.

***big_bath has been tested on Scientific Linux***

Usage
-----

Run the executable big_bath.exe in the ./bin directory.
It takes the arguments defined in the input files 

System.inp      ! Sets the properties of the system.

in the ./input folder. To do so, just rename System_example.inp
to System.inp and modify it for your own purposes.

Testing
-------

A bundle of unit tests is implemented in the directory ./unit_test.
To run all of them at once, follow the instructions

```sh
cd ./unit_test
mkdir ./bin
mkdir ./build
cd ./build
cmake ..
make
```
This creates an executable in the ./bin directory. Then, run it

```sh
cd ../bin
./unit_test.exe
```

It should display a serie of test for each subroutine with 'ok'. 
Output files are also created which allows to compare with the benchmarks
in the ./benchmark directory.

Example
-------

Getting help
------------

Documentation
=============

Requirements:

- Dot (contained in Graphviz package)
- LaTeX compiler (pdflatex)

You can generate a full documentation of big_bath by using doxygen with 
the Doxyfile:

doxygen Doxyfile

This will produce both an html call tree and a pdf LaTeX documentation in the
doc directory.

License
=======

See LICENSE file for more details.

Citation
========

See CITATION file for more details.

Version
=======

1.0 (in progress)

History
=======

big_bath is originally written by R. Guichard starting in 2015. Checking has
been performed with Setrak Balian's C++ spindec code:

http://www.bitbucket.org/sbalian/spindec

Acknowledgements
================

- Prof. Tania Monteiro
- Setrak Balian

Contact
=======

[Roland Guichard] - <r.guichard@ucl.ac.uk>


About

big_bath project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published