subroutine init_guga_plugin(fcidump_path, stot_, t_testmode_, nel_, nbasis_, &
nSpatOrbs_)
character(*), intent(in) :: fcidump_path
integer, intent(in), optional :: stot_
logical, intent(in), optional :: t_testmode_
integer, intent(in), optional :: nel_
integer, intent(in), optional :: nbasis_
integer, intent(in), optional :: nSpatOrbs_
logical :: t_testmode
integer(int64) :: umatsize
def_default(t_testmode, t_testmode_, .false.)
def_default(nel, nel_, -1)
def_default(nbasis, nbasis_, 0)
def_default(nSpatOrbs, nSpatOrbs_, 0)
def_default(stot, stot_, 0)
umatsize = 0
lms = 0
tGUGA = .true.
tRDMonfly = .true.
tFillingStochRDMOnFly = .true.
call init_bit_rep()
tGen_sym_guga_mol = .true.
tgen_guga_weighted = .true.
tdeferred_umat2d = .true.
tumat2d = .false.
! set this to false before the init to setup all the ilut variables
tExplicitAllRDM = .false.
fcidump_name = fcidump_path
UMatEps = 1.0e-8
tStoreSpinOrbs = .false.
tTransGTID = .false.
tReadFreeFormat = .true.
call MPIInit(.false.)
call dSFMT_init(8)
call SetCalcDefaults()
call SetSysDefaults()
tReadInt = .true.
if(t_testmode) call generate_uniform_integrals()
get_umat_el => get_umat_el_normal
call initfromfcid(nel,nbasismax,nBasis,lms,.false.)
call GetUMatSize(nBasis, umatsize)
allocate(TMat2d(nBasis, nBasis))
call shared_allocate_mpi(umat_win, umat, (/umatsize/))
UMat = 0.0_dp
call SysInit()
call readfciint(UMat,umat_win,nBasis,ecore)
! required: set up the spin info
call DetInit()
call DetCalcInit()
! call SpinOrbSymSetup()
call DetPreFreezeInit()
call CalcInit()
call init_guga()
end subroutine init_guga_plugin