TBTK
MatsubaraSusceptibility.h
1
/* Copyright 2018 Kristofer Björnson
2
*
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
23
#ifndef COM_DAFER45_TBTK_SOLVER_MATSUBARA_SUSCEPTIBILITY
24
#define COM_DAFER45_TBTK_SOLVER_MATSUBARA_SUSCEPTIBILITY
25
26
#include "
TBTK/Property/GreensFunction.h
"
27
#include "
TBTK/RPA/MomentumSpaceContext.h
"
28
#include "TBTK/Solver/Susceptibility.h"
29
30
#include <complex>
31
32
namespace
TBTK
{
33
namespace
Solver{
34
35
class
MatsubaraSusceptibility
:
public
Susceptibility
{
36
public
:
38
MatsubaraSusceptibility
(
39
const
MomentumSpaceContext
&momentumSpaceContext,
40
const
Property::GreensFunction
&greensFunction
41
);
42
44
// virtual ~MatsubaraSusceptibility();
45
47
virtual
MatsubaraSusceptibility
*
createSlave
();
48
51
virtual
std::vector<std::complex<double>>
calculateSusceptibility
(
52
const
Index
&index,
53
const
std::vector<std::complex<double>> &energies
54
);
55
57
std::vector<std::complex<double>>
calculateSusceptibility
(
58
const
Index
&index
59
);
60
private
:
62
const
Property::GreensFunction
&greensFunction;
63
65
/* MatsubaraSusceptibility(
66
const MomentumSpaceContext &momentumSpaceContext,
67
int *kPlusQLookupTable,
68
double *fermiDiracLookupTable
69
);*/
70
72
/* template<bool useKPlusQLookupTable>
73
std::vector<std::complex<double>> calculateSusceptibilityMatsubara(
74
const Index &index,
75
const std::vector<std::complex<double>> &energies
76
);*/
77
};
78
79
};
//End of namespace Solver
80
};
//End of namespace TBTK
81
82
#endif
MomentumSpaceContext.h
Property container for density.
TBTK::Solver::Susceptibility
Definition:
Susceptibility.h:42
GreensFunction.h
Property container for the Green's function.
TBTK::Solver::MatsubaraSusceptibility
Definition:
MatsubaraSusceptibility.h:35
TBTK::Solver::MatsubaraSusceptibility::createSlave
virtual MatsubaraSusceptibility * createSlave()
TBTK::MomentumSpaceContext
Definition:
MomentumSpaceContext.h:32
TBTK::Index
Flexible physical index.
Definition:
Index.h:73
TBTK
Definition:
ModelFactory.h:35
TBTK::Solver::MatsubaraSusceptibility::calculateSusceptibility
virtual std::vector< std::complex< double > > calculateSusceptibility(const Index &index, const std::vector< std::complex< double >> &energies)
TBTK::Solver::MatsubaraSusceptibility::MatsubaraSusceptibility
MatsubaraSusceptibility(const MomentumSpaceContext &momentumSpaceContext, const Property::GreensFunction &greensFunction)
TBTK::Property::GreensFunction
Property container for the Green's function.
Definition:
GreensFunction.h:36
TBTK
Lib
include
TBTK
Solver
MatsubaraSusceptibility.h
Generated on Sat Oct 26 2019 14:53:49 for TBTK by
1.8.13