DEHam: First Public Release
Authors/Creators
- 1. GUIHERY
- 2. CHILKURI
- 3. ROLAND
- 4. SUAUD
- 5. SCEMAMA
Description
Double Exchange Hamiltonian
============================
The present code is a Fortran library to provide the Modified Double-Exchange Hamiltonian for systems with various geometries. The subroutine generates a library which can be used with custom or standard parallel/serial matrix diagonalization routines in order to get the spectrum of the Hamiltonian. The present code is capable of generating very large Hamiltonian matrix elements in a reasonable time. Further optimization of the subroutines is under progress.
Dependencies
--------------
1. Dependencies
1. [PETSc](https://www.mcs.anl.gov/petsc/documentation/installation.html) and [SLEPc](http://slepc.upv.es/documentation/current/docs/instal.htm)
2. [IRPF90](https://github.com/scemama/irpf90)
Building
---------
In order to build the source code one first needs to compile IRPF90 following the instructions given below:
* Install and build IFORTRAN/use GFORTRAN
* clone irpf90: https://github.com/scemama/irpf90.git
* build irpf90 and source it After building IRPF90 where the systems knows the location of the irpf90 executable one can simply compile the code with:
* make
Libraries
----------
The present code contains a subroutine called "unit_l1" which can be used in the following way with a C++/Fortran library.
call unit_l1(tl1, & tl2, & tktyp, & tistart, & txjjxy, & txjjz , & txtt , & tcountcol, & tntrou, & tcol,tval)
The inputs to the subroutine consist of the following variables: 1. The `tl1` and `tl2` are arrays that consist of the numbers of the two orbitals that interact and `tktyp` (also an array) is the type of exchange interaction between them. 2. The three variables `txjjxy`, `txjjz` and `txtt` represent the values of the coulomb integral, exchange integral and hopping integral respectively for the various types of orbitals. 3. `tistart` is the row number. The program provides the non-zero Hamiltonian matrix elements of the given row. 4. The elements are stored in the two vectors `tcol` and `tval`, where `tcol` contains the column adress and `tval` contains the non-zero value. This subroutine can be used in a parallel driver program written in C++ which diagonalizes the Hamiltonian matrix.
Notes
Files
slepc_version-0.0.1.zip
Files
(19.5 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:fcd1fc49874c2a5b0cf430bd5a5b3bf8
|
19.5 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/v1j4y/slepc_version/tree/0.0.1 (URL)
References
- High-Spin Chains and Crowns from Double-Exchange Mechanism [doi:10.3390/cryst6040039]