https://github.com/entron/snake-dmrg
Tip revision: 5581575de60596a13ea45e4ac96e981b761d95c0 authored by Cheng Guo on 18 March 2015, 18:47:37 UTC
Update README.md
Update README.md
Tip revision: 5581575
AdaptiveTimeDependentDMRG.cpp
#include "AdaptiveTimeDependentDMRG.h"
snake::physics::AdaptiveTimeDependentDMRG::AdaptiveTimeDependentDMRG(snake::physics::SuperChain& superChain)
{
m_ChainLength = superChain.sitenum;
m_SuperChain = &superChain;
}
void snake::physics::AdaptiveTimeDependentDMRG::readParameters()
{
std::cout<<"==========Reading model parameters for t-DMRG from Matlab generated files."<<std::endl;
std::string fname;
fname="./model/rt_T0.dat";
std::ifstream fin(fname.c_str(),std::ios_base::in|std::ios_base::binary);
fin.read((char*)&m_StepNum,sizeof(int));
snake::math::ReadOperators(fin,m_LocalUt,m_ChainLength-1);
fin.close();
fname="./model/rt_H1_T0.dat";
fin.open(fname.c_str(),std::ios_base::in|std::ios_base::binary);
snake::math::ReadOperators(fin,m_TimeDependentImpurityUt,m_StepNum);
fin.close();
std::cout<<"tDMRGStepNum="<<m_StepNum<<std::endl;
}
void snake::physics::AdaptiveTimeDependentDMRG::run()
{
readParameters();
std::cout<<"==========Start t-DMRG."<<std::endl;
m_SuperChain->creatoutputfiles();
m_SuperChain->evolve(m_TimeDependentImpurityUt,m_LocalUt,m_StepNum);
m_SuperChain->closeoutputfiles();
delete m_SuperChain;
std::cout<<"==========t-DMRG complete."<<std::endl<<std::endl;
}