Loading...
Searching...
No Matches
EMTDefaultParameterProvider.h
Go to the documentation of this file.
1// EMTDefaultParameterProvider.h -- provides the default EMT parameters.
2
3#ifndef _EMTDEFAULTPARAMETERPROVIDER_H
4#define _EMTDEFAULTPARAMETERPROVIDER_H
5
7#include <vector>
8using std::vector;
9
11public:
14 virtual const emt_parameters *GetParameters(int element);
15 virtual void CalcGammaEtc();
16 // Can the cutoff be made element-dependent?
17 virtual double GetCutoffDistance() { return cutoff; }
18 virtual double GetListCutoffDistance() { return cutoff * listcutofffactor; }
19 virtual double GetCutoffSlope() { return cutslope; }
20 // The potential delegates GetLengthScale to the provider.
21 // What should be done for multiple elements?
22 virtual double GetLengthScale() { return params[0]->lengthscale; }
23 virtual int GetNumberOfElements() { return params.size(); }
24 virtual const TinyDoubleMatrix *GetChi() { return chi; }
25 virtual void Debug();
26
27#ifndef SWIG // SWIG cannot parse all of this
28protected:
29 virtual emt_parameters *GetNewParameters(int element);
30 virtual void calc_cutoff();
31 virtual void calc_gammas();
32 virtual void calc_chi();
33
34 std::vector<emt_parameters *> params;
36 double maxseq;
37 double cutoff;
38 double cutslope;
40
41 // Two constants: the last shell included in interaction range, and in nb list
42 static const int shell0;
43 static const int shell1;
44#endif
45};
46
47#endif // ! _EMTDEFAULTPARAMETERPROVIDER_H
TinyMatrix< double > TinyDoubleMatrix
Definition TinyMatrix.h:24
virtual emt_parameters * GetNewParameters(int element)
virtual const emt_parameters * GetParameters(int element)
virtual const TinyDoubleMatrix * GetChi()
std::vector< emt_parameters * > params
virtual ~EMTDefaultParameterProvider()