sisi4s
Loading...
Searching...
No Matches
sisi4s::FiniteSizeCorrection Class Reference

#include <FiniteSizeCorrection.hpp>

Inheritance diagram for sisi4s::FiniteSizeCorrection:
Collaboration diagram for sisi4s::FiniteSizeCorrection:

Classes

class  Momentum
 

Public Member Functions

virtual std::string getName ()
 
 FiniteSizeCorrection (std::vector< Argument > const &argumentList)
 
virtual ~FiniteSizeCorrection ()
 
virtual void run ()
 Calculates the finite size correction.
 
virtual void dryRun ()
 Performs a Dry Run.
 
- Public Member Functions inherited from sisi4s::Algorithm
 Algorithm (std::vector< Argument > const &argumentList)
 
virtual ~Algorithm ()
 
virtual std::string getName ()=0
 
virtual void run ()=0
 
virtual void dryRun ()
 The dryRun estimates resource consumption, especially memory and processor time.
 
bool isArgumentGiven (std::string const &argumentName)
 
std::string getTextArgument (std::string const &argumentName)
 
std::string getTextArgument (std::string const &argumentName, std::string const &defaultValue)
 
bool getBooleanArgument (std::string const &name)
 
bool getBooleanArgument (std::string const &name, bool const &defaultValue)
 
int64_t getIntegerArgument (std::string const &argumentName)
 
int64_t getIntegerArgument (std::string const &argumentName, int64_t const defaultValue)
 
real getRealArgument (std::string const &argumentName)
 
real getRealArgument (std::string const &argumentName, real const defaultValue)
 
template<typename F = real, typename T = Tensor<F>>
T * getTensorArgument (std::string const &argumentName)
 
template<typename F = real, typename C = std::vector<F>>
C * getContainerArgument (std::string const &argumentName)
 
template<typename F = real, typename C = std::vector<F>>
void allocateContainerArgument (std::string const &argumentName, C *container)
 
std::vector< std::string > getGivenArgumentNames () const
 
void checkArgumentsOrDie (const std::vector< std::string > args) const
 
template<typename F = real, typename T = Tensor<F>>
void allocatedTensorArgument (std::string const &argumentName, T *tensor)
 Specifies the location of an output tensor data.
 
void setRealArgument (std::string const &argumentName, real const value)
 
void setIntegerArgument (std::string const &argumentName, int const value)
 
real getRealArgumentFromInteger (IntegerData *data)
 
real getRealArgumentFromTensor (TensorData< real > *data)
 
template<typename F = real, typename T = Tensor<F>>
T * getTensorArgumentFromReal (RealData *realData)
 Converts the given real data into a scalar tensor.
 
DatagetArgumentData (std::string const &argumentName)
 

Static Public Attributes

static sisi4s::AlgorithmRegistrar< FiniteSizeCorrectionregistrar_
 

Protected Member Functions

void readFromFile ()
 
void calculateRealStructureFactor ()
 
void calculateComplexStructureFactor ()
 
void constructFibonacciGrid (double R, int N)
 
void interpolation3D ()
 
bool IsInSmallBZ (Vector< double > point, double scale, std::vector< sisi4s::Vector< double > > smallBZ)
 
double SGxVG (sisi4s::Inter1D< double > Int1d, double x)
 
double integrate (sisi4s::Inter1D< double > Int1d, double start, double end, int steps)
 
double simpson (sisi4s::Inter1D< double > Int1d, double x, double h)
 
void calculateFiniteSizeCorrection ()
 
void dryCalculateStructureFactor ()
 
void dryInterpolation3D ()
 
void dryCalculateFiniteSizeCorrection ()
 
void extrapolation (double minG, double maxG, int basisSetExtrapolation)
 
double simplestWindow (double Gmin, double Gmax, double G)
 
double integrateSimplestWindow (double Gmin, double Gmax)
 
double leastSquareFit (std::vector< double > fitabsG, std::vector< double > fitSF)
 
void basisSetCompleteness ()
 

Protected Attributes

int NG
 
std::vector< double > GLengths
 
std::vector< double > averageSGs
 
std::vector< double > meanErrorSG
 
std::vector< double > structureFactors
 
std::vector< double > VofG
 
double GC
 
double inter3D
 
double sum3D
 
MomentumfibonacciGrid
 
MomentumcartesianGrid
 

Static Protected Attributes

static constexpr int DEFAULT_NUM_FIBONACCI = 128
 

Additional Inherited Members

- Public Attributes inherited from sisi4s::Algorithm
std::string note
 
bool fallible = false
 
std::map< std::string, std::string > arguments
 

Constructor & Destructor Documentation

◆ FiniteSizeCorrection()

FiniteSizeCorrection::FiniteSizeCorrection ( std::vector< Argument > const &  argumentList)

◆ ~FiniteSizeCorrection()

FiniteSizeCorrection::~FiniteSizeCorrection ( )
virtual

