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
ed_input_vars: User-accessible input variablesed_vars_global: Global variable accessible throughout the codeed_aux_funx: Assortment of auxiliary procedures required throughout the codeed_bath_aux: Auxiliary routines for bath creation and manipulationed_bath_replica: Routines for replica bath manipulationed_bath_dim: Routines for bath dimension checksed_bath_dmft: Routines to allocate, read and write the bath
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.
bathis 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
bathis 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
orb1andorb2are passed symmetry is imposed only among such two orbitalsbathis 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.
bathis 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.
bathis 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.
bathis 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.
bathis 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.bathis 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_vecand for a specific bath elementibathifbath_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