Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | ferromagnetic | = | .false. | ferromagnetic? |
|
logical, | public | :: | coll | = | .false. | collinear or noncollinear |
|
integer, | public | :: | nbin | = | -lo_hugeint | How many bins of different levels of disorder do we want? |
|
integer, | public | :: | nconf | = | -lo_hugeint | How many configurations per bin |
|
integer, | public | :: | nshell | = | -lo_hugeint | number of magnetic coordination shells |
|
type(lo_magdisorder_shell), | public, | dimension(:), allocatable | :: | sh | info about the coordination shells |
||
integer, | public, | dimension(:,:,:), allocatable | :: | collhistory | history of configurations |
||
real(kind=flyt), | public, | dimension(:,:,:,:), allocatable | :: | noncollhistory | |||
integer, | public, | dimension(:), allocatable | :: | initial_collinear_configuration | initial configuration |
||
real(kind=flyt), | public, | dimension(:,:), allocatable | :: | initial_noncollinear_configuration | |||
integer, | public, | dimension(:), allocatable | :: | sites | which sites are switchable? |
create the structure
set up all the coordination shells and stuff
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lo_magdisorder), | intent(out) | :: | mag | to keep track of all the coordination shells |
||
type(lo_symlist), | intent(in) | :: | sl | a symmetry table, useful for a bunch of stuff |
||
type(lo_crystalstructure), | intent(in) | :: | uc | unit cell |
||
type(lo_crystalstructure), | intent(in) | :: | ss | supercell |
get the correlation function
calculate the correlation function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lo_magdisorder), | intent(in) | :: | mag | list of shells and stuff |
||
integer, | intent(in), | optional | dimension(:) | :: | collconf | current collinear magnetic configuration |
real(kind=flyt), | intent(in), | optional | dimension(:,:) | :: | noncollconf | current noncollinear magnetic configuration |
real(kind=flyt), | intent(out), | dimension(:) | :: | cf | the correlation function per shell |
generate magnetic sqs
generate optimized configuration
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lo_magdisorder), | intent(inout) | :: | mag | shells and stuff |
||
type(lo_crystalstructure), | intent(in) | :: | ss | crystal structure |
||
integer, | intent(in) | :: | nconf | how many configurations do I want in each bin? |
||
integer, | intent(in) | :: | nbin | how many bins? |
dump to file
write(,) 'iter:',iter,'ss',tochar(flipatoms)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(lo_magdisorder), | intent(in) | :: | mag | shells and stuff |
||
type(lo_forcemap), | intent(in) | :: | map | |||
type(lo_crystalstructure), | intent(in) | :: | uc | |||
type(lo_crystalstructure), | intent(in) | :: | ss | |||
integer, | intent(in) | :: | nsubconf |