Class xlifepp::Kernel#
-
class Kernel#
-
Inheritence diagram for xlifepp::Kernel:
Collaboration diagram for xlifepp::Kernel:
Subclassed by xlifepp::TensorKernel
Public Functions
-
inline Kernel(const Function &ker, const char *na, SingularityType st = _notsingular, real_t so = 0, SymType sy = _noSymmetry)#
-
constructor from Function object with name
-
inline Kernel(const Function &ker, const string_t &na, SingularityType st = _notsingular, real_t so = 0, SymType sy = _noSymmetry)#
-
constructor from Function object with name
-
inline Kernel(const Function &ker, SingularityType st = _notsingular, real_t so = 0, SymType sy = _noSymmetry)#
-
basic constructor
constructor from Function object
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, dimen_t d, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, dimen_t d, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, dimen_t d, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const Parameters &pa, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function and parameters
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), dimen_t d, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), dimen_t d, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), dimen_t d, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function
- template<typename T> inline Kernel (T(fun)(const Point &, const Point &, Parameters &), SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit scalar kernel function
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, dimen_t d, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, dimen_t d, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, dimen_t d, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const Parameters &pa, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function and parameters
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), dimen_t d, const char *na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), dimen_t d, const string_t &na, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function, with name
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), dimen_t d, SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function
- template<typename T> inline Kernel (T(fun)(const Vector< Point > &, const Vector< Point > &, Parameters &), SingularityType st=_notsingular, real_t so=0, SymType sy=_noSymmetry)
-
constructor from explicit vector kernel function
-
virtual ~Kernel()#
-
destructor
-
void copy(const Kernel&)#
-
copy tool used by copy constructor and assign operator
clone current kernel (virtual)
-
template<typename T>
inline T getParameter(const string_t &name, T value) const#
-
get parameter by its name
-
inline virtual void initParameters(const Parameters *pars = 0)#
-
initialization of Parameters
-
inline virtual bool isSymbolic() const#
-
return true is there is no explicit kernel function
-
inline bool no_ndotgradx() const#
-
true if ndotgradx is well defined
-
inline bool no_ndotgrady() const#
-
true if ndotgrady is well defined
-
inline bool normalRequired() const#
-
true if normal required
-
template<typename T>
T &operator()(const Point&, const Point&, T&) const#
-
compute kernel value at (x,y)
-
template<typename T>
T &operator()(const Point&, T&) const#
-
compute kernel value at (x,P) or (P,X) with P=xory
compute kernel value at (x,.) or (.,x) regarding xory flag
-
inline const Function &operator()(const Point &x, VariableName vn) const#
-
specify k(x,y) as y->k(x,y)
-
template<typename T>
Vector<T> &operator()(const Vector<Point>&, const Vector<Point>&, Vector<T>&) const#
-
compute kernel value at a list of points
-
inline const Function &operator()(VariableName vn, const Point &y) const#
-
specify k(x,y) as x->k(x,y)
-
const Function &operator()(VariableName) const#
-
specify k(x,y) as x->k(x,y) or y->k(x,y)
-
virtual void print(std::ostream&) const#
-
print utilities
-
template<typename T>
inline void setParameter(const string_t &name, T value)#
-
add a T value in parameter’s list
-
inline void setParameters(const Parameters &par)#
-
add a parameter’s list
-
inline void setX(const Point &P) const#
-
specify x=P as a parameter to interpret kernel as a y function (see Function class)
-
inline void setY(const Point &P) const#
-
specify y=P as a parameter to interpret kernel as a x function (see Function class)
-
inline virtual StrucType strucType() const#
-
return kernel structure type (_scalar, _vector or _matrix)
-
inline bool tangentRequired() const#
-
true if tangent required
-
inline virtual TensorKernel *tensorKernel()#
-
downcast to tensorkernel
-
inline virtual const TensorKernel *tensorKernel() const#
-
downcast to tensorkernel
-
inline virtual KernelType type() const#
-
return kernel type (_generalKernel, _tensorKernel, …)
-
void updateDimPoint()#
-
update dimPoint_ of related functions
-
void updateParametersLinks()#
-
update Parameters links
-
inline bool xnormalRequired() const#
-
true if x-normal required
-
inline bool xtangentRequired() const#
-
true if x-tangent required
-
inline bool ynormalRequired() const#
-
true if y-normal required
-
inline bool ytangentRequired() const#
-
true if y-tangent required
Public Members
-
mutable bool checkType_ = false#
-
to activate the checking of arguments (see operator ())
-
mutable bool conjugate_ = false#
-
temporary flag for conjugate operation construction
-
KernelExpansion *expansion = nullptr#
-
kernel expansion
-
string_t name = ""#
-
kernel name
-
bool requireDof = false#
-
true if user declares that its function requires dof
-
bool requireDom = false#
-
true if user declares that its function requires domain
-
bool requireElt = false#
-
true if user declares that its function requires element
-
bool requireNx = false#
-
true if user declares that its function requires normal or x-normal vector
-
bool requireNy = false#
-
true if user declares that its function (kernel) requires y-normal vector
-
bool requireTx = false#
-
true if user declares that its function requires tangent or x-tangent vector
-
bool requireTy = false#
-
true if user declares that its function (kernel) requires y-tangent vector
-
string_t shortname = ""#
-
kernel short name
-
complex_t singularCoefficient = 0.#
-
coefficient of singularity
-
real_t singularOrder = 0#
-
order of singularity
-
SingularityType singularType = _notsingular#
-
type of singularity (notsingular, _r, _logr,_loglogr)
-
SymType symmetry = _noSymmetry#
-
kernel symmetry:_noSymmetry, _symmetric (K(x,y)=K(y,x)), _skewsymmetric,_adjoint,_skewadjoint
-
mutable bool transpose_ = false#
-
temporary flag for transpose operation construction
-
Parameters userData#
-
to store some additional informations
-
mutable bool xpar = false#
-
true means that point x is consider as a parameter (unused for ordinary function)
-
inline Kernel(const Function &ker, const char *na, SingularityType st = _notsingular, real_t so = 0, SymType sy = _noSymmetry)#