ABACUS/include/ABACUS_State_Ensemble.h

44 satır
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