44 Zeilen
1.1 KiB
C++
44 Zeilen
1.1 KiB
C++
/**********************************************************
|
|
|
|
This software is part of J.-S. Caux's ABACUS library.
|
|
|
|
Copyright (c) J.-S. Caux.
|
|
|
|
-----------------------------------------------------------
|
|
|
|
File: ABACUS_State_Ensemble.h
|
|
|
|
Purpose: Define state ensembles.
|
|
|
|
***********************************************************/
|
|
|
|
#ifndef ABACUS_STATE_ENSEMBLE_H
|
|
#define ABACUS_STATE_ENSEMBLE_H
|
|
|
|
#include "ABACUS.h"
|
|
|
|
namespace ABACUS {
|
|
|
|
|
|
struct LiebLin_Diagonal_State_Ensemble {
|
|
|
|
int nstates;
|
|
Vect<LiebLin_Bethe_State> state;
|
|
Vect<DP> weight;
|
|
|
|
LiebLin_Diagonal_State_Ensemble ();
|
|
LiebLin_Diagonal_State_Ensemble (const LiebLin_Bethe_State& RefState, int nstates_req);
|
|
LiebLin_Diagonal_State_Ensemble (DP c_int, DP L, int N, const Root_Density& rho);
|
|
|
|
LiebLin_Diagonal_State_Ensemble& operator= (const LiebLin_Diagonal_State_Ensemble& rhs);
|
|
void Load (DP c_int, DP L, int N, const char* ensfile_Cstr);
|
|
void Save (const char* ensfile_Cstr);
|
|
};
|
|
|
|
LiebLin_Diagonal_State_Ensemble LiebLin_Thermal_Saddle_Point_Ensemble (DP c_int, DP L, int N, DP kBT);
|
|
|
|
|
|
} // namespace ABACUS
|
|
|
|
#endif
|