40 line
1.1 KiB
C++
40 line
1.1 KiB
C++
/**********************************************************
|
|
|
|
This software is part of J.-S. Caux's ABACUS library.
|
|
|
|
Copyright (c) J.-S. Caux.
|
|
|
|
-----------------------------------------------------------
|
|
|
|
File: LiebLin_TBA_fixed_nbar.cc
|
|
|
|
Purpose: solves the TBA equations for Lieb-Liniger
|
|
|
|
***********************************************************/
|
|
|
|
#include "ABACUS.h"
|
|
|
|
using namespace std;
|
|
using namespace ABACUS;
|
|
|
|
int main(int argc, const char* argv[])
|
|
{
|
|
if (argc != 6) ABACUSerror("Wrong number of arguments. Use c(best to set to 1), nbar, kBT, req_diff, Max_Secs");
|
|
|
|
DP c_int = atof(argv[1]);
|
|
DP nbar = atof(argv[2]);
|
|
DP kBT = atof(argv[3]);
|
|
DP req_diff = atof(argv[4]);
|
|
int Max_Secs = atoi(argv[5]);
|
|
|
|
if (c_int <= 0.0) ABACUSerror("Give a strictly positive c.");
|
|
if (kBT <= 0.0) ABACUSerror("Negative T ? Not for the LiebLin gas.");
|
|
if (Max_Secs < 10) ABACUSerror("Give more time.");
|
|
|
|
LiebLin_TBA_Solution solution = LiebLin_TBA_Solution_fixed_nbar (c_int, nbar, kBT, req_diff, Max_Secs);
|
|
|
|
cout << solution.nbar << "\t" << solution.ebar << "\t" << solution.sbar << "\t";
|
|
|
|
return(0);
|
|
}
|