Member Function Documentation

◆ basisSetCompleteness()

void sisi4s::FiniteSizeCorrection::basisSetCompleteness ( )
protected

◆ calculateComplexStructureFactor()

void FiniteSizeCorrection::calculateComplexStructureFactor ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateFiniteSizeCorrection()

void FiniteSizeCorrection::calculateFiniteSizeCorrection ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ calculateRealStructureFactor()

void FiniteSizeCorrection::calculateRealStructureFactor ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ constructFibonacciGrid()

void FiniteSizeCorrection::constructFibonacciGrid ( double  R,
int  N 
)
protected
Here is the caller graph for this function:

◆ dryCalculateFiniteSizeCorrection()

void FiniteSizeCorrection::dryCalculateFiniteSizeCorrection ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dryCalculateStructureFactor()

void FiniteSizeCorrection::dryCalculateStructureFactor ( )
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dryInterpolation3D()

void FiniteSizeCorrection::dryInterpolation3D ( )
protected
Here is the caller graph for this function:

◆ dryRun()

void FiniteSizeCorrection::dryRun ( )
virtual

Performs a Dry Run.

Reimplemented from sisi4s::Algorithm.

Here is the call graph for this function:

◆ extrapolation()

void sisi4s::FiniteSizeCorrection::extrapolation ( double  minG,
double  maxG,
int  basisSetExtrapolation 
)
protected

◆ getName()

virtual std::string sisi4s::FiniteSizeCorrection::getName ( )
inlinevirtual

Implements sisi4s::Algorithm.

◆ integrate()

double FiniteSizeCorrection::integrate ( sisi4s::Inter1D< double >  Int1d,
double  start,
double  end,
int  steps 
)
protected
Here is the caller graph for this function:

◆ integrateSimplestWindow()

double sisi4s::FiniteSizeCorrection::integrateSimplestWindow ( double  Gmin,
double  Gmax 
)
protected

◆ interpolation3D()

void FiniteSizeCorrection::interpolation3D ( )
protected

gte::IntpTrilinear3<double> interpolatedSG( boxDimensions[0], boxDimensions[1], boxDimensions[2], boxOrigin[0], 1, boxOrigin[1], 1, boxOrigin[2], 1, regularSG );

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsInSmallBZ()

bool FiniteSizeCorrection::IsInSmallBZ ( Vector< double >  point,
double  scale,
std::vector< sisi4s::Vector< double > >  smallBZ 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ leastSquareFit()

double sisi4s::FiniteSizeCorrection::leastSquareFit ( std::vector< double >  fitabsG,
std::vector< double >  fitSF 
)
protected

◆ readFromFile()

void FiniteSizeCorrection::readFromFile ( )
protected
Here is the caller graph for this function:

◆ run()

void FiniteSizeCorrection::run ( )
virtual

Calculates the finite size correction.

Implements sisi4s::Algorithm.

Here is the call graph for this function:

◆ SGxVG()

double FiniteSizeCorrection::SGxVG ( sisi4s::Inter1D< double >  Int1d,
double  x 
)
protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ simplestWindow()

double sisi4s::FiniteSizeCorrection::simplestWindow ( double  Gmin,
double  Gmax,
double  G 
)
protected

◆ simpson()

double FiniteSizeCorrection::simpson ( sisi4s::Inter1D< double >  Int1d,
double  x,
double  h 
)
protected
Here is the call graph for this function:

Member Data Documentation

◆ averageSGs

std::vector<double> sisi4s::FiniteSizeCorrection::averageSGs
protected

◆ cartesianGrid

Momentum* sisi4s::FiniteSizeCorrection::cartesianGrid
protected

◆ DEFAULT_NUM_FIBONACCI

constexpr int sisi4s::FiniteSizeCorrection::DEFAULT_NUM_FIBONACCI = 128
staticconstexprprotected

◆ fibonacciGrid

Momentum* sisi4s::FiniteSizeCorrection::fibonacciGrid
protected

◆ GC

double sisi4s::FiniteSizeCorrection::GC
protected

◆ GLengths

std::vector<double> sisi4s::FiniteSizeCorrection::GLengths
protected

◆ inter3D

double sisi4s::FiniteSizeCorrection::inter3D
protected

◆ meanErrorSG

std::vector<double> sisi4s::FiniteSizeCorrection::meanErrorSG
protected

◆ NG

int sisi4s::FiniteSizeCorrection::NG
protected

◆ registrar_

sisi4s::AlgorithmRegistrar< FiniteSizeCorrection > FiniteSizeCorrection::registrar_
static

◆ structureFactors

std::vector<double> sisi4s::FiniteSizeCorrection::structureFactors
protected

◆ sum3D

double sisi4s::FiniteSizeCorrection::sum3D
protected

◆ VofG

std::vector<double> sisi4s::FiniteSizeCorrection::VofG
protected

The documentation for this class was generated from the following files: