25 #ifndef COM_DAFER45_TBTK_CHEBYSHEV_SOLVER 26 #define COM_DAFER45_TBTK_CHEBYSHEV_SOLVER 76 std::vector<Index> &to,
78 std::complex<double> *coefficients,
80 double broadening = 0.0001
95 std::complex<double> *coefficients,
97 double broadening = 0.0001
113 std::vector<Index> &to,
115 std::complex<double> *coefficients,
117 double broadening = 0.0001
132 std::complex<double> *coefficients,
134 double broadening = 0.0001
141 std::complex<double> *coefficients,
143 double componentCutoff,
144 double broadening = 0.0001
157 int energyResolution,
158 double lowerBound = -1.,
159 double upperBound = 1.
192 std::complex<double> *greensFunction,
193 std::complex<double> *coefficients,
195 int energyResolution,
196 double lowerBound = -1.,
197 double upperBound = 1.,
212 std::complex<double> *greensFunction,
213 std::complex<double> *coefficients,
228 std::complex<double> *greensFunction,
229 std::complex<double> *coefficients,
245 double distanceToEdge,
255 void setDamping(std::complex<double> *damping);
257 void setTalkative(
bool isTalkative);
266 std::complex<double> *damping;
270 std::complex<double> **generatingFunctionLookupTable;
273 std::complex<double> ***generatingFunctionLookupTable_device;
277 int lookupTableNumCoefficients;
281 int lookupTableResolution;
325 this->scaleFactor = scaleFactor;
333 this->damping = damping;
336 inline void ChebyshevSolver::setTalkative(
bool isTalkative){
337 this->isTalkative = isTalkative;
void calculateCoefficients(std::vector< Index > &to, Index from, std::complex< double > *coefficients, int numCoefficients, double broadening=0.0001)
void loadLookupTableGPU()
Definition: ChebyshevSolver.h:43
void generateGreensFunctionGPU(std::complex< double > *greensFunction, std::complex< double > *coefficients, GreensFunctionType type=GreensFunctionType::Retarded)
Model * getModel()
Definition: ChebyshevSolver.h:320
void calculateCoefficientsWithCutoff(Index to, Index from, std::complex< double > *coefficients, int numCoefficients, double componentCutoff, double broadening=0.0001)
Definition: ChebyshevSolver.cpp:408
double getScaleFactor()
Definition: ChebyshevSolver.h:328
void generateLookupTable(int numCoefficeints, int energyResolution, double lowerBound=-1., double upperBound=1.)
Definition: ChebyshevSolver.cpp:578
void generateGreensFunction(std::complex< double > *greensFunction, std::complex< double > *coefficients, int numCoefficients, int energyResolution, double lowerBound=-1., double upperBound=1., GreensFunctionType type=GreensFunctionType::Retarded)
void setModel(Model *model)
Definition: ChebyshevSolver.cpp:86
void setDamping(std::complex< double > *damping)
Definition: ChebyshevSolver.h:332
~ChebyshevSolver()
Definition: ChebyshevSolver.cpp:67
Definition: AbstractOperator.h:26
std::complex< double > getMonolopoulosABCDamping(double distanceToEdge, double boundarySize, double e=1., double c=2.62)
Definition: ChebyshevSolver.cpp:797
void destroyLookupTableGPU()
void setScaleFactor(double scaleFactor)
Definition: ChebyshevSolver.h:324
ChebyshevSolver()
Definition: ChebyshevSolver.cpp:46
GreensFunctionType
Definition: ChebyshevSolver.h:171
void calculateCoefficientsGPU(std::vector< Index > &to, Index from, std::complex< double > *coefficients, int numCoefficients, double broadening=0.0001)