xlifepp – Functions – C#
capitalize#
-
string_t xlifepp::capitalize(const string_t &s)#
-
convert “abCdeF” to “AbCdeF”
returns string_t with initial converted to uppercase
cardan#
-
std::vector<complex_t> xlifepp::cardan(complex_t a, complex_t b, complex_t c, complex_t d)#
-
computes roots of degree 3 polynomial (complex Cardan method)
-
std::vector<complex_t> xlifepp::cardan(real_t a, real_t b, real_t c, real_t d)#
-
computes roots of degree 3 polynomial (real Cardan method)
cbrt#
-
complex_t xlifepp::cbrt(const complex_t &z)#
-
real_t xlifepp::cbrt(const real_t &r)#
cdiv#
cdofPositions#
-
std::map<DofComponent, number_t> xlifepp::cdofPositions(const std::vector<DofComponent> &cdofs)#
-
cdof (and its dual) -> position (from 1) in a list of cdofs
chebyshevPolynomials#
-
void xlifepp::chebyshevPolynomials(real_t, std::vector<real_t>&)#
-
Chebyshev polynomials (of the first kind) on [-1, 1] up to order n T_0(x) = 1, T_1(x) = x, T_n(x) = 2 x T_{n-1}(x) - T_{n-2}(x) , n > 1.
checkBC#
checkCond#
checkConsistancy#
-
bool xlifepp::checkConsistancy(const OperatorOnUnknown&, AlgebraicOperator, const OperatorOnUnknown&)#
-
check opu aop opv consistancy
checkTermVectorInOperator#
-
void xlifepp::checkTermVectorInOperator(const TermVector &tv, const string_t &op)#
childNodes#
-
void xlifepp::childNodes(Node<GeomElement> *curnode, const MeshDomain *momega, GeomElement *gelt, std::set<GeomElement*> &pickedElts)#
-
test intersection of E1 with E2 with a tolerance (default is theEpsilon)
internal tool
clear#
clearProjectors#
clearStorages#
clearTerms#
clearUnknowns#
cloneClusterTreeFeDof#
-
void *xlifepp::cloneClusterTreeFeDof(const void *p)#
cloneFunction#
-
void *xlifepp::cloneFunction(const void *p)#
cloneGeomDomain#
-
void *xlifepp::cloneGeomDomain(const void *p)#
cloneIntegrationMethod#
-
void *xlifepp::cloneIntegrationMethod(const void *p)#
cloneIntegrationMethods#
-
void *xlifepp::cloneIntegrationMethods(const void *p)#
cloneParametrization#
-
void *xlifepp::cloneParametrization(const void *p)#
cloneSpline#
-
void *xlifepp::cloneSpline(const void *p)#
cloneTermVectors#
-
void *xlifepp::cloneTermVectors(const void *p)#
cloneTransformation#
-
void *xlifepp::cloneTransformation(const void *p)#
closedCrack#
-
inline void xlifepp::closedCrack(Geometry &g1, Geometry &g2, Geometry &g3)#
-
user shortcut to crack 3 geometries
-
inline void xlifepp::closedCrack(Geometry &g1, Geometry &g2, Geometry &g3, Geometry &g4)#
-
user shortcut to crack 4 geometries
-
inline void xlifepp::closedCrack(Geometry &g1, Geometry &g2, Geometry &g3, Geometry &g4, Geometry &g5)#
-
user shortcut to crack 5 geometries
closeFile#
-
inline void xlifepp::closeFile(FILE *data)#
-
inline void xlifepp::closeFile(std::ifstream &data)#
closestSplineParameter#
cmplx#
-
inline const complex_t &xlifepp::cmplx(const complex_t &x)#
-
template<typename K>
MatrixEigenDense<complex_t> xlifepp::cmplx(const MatrixEigenDense<K> &mat)#
-
inline complex_t xlifepp::cmplx(const real_t &x)#
-
various useful definition to insure consistancy with other classes
coefAsString#
-
string_t xlifepp::coefAsString(bool isFirst, const complex_t &a)#
-
string form of a complex coefficient in a linear combination
colAmd#
combine#
-
template<typename T>
LowRankMatrix<T> xlifepp::combine(const LowRankMatrix<T> &L1, const T &s1, const LowRankMatrix<T> &L2, const T &s2, real_t eps = 0)#
-
template<typename K>
PolynomialT<K> xlifepp::combine(const PolynomialBasisT<K> &ps, const std::vector<K> &a)#
-
return combination a1*p1+a2*p2+…
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::combine(const PolynomialsBasisT<K> &ps, const std::vector<K> &a)#
-
return combination a1*p1+a2*p2+…
commonPerpendicularOfStraightLines#
-
std::pair<Point, Point> xlifepp::commonPerpendicularOfStraightLines(const Point &Am, const Point &Ap, const Point &Bm, const Point &Bp)#
-
common perpendicular of the straight lines defined respectively by the pair of points Am, Ap and Bm, Bp returns a pair of points defining the perpendicular the first point is on (AmAp), the second on (BmBp)
common perpendicular of the straight lines
compare#
compareGELTs#
compareMELTs#
compareMELTs2#
compareSpaceUsingSize#
compColSize#
-
inline bool xlifepp::compColSize(SuTermMatrix *sut1, SuTermMatrix *sut2)#
-
compare SuTermMatrix regarding col sizes
completeRealReduction#
-
void xlifepp::completeRealReduction(const TermMatrix&, TermVector&)#
-
rebuild eliminated components of a solution (real reduction, internal tool)
complex#
-
TermVector xlifepp::complex(const TermVector &tv)#
-
converts a real TermVector into a complex one
complex_const_fun#
-
complex_t xlifepp::complex_const_fun(const Point &P, Parameters &pa)#
complex_matrix_const_fun#
-
Matrix<complex_t> xlifepp::complex_matrix_const_fun(const Point &P, Parameters &pa)#
complex_vector_const_fun#
-
Vector<complex_t> xlifepp::complex_vector_const_fun(const Point &P, Parameters &pa)#
complexRorC#
complexToRorC#
-
inline complex_t xlifepp::complexToRorC(const complex_t &c, const complex_t &cc)#
-
inline real_t xlifepp::complexToRorC(const complex_t &c, const real_t &r)#
complexToT#
compNext#
-
void xlifepp::compNext(int n, int k, int a[], bool *more, int *h, int *t)#
-
computes the compositions of the integer N into K parts
compNnzSutermMatrix#
-
inline bool xlifepp::compNnzSutermMatrix(SuTermMatrix *sut1, SuTermMatrix *sut2)#
-
compare SuTermMatrix regarding their numbers of non zero
composeCanonicalAndCanonical#
-
Transformation xlifepp::composeCanonicalAndCanonical(const Transformation &t1, const Transformation &t2)#
-
composition of canonical transformations
composeCanonicalAndComposite#
-
Transformation xlifepp::composeCanonicalAndComposite(const Transformation &t1, const Transformation &t2)#
-
composition of a canonical transformation and a composite transformation
composeCompositeAndCanonical#
-
Transformation xlifepp::composeCompositeAndCanonical(const Transformation &t1, const Transformation &t2)#
-
composition of a composite transformation and a canonical transformation
composeCompositeAndComposite#
-
Transformation xlifepp::composeCompositeAndComposite(const Transformation &t1, const Transformation &t2)#
-
composition of composite transformations
compRowSize#
-
inline bool xlifepp::compRowSize(SuTermMatrix *sut1, SuTermMatrix *sut2)#
-
compare SuTermMatrix regarding row sizes
compute#
computeBilAsLin#
-
template<typename T, typename K>
void xlifepp::computeBilAsLin(const std::pair<BasicLinearForm*, complex_t> &lf, Vector<T> &val, K &vt)#
-
Computation of a linear form defined from a bilinear form and a TermVector to apply to l(v) = a(U,v) or l(u)=a(u,V) where U,V are some term vectors.
example: intg_gamma grad(U)|grad(v) dy U a termvector int_sigma intg_gamma (U*G)*v U a termvector
The algorithm is the most lazy one:
go to the TermMatrix machinery to compute matrix A from a(u,v)
do the product A*U or V*A
add the product result to vector val
- Parameters:
-
lf – a pair of BasicLinearForm and coefficient
val – vector of values to fill in
vt – type of value type
computeGeometricalQuantities#
computeHMatrix#
-
template<typename T, typename K, typename I>
void xlifepp::computeHMatrix(const SuBilinearForm &subf, HMatrix<T, I> &mat, K &vt, Space *space_u_p, Space *space_v_p, const Unknown *u_p, const TestFct *v_p)#
-
IE computation of a scalar SuBiinearForm on a == unique domain == using HMatrix method type T: type of the matrix coefficient K: type of computation (real or complex) I: type of the tree node index of the HMatrix.
subf: a single unknown bilinear form defined on a unique domains pair (assumed) mat: the HMatrix, its structure is assumed to be up to date space_u_p, space_v_p: pointers to real u-space and real v-space vt: to pass as template the scalar type (real or complex)
computeMatel#
-
template<typename T, typename K>
void xlifepp::computeMatel(LargeMatrix<T> &mat, std::vector<number_t> &adrs, bool sym, const Quadrature *quad, bool upmapdata, GeomMapData *mapdata, Vector<real_t> &nv, K coef, bool invJacobian, bool normalRequired, AlgebraicOperator aop, bool uonE1, bool vonE1, RefElement *relt_u, GeomElement *gelt_u, number_t side_u, MeshElement *melt_u, bool upmapdata_u, GeomMapData *mapdata_u, number_t nbc_u, number_t nbt_u, const OperatorOnUnknown &op_u, number_t ord_opu, bool mapsh_u, FEMapType femt_u, bool rotsh_u, bool changeSign_u, Vector<real_t> *sign_u, dimen_t dimfun_u, std::vector<ShapeValues> &shv_us, std::vector<number_t> &dofNum_u, RefElement *relt_v, GeomElement *gelt_v, number_t side_v, MeshElement *melt_v, bool upmapdata_v, GeomMapData *mapdata_v, number_t nbc_v, number_t nbt_v, const OperatorOnUnknown &op_v, number_t ord_opv, bool mapsh_v, FEMapType femt_v, bool rotsh_v, bool changeSign_v, Vector<real_t> *sign_v, dimen_t dimfun_v, std::vector<ShapeValues> &shv_vs, std::vector<number_t> &dofNum_v, const std::vector<number_t> &perm = std::vector<number_t>())#
computeNormalsAt#
-
std::vector<Vector<real_t>> xlifepp::computeNormalsAt(const GeomDomain &dom, const std::vector<Point> &xs, ProjectorType pt = _noProjectorType, OrientationType orient = _undefOrientationType, const GeomDomain *gp = nullptr)#
-
compute normals at some points of a GeomDomain
computePartialIE#
-
template<typename T, typename K>
void xlifepp::computePartialIE(const SuBilinearForm &subf, LargeMatrix<T> &mat, K &vt, const std::vector<number_t> &rowDofs, const std::vector<number_t> &colDofs, const std::vector<Element*> &rowElts, const std::vector<Element*> &colElts, IEcomputationParameters &ieparams, const std::list<std::multimap<real_t, IntgMeth>> &intgMaps, const std::vector<KernelOperatorOnUnknowns*> &kopregs, const std::vector<KernelOperatorOnUnknowns*> &kopsings, const std::map<Element*, GeoNumPair> &sidelts_u, const std::map<Element*, GeoNumPair> &sidelts_v, bool noUpdatedNormal, bool same_interpolation, bool sym)#
-
partial IE computation of a scalar SuBilinearForm on a list of elements subf: a single unknown bilinear form defined on a unique domains pair (assumed) mat: matrix to build, with size rowDofs.size x colDofs.size rowDofs, colDofs: vector of row/col dofs involved rowElts, colElts: vector of row/col elements involved vt: to pass as template the scalar type (real or complex) ieparams: some precomputed IE information intgMaps: list of integration methods to be used (built outside) kopregs , kopsings: list of regular and singular kernels when required
NOTE: precomputation of normals, quadrature points, shape values, … has to be done before
computeQuadratureIE#
-
template<typename K>
void xlifepp::computeQuadratureIE(const Element *elt_S, const Element *elt_T, const KernelOperatorOnUnknowns &kuv, Quadrature *quadx, Quadrature *quady, Matrix<K> &res, IEcomputationParameters &ieparams, Vector<K> &val_opu, Vector<K> &val_opv, Vector<K> &val_opk)#
-
computation of elementary matrix of IE term using double quadrature (quadx, quady) intg elt_S intg elt_V opu(y) opk(x,y) opv(x) dy dx assuming precomputation of geometrical stuff (jacobian,diffelt, normals, …), shape values and mapping of quadrature points onto physical space
the template parameter K is always a scalar type (real_t or complex_t)
elt_S: element supporting u(y) elt_T: element supporting v(x) kuv: operator on kernel and unknowns opu(y) opk(x,y) opv(x) quadx: quadrature in x variable (i.e on elt_T) quady: quadrature in y variable (i.e on elt_S) ieparams: computation parameters val_opu, val_opv, val_opk: working vectors to store value of opu, opv and opk res: matrix result in SCALAR representation even the problem is a vector problem ! the calling function has to do the conversion from SCALAR MATRIX to MATRIX of MATRIX in case of vector problem
Assume here that either Kernel is Matrix or ShapeFunctions are vectors
computeRowColIE#
-
template<typename T, typename K>
void xlifepp::computeRowColIE(const SuBilinearForm &subf, bool row, number_t rc, T *rowcol, number_t n, const std::vector<number_t> &crDofs, const std::vector<Element*> &crElts, const Space *rcSpace, IEcomputationParameters &ieparams, K &vt, const std::list<std::multimap<real_t, IntgMeth>> &intgMaps, const std::vector<KernelOperatorOnUnknowns*> &kopregs, const std::vector<KernelOperatorOnUnknowns*> &kopsings, const std::map<Element*, GeoNumPair> &sidelts_u, const std::map<Element*, GeoNumPair> &sidelts_v, bool noUpdatedNormal, bool same_interpolation, bool sym)#
-
compute a row or a col of integral equation subf: bilinear form defining ie to compute row: true if a row computation, false if a col computation n: length of row/col rowcol: pointer to the first element of row or col, has to be correctly sized before rc: row/col index (>=1) crDofs: col/ row dof indices crElts: list of elements supporting col/row dofs rcSpace: space of row/col dof IEcomputationParameters: computation ie parameters intgMaps: list of integration methods to be used (built outside) kopregs , kopsings: list of regular and singular kernels when required
NOTE:for the moment this routine uses the general computePartialIE that involves LargeMatrix
computeSPfunByQuadrature#
-
template<typename K>
void xlifepp::computeSPfunByQuadrature(const std::vector<Vector<K>> &val, const SpectralBasis &spbasis, const std::vector<Point> &phyPts, const Quadrature &quad, std::vector<Vector<K>> &phi_w, bool isconj, const Function *mapto = nullptr)#
-
utility for computeSP: compute sum_q[pq*phi_m(Xq)*wj(xq)] from wj(xq) GENERAL CASE (xq, Xq) : quadrature points in reference/physical space (phi_m) : basis functions from spectral basis (pq) : quadrature weights (wj(xq)) : FE shape functions at quadrature points (already computed)
val: wj(xq)) may be d-vector shape functions: val(q) = w11(xq),w12(xq), …, w1d(xq), w21(xq), … spbasis: spectral basis (function) phyPts: physical points quad: quadrature object mapto: if non zero, pointer to the map: domain -> reference domain of spectral basis
phi_w: computed values sum_q[pq*phi_m(Xq)*wj(xq)] when isconj=false sum_q[pq*conj(phi_m(Xq))*wj(xq)] when isconj=true
computeSPintByQuadrature#
-
template<typename K>
void xlifepp::computeSPintByQuadrature(const std::vector<Vector<K>> &val, const SpectralBasis &spbasis, const std::vector<Point> &phyPts, const Quadrature &quad, const Element &elt, const Space *space_u, const GeomDomain *dom, const std::vector<ShapeValues> &shv, std::vector<Vector<K>> &phi_w, bool isconj, const Function *mapto = nullptr)#
-
utility for computeSP, compute sum_q[pq*phi_m(Xq) op wj(xq)] from wj(xq) (INTERPOLATED CASE, interpolated spectral basis function) (xq, Xq) : quadrature points in reference/physical space (phi_m) : basis functions from spectral basis (pq) : quadrature weights (wj(xq)) : FE shape functions at quadrature points (already computed) op: * or |, automatically detected regarding structure of SpectralBasis
phi_m(Xq) is computed by interpolation: sum_s phi_ms tau_s(xq) where phi_ms are components of phi_m in current element two cases occur:
same interpolation (common case) -> tau_s = wj
different interpolation -> computation of tau_s
val: wj(xq)) may be d-vector shape functions: val(q) = w11(xq),w12(xq), …, w1d(xq), w21(xq), … spbasis: spectral basis (vector) phyPts: physical points quad: quadrature object mapto: if non zero, pointer to the map: domain -> reference domain of spectral basis elt: current element space_u: space dom: current domain shv: shapevalues
phi_w: computed values Vjm=sum_q[pq*phi_m(Xq) op wj(xq)] ( say phi_w(j)=[Vj1,Vj2, …, Vjn])
computeSPOperator#
-
template<typename K>
void xlifepp::computeSPOperator(const OperatorOnUnknown &op, const SpectralBasis *spbasis, const Point &x, ValueType vtphi, number_t nbfun, dimen_t dimfun, Vector<K> &val, const Vector<real_t> *np = nullptr)#
-
compute values of operator on spectral unknown at quadrature point, say op(phi_n)(x) with (phi) i=1,n the spectral functions and x a quadrature point in physical space
op: operator on unknown basis: spectral basis associated to unknown x: point where operator is evaluated (in physical space of spectral functions) vtphi: value type of basis function nbfun: number of function dimfun: dimension of function val: computed values as a vector of vectors: val = (op(phi_n)(x)) i=1,n phyPoints: quadrature points in physical space
NOTE: operator with derivatives are only supported with ANALYTICAL spectral functions in Function defining them, user has to provide derivatives using the parameter “derivative” and its value Number(_dx), Number(_dxx), ….
operator with derivatives are not yet handled for VECTOR spectral functions
conj#
-
Matrix<complex_t> xlifepp::conj(const Matrix<complex_t> &cB)#
-
conjugate a complex matrix
conjugate complex matrix
-
Matrix<real_t> xlifepp::conj(const Matrix<real_t> &cB)#
-
conjugate a real matrix (do nothing)
conjugate real matrix (compatibility)
-
template<typename K>
MatrixEigenDense<K> xlifepp::conj(const MatrixEigenDense<K> &mat)#
-
MatrixEntry xlifepp::conj(const MatrixEntry &me)#
-
return the conjugate of a matrix entry
-
inline real_t xlifepp::conj(const real_t&)#
-
inline SymbolicFunction &xlifepp::conj(const SymbolicFunction &f)#
-
TermMatrix xlifepp::conj(const TermMatrix &tm)#
-
TermVector xlifepp::conj(const TermVector &tv)#
-
conjugate TermVector
-
template<typename K>
VectorEigenDense<K> xlifepp::conj(const VectorEigenDense<K> &v)#
-
Conjugate a vector.
- Parameters:
-
v – [in] source vector
- Returns:
-
conjugated vector
-
OperatorOnFunction &xlifepp::conj(Function&)#
-
conjugate f
-
OperatorOnKernel &xlifepp::conj(Kernel&)#
-
conjugate k
-
OperatorOnFunction &xlifepp::conj(OperatorOnFunction&)#
-
conjugate opf
-
OperatorOnKernel &xlifepp::conj(OperatorOnKernel&)#
-
conjugate opk
-
SymbolicTermMatrix &xlifepp::conj(SymbolicTermMatrix &S)#
-
template<typename T>
inline Function &xlifepp::conj(T (*fun)(const Point&, const Point&, Parameters&))#
-
template<typename T>
inline Function &xlifepp::conj(T (*fun)(const Point&, Parameters&))#
-
template<typename T>
inline Function &xlifepp::conj(T (*fun)(const Vector<Point>&, const Vector<Point>&, Parameters&))#
-
inline Unknown &xlifepp::conj(TestFunction &v)#
conjTpl#
-
template<typename T1_iterator, typename R_iterator>
void xlifepp::conjTpl(T1_iterator b1, T1_iterator e1, R_iterator Rb)#
-
returns complex conjugate of vector entries: R[i] = conj(T1[i])
constructorError#
-
void xlifepp::constructorError()#
-
message sent when in trouble in object constructor
continuedFractionOfE1#
-
complex_t xlifepp::continuedFractionOfE1(const complex_t &z)#
-
continued fraction in E1 formula (used for ‘large’ z)
convertmeshfile#
-
int xlifepp::convertmeshfile(const string_t &inputfilename, string_t &outputfilename)#
convexHull2D#
coords#
cos#
-
inline SuTermVector xlifepp::cos(const SuTermVector &s)#
-
inline SymbolicFunction &xlifepp::cos(const SymbolicFunction &f)#
-
inline TermVector xlifepp::cos(const TermVector &s)#
cosh#
-
inline SuTermVector xlifepp::cosh(const SuTermVector &s)#
-
inline SymbolicFunction &xlifepp::cosh(const SymbolicFunction &f)#
-
inline TermVector xlifepp::cosh(const TermVector &s)#
cpp11#
-
inline bool xlifepp::cpp11()#
cpuTime#
-
real_t xlifepp::cpuTime()#
-
returns user time (“cputime”) interval since last runtime ‘call’ according to unit defined in Time::deltaCpuTime
returns user time (“cputime”) interval in sec.
since last runtime ‘call’
-
real_t xlifepp::cpuTime(const string_t &comment, CoutStream &out)#
-
real_t xlifepp::cpuTime(const string_t &comment, PrintStream &out)#
-
real_t xlifepp::cpuTime(const string_t &comment, std::ostream &out = std::cout)#
-
returns user time (“cputime”) interval in sec.
since last runtime ‘call’ and prints it with comment
crack#
-
GeomDomain &xlifepp::crack(const GeomDomain &side1, const GeomDomain &side2)#
-
defined a crack domain from both sides of the crack in fact, define the crack domain as side 1
defined a crack domain from both sides of the crack (alias)
-
void xlifepp::crack(Geometry &g1, CrackType ct = _closedCrack, string_t domNameToOpen = string_t())#
-
user shortcut to crack one geometry
-
void xlifepp::crack(Geometry &g1, Geometry &g2, CrackType ct = _closedCrack, string_t domNameToOpen = string_t())#
-
user shortcut to crack 2 geometries
-
void xlifepp::crack(Geometry &g1, Geometry &g2, Geometry &g3, CrackType ct = _closedCrack, string_t domNameToOpen = string_t())#
-
user shortcut to crack 3 geometries
-
void xlifepp::crack(Geometry &g1, Geometry &g2, Geometry &g3, Geometry &g4, CrackType ct = _closedCrack, string_t domNameToOpen = string_t())#
-
user shortcut to crack 4 geometries
-
void xlifepp::crack(Geometry &g1, Geometry &g2, Geometry &g3, Geometry &g4, Geometry &g5, CrackType ct = _closedCrack, string_t domNameToOpen = string_t())#
-
user shortcut to crack 5 geometries
createCdofs#
-
std::vector<DofComponent> xlifepp::createCdofs(const Unknown *u, const std::vector<number_t> &dofs)#
-
create cdofs from unknown dofs
createMatrixStorage#
-
MatrixStorage *xlifepp::createMatrixStorage(StorageType st, AccessType at, StorageBuildType sb, number_t nbr, number_t nbc, const std::vector<std::vector<number_t>> &indices, const string_t &idu)#
-
create matrix storage from indices (vector of column indices for each row)
createPath#
-
void xlifepp::createPath(Node<GeomElement>*, std::map<GeomElement*, bool>&, std::map<string_t, std::list<GeomElement*>>&)#
-
utility
createSideEltIndex#
-
void xlifepp::createSideEltIndex(const std::vector<GeomElement*> &elements, std::map<string_t, GeomElement*> &sideEltIndex)#
-
create an index of all side elements in given side element list, do not clear current sideEltIndex !
create the side index map of side elements of a list of elements
createSideIndex#
-
void xlifepp::createSideIndex(const MeshDomain &mdom, std::map<string_t, std::vector<GeoNumPair>> &sideIndex)#
-
create an index of all sides of a meshDomain similar to previous one, but dedicated to any domain
create the side index map of a MeshDomain
-
void xlifepp::createSideIndex(const std::vector<GeomElement*> &elements, std::map<string_t, std::vector<GeoNumPair>> &sideIndex)#
-
create an index of all sides of a list of elements very similar to buildSides function except the fact that no new side element are created do not clear current sideIndex !
create the side index map of a list of elements
createTeXFile#
-
void xlifepp::createTeXFile(const string_t &TeXFilename, subdivision::SubdivisionMesh *TM_p, const float psi, const float theta, const number_t nbviews, const std::string &DimProj, const bool withInterface, const bool withElems)#
-
create TeX file, using Fig4TeX macros, to draw the mesh
cross3D#
crossProduct#
-
inline complex_t xlifepp::crossProduct(const complex_t &x, const complex_t &y)#
-
inline complex_t xlifepp::crossProduct(const complex_t &x, const real_t &y)#
-
inline complex_t xlifepp::crossProduct(const real_t &x, const complex_t &y)#
-
inline real_t xlifepp::crossProduct(const real_t &x, const real_t &y)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::crossProduct(const std::vector<PolynomialT<K>> &p, const std::vector<K> &v)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::crossProduct(const std::vector<PolynomialT<K>> &p, const std::vector<PolynomialT<K>> &q)#
-
template<typename T>
std::vector<T> xlifepp::crossProduct(const std::vector<T> &u, const std::vector<T> &v)#
-
crossproduct of two vectors (dimension 2 and 3), be care in 2D return a 1-vector
-
Vector<complex_t> xlifepp::crossProduct(const Vector<complex_t> &u, const Vector<real_t> &v)#
-
Specialization complex_t/real_t of cross product.
-
template<typename K, typename IteratorV, typename IteratorR>
void xlifepp::crossProduct(const Vector<K> &u, const IteratorV &itv, IteratorR &itr)#
-
cross product with vector and iterator in 3D and 2D (return a scalar)
crossProduct2D#
-
real_t xlifepp::crossProduct2D(const Point &O, const Point &A, const Point &B)#
-
returns the cross product OAxOB (2D)
curl#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::curl(const MonomialT<K> &m, dimen_t d = 3)#
-
template<typename K>
PolynomialsBasisT<K> xlifepp::curl(const PolynomialsBasisT<K> &ps)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::curl(const PolynomialT<K> &p, dimen_t d = 3)#
-
template<typename K>
std::vector<PolynomialT<K>> xlifepp::curl(const std::vector<PolynomialT<K>> &p)#
-
OperatorOnUnknown &xlifepp::curl(const Unknown &un)#
curl_x#
-
OperatorOnKernel &xlifepp::curl_x(const Kernel&)#
-
curl_x(k)
-
OperatorOnKernel &xlifepp::curl_x(OperatorOnKernel&)#
-
curl_x(opk)
curl_y#
-
OperatorOnKernel &xlifepp::curl_y(const Kernel&)#
-
curl_y(k)
-
OperatorOnKernel &xlifepp::curl_y(OperatorOnKernel&)#
-
curl_y(opk)
curlG#
-
OperatorOnUnknown &xlifepp::curlG(const Unknown &un, const complex_t &ax, const complex_t &ay, const complex_t &az, const complex_t &at)#
curlS#
-
OperatorOnUnknown &xlifepp::curlS(const Unknown &un)#
currentThread#
curThread#
cylinderSidePartGeodesic#
-
Vector<real_t> xlifepp::cylinderSidePartGeodesic(const Point &P, Parameters ¶ms, DiffOpType dif)#
cylinderSidePartGeodesicCurvatures#
-
Vector<real_t> xlifepp::cylinderSidePartGeodesicCurvatures(const Point &p, const Point &d, bool fromParameters, Parameters &pars)#
cylinderSidePartGeodesicNormal#
-
Vector<real_t> xlifepp::cylinderSidePartGeodesicNormal(const Point &p, bool fromParameters, Parameters &pars)#