Class xlifepp::OperatorOnKernel#
-
class OperatorOnKernel#
-
Collaboration diagram for xlifepp::OperatorOnKernel:
describes the operations to process on kernel.
ker_p=0 means K(x,y)=1 !
Public Functions
-
inline OperatorOnKernel()#
-
default constructor
-
OperatorOnKernel(const Kernel&, DiffOpType = _id, DiffOpType = _id)#
-
basic constructor
-
OperatorOnKernel(const Kernel*, DiffOpType, DiffOpType, DiffOpType, ValueType vt = _real, StrucType st = _scalar, dimPair = dimPair(1, 1))#
-
basic constructor
-
OperatorOnKernel(const Kernel*, DiffOpType = _id, DiffOpType = _id, ValueType vt = _real, StrucType st = _scalar, dimPair = dimPair(1, 1))#
-
basic constructor
-
OperatorOnKernel(const OperatorOnKernel&)#
-
copy constructor
-
~OperatorOnKernel()#
-
destructor
-
string_t asString() const#
-
return as symbolic string
-
inline bool elementRequired() const#
-
true if geom element is required by kernel
-
template<typename T>
Matrix<T> &eval(const Point&, const Point&, Matrix<T>&, const Vector<real_t>* = nullptr, const Vector<real_t>* = nullptr) const#
-
evaluate matrix kernel operator at (x,y)
-
template<typename T>
T &eval(const Point&, const Point&, T&, const Vector<real_t>* = nullptr, const Vector<real_t>* = nullptr) const#
-
evaluate scalar kernel operator at (x,y)
evaluate operator on kernel operator at (x,y), k kernel value, nxp, nyp pointer to normal vectors nx and ny (null if not available)
-
template<typename T>
Vector<T> &eval(const Point&, const Point&, Vector<T>&, const Vector<real_t>* = nullptr, const Vector<real_t>* = nullptr, dimPair* = nullptr, const ExtensionData *extdata = nullptr) const#
-
evaluate vector kernel operator at (x,y)
general function evaluating operator on kernel, output may be either a scalar, a vector or a matrix but it is always returned as a vector scalar output: set opk[0] = out vector output: set opk[i] = out[i] 0<i<n matrix output: set opk[i*n+j]=out[i,j], 0<i<m; 0<j<n
x, y: points where current operator on kernel is evaluated opk: return value of opk as a vector (may be resized here) dims: dimension of the output (m=n=1 if scalar, n=1 if a vector), computed if pointer is not 0 nxp, nyp: pointers to normal vectors (0 if not allocated) extdata: data related to extension if required, used if not 0
-
template<typename T>
T &eval(const Point&, T&, const Vector<real_t>* = nullptr, const Vector<real_t>* = nullptr) const#
-
evaluate kernel operator at (x,P) or (P,x)
evaluate operator on kernel operator at (x,P) or (P,x) regarding xpar, xory=P k kernel value, nxp, nyp pointer to normal vectors nx and ny (null if not available)
-
template<typename T>
std::vector<Matrix<T>> &eval(const std::vector<Point>&, const std::vector<Point>&, std::vector<Matrix<T>>&, number_t = 0, const std::vector<Vector<real_t>>* = nullptr, const std::vector<Vector<real_t>>* = nullptr) const#
-
evaluate vector kernel operator at (xi,yj)
-
template<typename T>
std::vector<T> &eval(const std::vector<Point>&, const std::vector<Point>&, std::vector<T>&, number_t = 0, const std::vector<Vector<real_t>>* = nullptr, const std::vector<Vector<real_t>>* = nullptr) const#
-
evaluate kernel operator at (xi,yj)
evaluate kernel operator at (xi,yj) : op [k(x1,y1), k(x1,y2),…, k(x1,yn), k(x2,y1), k(x2,y2), …, k(xm,yn)] xs, ys: points collection nxs, nys: pointer to normal vectors nx and ny (null if not available) shift: shift index of result (by default 0)
NOTE: be careful, address of ks begins at 1 and not at 0 !!!!
-
template<typename T>
std::vector<Vector<T>> &eval(const std::vector<Point>&, const std::vector<Point>&, std::vector<Vector<T>>&, number_t = 0, const std::vector<Vector<real_t>>* = nullptr, const std::vector<Vector<real_t>>* = nullptr) const#
-
evaluate vector kernel operator at (xi,yj)
-
inline const string_t &kernelName() const#
-
returns kernel shortname
-
inline bool normalRequired() const#
-
true if x or y normals involved
-
const OperatorOnFunction &operator()(const Point&, VariableName) const#
-
interpret operator on kernel as operator on y function
-
const OperatorOnFunction &operator()(VariableName) const#
-
interpret operator on kernel as operator on variableName function
-
const OperatorOnFunction &operator()(VariableName, const Point&) const#
-
interpret operator on kernel as operator on x function
-
OperatorOnKernel &operator=(const OperatorOnKernel&)#
-
assignment operator
-
void print(std::ostream&) const#
-
print on stream attributes
-
inline real_t singularOrder() const#
-
returns singularity order (0 if not singular)
-
inline SingularityType singularType() const#
-
returns type of singularity (_notsingular, _r, _logr,_loglogr)
-
inline bool tangentRequired() const#
-
true if x or y tangents involved
-
inline bool voidKernel() const#
-
returns true if kernel pointer is null
-
inline DifferentialOperator &xdifOp() const#
-
return reference to differential operator
-
inline DifferentialOperator *&xdifOp_()#
-
return pointer to differential operator
-
inline DiffOpType xdifOpType() const#
-
return type of x differential operator
-
inline bool xnormalRequired() const#
-
true if x-normal involved
-
inline bool xtangentRequired() const#
-
true if x-tangent involved
-
inline DifferentialOperator &xydifOp() const#
-
return reference to differential operator
-
inline DifferentialOperator *&xydifOp_()#
-
return pointer to differential operator
-
inline DiffOpType xydifOpType() const#
-
return type of y differential operator
-
inline DifferentialOperator &ydifOp() const#
-
return reference to differential operator
-
inline DifferentialOperator *&ydifOp_()#
-
return pointer to differential operator
-
inline DiffOpType ydifOpType() const#
-
return type of y differential operator
-
inline bool ynormalRequired() const#
-
true if y-normal involved
-
inline bool ytangentRequired() const#
-
true if y-tangent involved
Public Members
-
mutable bool conjugate_#
-
temporary flag for conjugate operation construction
-
bool in_ext#
-
if true interpreted as ext(difop(f)) else interpreted as difop(ext(f)); default is true
-
mutable bool transpose_#
-
temporary flag for transpose operation construction
Friends
-
friend bool operator!=(const OperatorOnKernel&, const OperatorOnKernel&)#
-
different operator on kernel
-
friend bool operator==(const OperatorOnKernel&, const OperatorOnKernel&)#
-
same operator on kernel
-
inline OperatorOnKernel()#