Bath symmetry operations

Description

Implements functions the user can use to enforce specific symmetry operations on the bath array.

Quick access

Routines:

break_symmetry_bath(), enforce_normal_bath(), impose_equal_lambda(), orb_equality_bath(), orb_symmetrize_bath(), ph_symmetrize_bath(), ph_trans_bath(), save_array_as_bath(), spin_symmetrize_bath()

Used modules

External modules

Subroutines and functions

interface  ed_bath_user/break_symmetry_bath(bath_, field, sign[, save])

Function to impose a specific symmetry breaking pattern into the energy levels of the bath. A common case is to find magnetic solution by breaking spin degeneracy of the levels.

  • bath is rank-1 array type: double precision with assumed size

Parameters:
  • bath_ (•) [real] – user bath array

  • field [real] – tiny symmetry breaking field

  • sign [real] – sign of the field

Options:

save [logical] – optional flag to save the output bath

interface  ed_bath_user/spin_symmetrize_bath(bath_[, save])

Function to impose a spin symmetry to the parameters of the bath. Enforces a non-magnetic solution

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

Options:

save [logical]

interface  ed_bath_user/orb_symmetrize_bath(bath_, orb1, orb2[, save])

Function to impose a orbital symmetry to the parameters of the bath. Enforces an orbital non-polarized solution. If two orbital indices orb1 and orb2 are passed symmetry is imposed only among such two orbitals

  • bath is rank-1 array type: double precision with assumed size

Warning

This operation requires the orbital to be degenerate.

Parameters:
  • bath_ (•) [real]

  • orb1 [integer]

  • orb2 [integer]

Options:

save [logical]

interface  ed_bath_user/orb_equality_bath(bath_[, indx, save])

Function to impose a orbital equality on the parameters of the bath.

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

Options:
  • indx [integer]

  • save [logical]

interface  ed_bath_user/ph_symmetrize_bath(bath_[, save])

Function to impose particle-hole symmetry to the parameters of the bath.

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

Options:

save [logical]

interface  ed_bath_user/ph_trans_bath(bath_[, save])

Function to perform particle-hole transformation to the parameters of the bath.

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

Options:

save [logical]

interface  ed_bath_user/enforce_normal_bath(bath_[, save])

Function to impose normal solution to the parameters of the bath, i.e. suppressed superconductivity if any.

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

Options:

save [logical]

interface  ed_bath_user/save_array_as_bath(bath_)

Write the bath parameters to a file following the convention of the internal data structure effective_bath.

  • bath is rank-1 array type: double precision with assumed size

Parameters:

bath_ (•) [real]

subroutine  ed_bath_user/impose_equal_lambda(bath_, ibath, lambdaindex_vec)

Function to impose \(\vec{\lambda}\) parameters to be equal to a given average of a subset of values lambdaindex_vec and for a specific bath element ibath if bath_type = replica , general.

Parameters:
  • bath_ (•) [real] – user bath array

  • ibath [integer] – index of the bath element

  • lambdaindex_vec (•) [integer] – (sub)set of indices \(i\) of \(\lambda_i\) to be averaged out