xlifepp – Functions – D#
d0#
-
OperatorOnUnknown &xlifepp::d0(const Unknown &un)#
d1#
-
OperatorOnUnknown &xlifepp::d1(const Unknown &un)#
d11#
-
OperatorOnUnknown &xlifepp::d11(const Unknown &un)#
d12#
-
OperatorOnUnknown &xlifepp::d12(const Unknown &un)#
d13#
-
OperatorOnUnknown &xlifepp::d13(const Unknown &un)#
d2#
-
OperatorOnUnknown &xlifepp::d2(const Unknown &un)#
d22#
-
OperatorOnUnknown &xlifepp::d22(const Unknown &un)#
d23#
-
OperatorOnUnknown &xlifepp::d23(const Unknown &un)#
d2G#
-
OperatorOnUnknown &xlifepp::d2G(const Unknown &un, const complex_t &axx, const complex_t &axy, const complex_t &ayy, const complex_t &axz, const complex_t &ayz, const complex_t &azz)#
-
OperatorOnUnknown &xlifepp::d2G(const Unknown &un, const Matrix<complex_t> &a)#
d3#
-
OperatorOnUnknown &xlifepp::d3(const Unknown &un)#
d33#
-
OperatorOnUnknown &xlifepp::d33(const Unknown &un)#
deceol#
defaultColoringRule#
-
real_t xlifepp::defaultColoringRule(const GeomElement &gelt, const std::vector<real_t> &val)#
-
the default GeomElement coloring rule is the following let np the number of strictly positive values (v_i) on the n vertices of the geomelement if(np>n/2) then color =1 else color =0 for a triangle: color is 1 if at least 2 vertex values are >0 for a quadrangle: color is 1 if at least 3 vertex values are >0 for a tetrahedron: color is 1 if at least 3 vertex values are >0 for a hexahedron: color is 1 if at least 5 vertex values are >0
default Geomelement coloring rule
gelt: geom element val: real values on vertices
defaultVectorColoringRule#
-
real_t xlifepp::defaultVectorColoringRule(const GeomElement &gelt, const std::vector<Vector<real_t>> &val)#
-
default Geomelement vector coloring rule
defineMap#
-
void xlifepp::defineMap(const GeomDomain&, const GeomDomain&, const Function&, bool nearest = false)#
-
define a map between 2 geomdomains, default name
-
void xlifepp::defineMap(const GeomDomain&, const GeomDomain&, const Function&, const string_t&, bool nearest = false)#
-
define a map between 2 geomdomains with explicit name
deleteClusterTreeFeDof#
-
void xlifepp::deleteClusterTreeFeDof(void *p)#
deleteFunction#
-
void xlifepp::deleteFunction(void *p)#
deleteGeomDomain#
-
void xlifepp::deleteGeomDomain(void *p)#
deleteIntegrationMethod#
-
void xlifepp::deleteIntegrationMethod(void *p)#
deleteIntegrationMethods#
-
void xlifepp::deleteIntegrationMethods(void *p)#
deleteMapOfPair#
-
static void xlifepp::deleteMapOfPair(const GeomDomain &d1, const GeomDomain &d2)#
deleteParametrization#
-
void xlifepp::deleteParametrization(void *p)#
deleteSpline#
-
void xlifepp::deleteSpline(void *p)#
deleteTermVectors#
-
void xlifepp::deleteTermVectors(void *p)#
deleteTransformation#
-
void xlifepp::deleteTransformation(void *p)#
delSpace#
-
string_t xlifepp::delSpace(const string_t &s)#
-
convert “ a b c d e f “ to “abcefd”
delete all white space from string_t
derivative#
-
SymbolicFunction &xlifepp::derivative(const SymbolicFunction &f, const SymbolicFunction &v)#
-
SymbolicFunction &xlifepp::derivative(const SymbolicFunction &f, VariableName v)#
-
template<typename K>
PolynomialT<K> xlifepp::derivative(VariableName vn, const MonomialT<K> &m)#
-
template<typename K>
PolynomialT<K> xlifepp::derivative(VariableName vn, const PolynomialT<K> &p)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::derivative(VariableName vn, const std::vector<PolynomialT<K>> &ps)#
diag#
-
inline complex_t xlifepp::diag(const complex_t&)#
-
inline real_t xlifepp::diag(const real_t&)#
diagonalLumping#
-
SuTermMatrix xlifepp::diagonalLumping(const SuTermMatrix&, AccessType = _row)#
-
diagonal matrix sum_j aij (_row) or sum_i aij (col)
-
inline TermMatrix xlifepp::diagonalLumping(const TermMatrix &A, AccessType at = _row)#
-
create diagonal TermMatrix dii= sum_j Aij (at=_row) or djj= sum_i Aij (at=col), works only for single unknown TermMatrix
diagonalMatrix#
-
template<typename T>
LargeMatrix<T> xlifepp::diagonalMatrix(const LargeMatrix<T> &mat, const T v)#
-
template<typename T>
LargeMatrix<T> xlifepp::diagonalMatrix(StorageType st, AccessType at, number_t nbr, number_t nbc, const T v)#
diagonalPart#
-
SuTermMatrix xlifepp::diagonalPart(const SuTermMatrix&)#
-
diagonal matrix from aii
-
inline TermMatrix xlifepp::diagonalPart(const TermMatrix &A)#
-
create diagonal TermMatrix dii from Aii, works only for single unknown TermMatrix
diGamma#
-
complex_t xlifepp::diGamma(const complex_t &z)#
-
real_t xlifepp::diGamma(int_t n)#
-
return \(-gamma + \sum_1^{n-1} 1/n\) where gamma is Euler-Mascheroni constant
-
real_t xlifepp::diGamma(real_t x)#
dim#
dimsOf#
-
template<typename K>
std::pair<dimen_t, dimen_t> xlifepp::dimsOf(const SparseMatrix<K> &v)#
directSolve#
-
TermVectors xlifepp::directSolve(TermMatrix &A, const std::vector<TermVector> &Bs, bool keepA)#
-
TermVector xlifepp::directSolve(TermMatrix &A, const TermVector &B, bool keepA)#
-
solve linear system by direct method, trying to find the well adapted direct method if A is already factorized goto upper-lower solver (factSolve) if umfpack is available, it is used (umfpackSolve) if A is single unknown dense matrix use pivoting gauss elimination process (gaussSolve) else factorize LU, LDLt or LDL* and goto upper-lower solver (factSolve)
if keepA is false (default) the matrix A is modified else it is not modified
-
TermMatrix xlifepp::directSolve(TermMatrix &A, TermMatrix &B, KeepStatus k)#
dirname#
-
string_t xlifepp::dirname(const string_t &f)#
-
return dirname of a file name using last slash as delimiter
dist#
-
real_t xlifepp::dist(const BoundingBox &bb1, const BoundingBox &bb2)#
-
distance from two bounding boxes
distance#
-
real_t xlifepp::distance(const MeshElement &elt1, const MeshElement &elt2)#
-
distance from two MeshElement, assuming not intersection and using first order, i.e vertices under these assumptions dist(e1,e2)= min{dist(p1,p2), p1 in e1, p2 in e2} = min{dist(p1,p2), p1 any vertex of e1, p2 any vertex of e2}
distance from two MeshElement
div#
-
template<typename K>
PolynomialBasisT<K> xlifepp::div(const PolynomialsBasisT<K> &ps)#
-
template<typename K>
PolynomialT<K> xlifepp::div(const std::vector<PolynomialT<K>> &p)#
-
OperatorOnUnknown &xlifepp::div(const Unknown &un)#
div_x#
-
OperatorOnKernel &xlifepp::div_x(const Kernel&)#
-
grad_x(k)
-
OperatorOnKernel &xlifepp::div_x(OperatorOnKernel&)#
-
grad_x(opk)
div_y#
-
OperatorOnKernel &xlifepp::div_y(const Kernel&)#
-
grad_y(k)
-
OperatorOnKernel &xlifepp::div_y(OperatorOnKernel&)#
-
grad_y(opk)
divG#
-
OperatorOnUnknown &xlifepp::divG(const Unknown &un, const complex_t &ax, const complex_t &ay, const complex_t &az, const complex_t &at)#
divS#
-
OperatorOnUnknown &xlifepp::divS(const Unknown &un)#
doesQuadrangleIntersectsQuadrangle#
doesSegmentCrossesQuadrangle#
doesSegmentCrossesSegment#
doesSegmentCrossesSegment2D#
doesSegmentCrossesTriangle#
doesSegmentIntersectsQuadrangle#
doesSegmentIntersectsTriangle#
doesTriangleIntersectsQuadrangle#
doesTriangleIntersectsTriangle#
dofCoords#
-
std::vector<Point> xlifepp::dofCoords(Space &sp, const GeomDomain &dom)#
-
list of coordinates of ponctual dofs of Space on a given domain
domainFromParameters#
-
inline const GeomDomain *xlifepp::domainFromParameters(Parameters &pars)#
domainIdFromParameters#
-
inline number_t xlifepp::domainIdFromParameters(Parameters &pars)#
domainMap#
-
const DomainMap *xlifepp::domainMap(const GeomDomain&, const GeomDomain&)#
-
find DomainMap from dom1 to dom2
domainNameFromParameters#
-
inline string_t xlifepp::domainNameFromParameters(Parameters &pars)#
-
extract GeomDomain or GeomElement information from Parameters
Note
if pointer parameter does not exist, it is created with 0 value (see Parameters.get member function)
domainsFromLevelSet#
-
inline std::vector<number_t> xlifepp::domainsFromLevelSet(TermVector &tv, number_t mainDomNum, number_t insideDomNum, bool outside = true)#
-
std::vector<number_t> xlifepp::domainsFromLevelSet(TermVector &tv, number_t mainDomNum, std::vector<number_t> insideDomNums, bool outside)#
-
routine to update inner domains and main domain regarding some values on element
- Parameters:
-
tv – : real single unknown TermVector containing the criteria : v(i)<0 -> inner domain v(i)>0 main domain
mainDomNum – domain number of the main domain (the domain number is the index in Mesh::domains_)
insideDomNums – domain numbers of inner domains (one or more)
outside – if true, elements of interface between main domain and inner domains (obstacles) are considered in the inner domain, in the main domain otherwise.
- Returns:
-
vector<number_t> eltCol : new domain number for each element
domainTranslation#
-
Vector<real_t> xlifepp::domainTranslation(const Point&, Parameters &pa = defaultParameters)#
-
default translation for domain map
dot#
-
inline complex_t xlifepp::dot(const complex_t &x, const complex_t &y)#
-
inline complex_t xlifepp::dot(const complex_t &x, const real_t &y)#
-
inline complex_t xlifepp::dot(const real_t &x, const complex_t &y)#
-
inline real_t xlifepp::dot(const real_t &x, const real_t &y)#
-
for template compilation reasons, fake definition of dot and crossproduct in 1D
-
template<typename K>
PolynomialT<K> xlifepp::dot(const std::vector<PolynomialT<K>> &p, const std::vector<K> &v)#
-
template<typename K>
PolynomialT<K> xlifepp::dot(const std::vector<PolynomialT<K>> &p, const std::vector<PolynomialT<K>> &q)#
-
complex_t xlifepp::dot(const Vector<complex_t> &u, const Vector<real_t> &v)#
-
Specialization of dot (complex_t real_t)
dotC#
dotProduct#
dotRC#
-
complex_t xlifepp::dotRC(const TermVector &tv1, const TermVector &tv2)#
-
inner product when one TermVector is complex
-
template<typename K1, typename K2>
complex_t xlifepp::dotRC(const Vector<K1> &vecFirst, const Vector<K2> &vecSecond)#
-
Inner product with COMPLEX result (not hermitian product)
-
complex_t xlifepp::dotRC(const Vector<real_t> &vecFirst, const Vector<real_t> &vecSecond)#
-
Specialization of dotRC (real_t real_t)
-
complex_t xlifepp::dotRC(const VectorEntry&, const VectorEntry&)#
-
same as inner product of two vectorentry’s
dt#
-
OperatorOnUnknown &xlifepp::dt(const Unknown &un)#
dualDofComponents#
-
std::vector<DofComponent> xlifepp::dualDofComponents(const std::vector<DofComponent> &cdofs)#
-
create dual cdofs list from cdofs list
dualOf#
-
inline TestFunctions xlifepp::dualOf(const PCollection<Unknown> &us, const Strings &names = Strings())#
-
to build a list of dual xlifepp::TestFunction of a list of xlifepp::Unknown
dx#
-
template<typename K>
PolynomialT<K> xlifepp::dx(const MonomialT<K> &m)#
-
template<typename K>
PolynomialBasisT<K> xlifepp::dx(const PolynomialBasisT<K> &ps)#
-
template<typename K>
PolynomialsBasisT<K> xlifepp::dx(const PolynomialsBasisT<K> &ps)#
-
template<typename K>
PolynomialT<K> xlifepp::dx(const PolynomialT<K> &p)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::dx(const std::vector<PolynomialT<K>> &ps)#
-
OperatorOnUnknown &xlifepp::dx(const Unknown &un)#
dxx#
-
OperatorOnUnknown &xlifepp::dxx(const Unknown &un)#
dxy#
-
OperatorOnUnknown &xlifepp::dxy(const Unknown &un)#
dxz#
-
OperatorOnUnknown &xlifepp::dxz(const Unknown &un)#
dy#
-
template<typename K>
PolynomialT<K> xlifepp::dy(const MonomialT<K> &m)#
-
template<typename K>
PolynomialBasisT<K> xlifepp::dy(const PolynomialBasisT<K> &ps)#
-
template<typename K>
PolynomialsBasisT<K> xlifepp::dy(const PolynomialsBasisT<K> &ps)#
-
template<typename K>
PolynomialT<K> xlifepp::dy(const PolynomialT<K> &p)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::dy(const std::vector<PolynomialT<K>> &ps)#
-
OperatorOnUnknown &xlifepp::dy(const Unknown &un)#
dyy#
-
OperatorOnUnknown &xlifepp::dyy(const Unknown &un)#
dyz#
-
OperatorOnUnknown &xlifepp::dyz(const Unknown &un)#
dz#
-
template<typename K>
PolynomialT<K> xlifepp::dz(const MonomialT<K> &m)#
-
template<typename K>
PolynomialBasisT<K> xlifepp::dz(const PolynomialBasisT<K> &ps)#
-
template<typename K>
PolynomialsBasisT<K> xlifepp::dz(const PolynomialsBasisT<K> &ps)#
-
template<typename K>
PolynomialT<K> xlifepp::dz(const PolynomialT<K> &p)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::dz(const std::vector<PolynomialT<K>> &ps)#
-
OperatorOnUnknown &xlifepp::dz(const Unknown &un)#
dzz#
-
OperatorOnUnknown &xlifepp::dzz(const Unknown &un)#