Skip to content
Snippets Groups Projects
  1. Oct 28, 2021
    • Nicolas Essing's avatar
      Cleaned up input parameters for nonco bfields. · bfe8b97c
      Nicolas Essing authored
      Remove some inputs that were moved to atom-wise switches in
      nonco_angle.dat and some for functionality that was not implemented.
      
      Changed the rest to form a more consistent interface.
      Keeping a switch to turn everything off. If that switch is turned on,
      this implies calculating the torque and constraint magnetism in general.
      The fields are calculated for all atoms where that is specified in
      the nonco_angle.dat.
      It does not anymore imply external fields: There is a new switch for that.
      If that is turned on, a file with external fields must be provided.
      Introduced a verbosity parameter for bfields, select between no output,
      summary and detailed information.
      
      See comments and documentation for details.
      
      Changed output depending on the new input parameter.
      bfe8b97c
    • Nicolas Essing's avatar
      Remove unused variables from bfield_data. · 23bab175
      Nicolas Essing authored
      The external field in spherical coordinates is only used for reading
      the input file, there is no need to store it next to the same field
      in cartheisan coordinates.
      
      Also renamed external bfield from "bfield" to "bfield_ext".
      23bab175
    • Nicolas Essing's avatar
      Bugfix concerning nonco bfield data. · ee23f391
      Nicolas Essing authored
      The bfields are now always allocated, as they are passed around to
      some subroutines even if they are not used. The types are small if
      they are not initialized, so that doesn't matter.
      Actually, I never got an error from this bug, but I think this
      might depend on the compiler.
      ee23f391
  2. Oct 27, 2021
  3. Oct 26, 2021
  4. Oct 25, 2021
  5. Oct 22, 2021
    • Nicolas Essing's avatar
      Working on output for constraint magnetic fields, still preparing. · 7f46ab12
      Nicolas Essing authored
      Moved the open of the bin.results1 file to the write subroutine,
      introduced a subroutine to calculate the record length and used
      in for both reading and writing.
      7f46ab12
    • Nicolas Essing's avatar
      Cleaning up the subroutine call. · 3a30d53f
      Nicolas Essing authored
      3a30d53f
    • Nicolas Essing's avatar
      Started working on output for constraint magnetic fields. · 3621b681
      Nicolas Essing authored
      I want to incorporate this in the routines where the nonco_angle_out.dat
      is written, which is done in a somewhat complicated way. In
      ProcessKKRresults (which is called for inMasterGroup, so once per
      atom), calculateDensities is called. This subroutine calls
      writeResults1File, in which some results are written to a binary file
      at an atom-specific position.
      
      As a first step, I moved the call to this subroutine out of
      calculateDensities to ProcessKKRresults.
      
      Compiles, does not crash, and gave the same bin.results1 file in
      a simple test run I made. Together with what I read in the code
      I'm quite confident it did not change anything.
      3621b681
  6. Oct 21, 2021
    • Nicolas Essing's avatar
      Renamed angle_fixed to angle_fix_mode · 21372d11
      Nicolas Essing authored
      This is more instructive as the interger is not a simple
      switch anymore.
      21372d11
    • Nicolas Essing's avatar
      Remove fix angle modes 4 and 5. · bf93e606
      Nicolas Essing authored
      Mode 4 was supposed to fix the direction using constraint magnetic
      fields but allowing the moment to change direction as far as the
      constraint field does not fullfill this yet. While this is in principle
      possible, the current implementation was wrong, as the goal angles
      are not stored separately, so a changed moment would also change the
      goal.
      This mode could be added in the future, but as it converges slower
      than mode 2 and to the same result, there is not much reason for that.
      
      Mode 5 was supposed to fix the direction by cancelling the torque,
      but allowing the moment to move. This does not depend at all on the
      given goal directions and does thus not make any sense.
      bf93e606
    • Nicolas Essing's avatar
      In CalculationData, now only the locally treated atoms are allocated. · 4def830e
      Nicolas Essing authored
      This keeps the array of bfields consistent with other atom-wise
      quantites.
      4def830e
  7. Oct 18, 2021
    • Nicolas Essing's avatar
    • Nicolas Essing's avatar
      Implemented torque. · 3a37ec68
      Nicolas Essing authored
      The subroutine calc_torque() in bfield/torque.f90 calculates the
      magnetic torque and iterates the selfconsistency loop for the
      constraint magnetic fields, based on torque or on the fields alone.
      
      The routine is called from rhovalnew() as in KKRhost. Adapted the
      inputs and included the call. Adapted wrappers_mod, where this
      routine is called.
      
      I had to move another subroutine from NonCollinearMagnetism_mod.F90
      to the helpers module to avoid circular dependencies. Did not change
      the routine otherwise.
      
      Included the new dependencies in the Makefile.
      
      Compiles and did not crash in a short test run,
      but not completely tested.
      3a37ec68
  8. Oct 14, 2021
    • Nicolas Essing's avatar
      Fixed a bug in constraint bfield calculation related to muffin tins. · faa0629e
      Nicolas Essing authored
      The muffin tin index was taken from the old mesh, which is not correct
      and can even give errors if it is larger than the total size in the
      new mesh.
      
      Introduced a function in the Chebyshev mesh module that calculates
      the index of the muffin tin radius. Formula for this is taken from
      KKRhost.
      Used this function where before the muffin tin index of the old mesh
      was used. Added the dependency on this function to the Makefile.
      faa0629e
  9. Oct 11, 2021
  10. Oct 08, 2021
  11. Oct 05, 2021
    • Nicolas Essing's avatar
      Continued working on the constraint fields inputs for KKRnano. · 08e62957
      Nicolas Essing authored
      The data is now stored at appropriate places and loaded in the
      corresponding part of the code.
      It is not used for any calculation yet.
      
      Code compiles, but is not tested in any other way.
      08e62957
    • Nicolas Essing's avatar
      Introduced the input parameters to control the constraint bfields. · ae4a07aa
      Nicolas Essing authored
      The parameters are taken from Sascha Brinkers presentation and should
      match what is implemented in KKRhost.
      The names are kept as close as possible to the inputcard keywords in
      KKRhost, thus they might differ from what they are called in the
      KKRhost code.
      
      Added the parameters to datastructures/InputParamsNew.txt and
      generated a new datastructures/InputParams_mod.F90 using
      the generate.sh skript.
      ae4a07aa
    • Nicolas Essing's avatar
      Fixed two small bugs in input generation · cc099999
      Nicolas Essing authored
      In generate.sh, the inputgenerator.py is now called as a local script.
      
      In inputgenerator.py, use /usr/bin/env to be independent of actual python installation dir.
      Explicitly use python2, which is needed by the skript and not always the default anymore.
      cc099999
  12. Oct 03, 2021
    • Nicolas Essing's avatar
      Fixed a bug in input reader. · 9e2e2ec9
      Nicolas Essing authored
      The parameter enable_quad_prec was introduced in InputParams_mod.F90,
      but not in InputParamsNew.txt, so it did not appear when recreating
      the Fortran module from the list of parameters.
      9e2e2ec9
  13. Sep 30, 2021
  14. Sep 28, 2021
Loading