xlifepp – Functions – P#
parametrization_BezierSpline#
-
inline Vector<real_t> xlifepp::parametrization_BezierSpline(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_BSpline#
-
inline Vector<real_t> xlifepp::parametrization_BSpline(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_C2Spline#
-
inline Vector<real_t> xlifepp::parametrization_C2Spline(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_CatmullRomSpline#
-
inline Vector<real_t> xlifepp::parametrization_CatmullRomSpline(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_CircArc#
-
inline Vector<real_t> xlifepp::parametrization_CircArc(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_EllArc#
-
inline Vector<real_t> xlifepp::parametrization_EllArc(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Ellipse#
-
inline Vector<real_t> xlifepp::parametrization_Ellipse(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_EllipsoidSidePart#
-
inline Vector<real_t> xlifepp::parametrization_EllipsoidSidePart(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Nurbs#
-
inline Vector<real_t> xlifepp::parametrization_Nurbs(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Parallelogram#
-
inline Vector<real_t> xlifepp::parametrization_Parallelogram(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_ParametrizedArc#
-
inline Vector<real_t> xlifepp::parametrization_ParametrizedArc(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Piecewise#
-
inline Vector<real_t> xlifepp::parametrization_Piecewise(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Quadrangle#
-
inline Vector<real_t> xlifepp::parametrization_Quadrangle(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Segment#
-
inline Vector<real_t> xlifepp::parametrization_Segment(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_SplineArc#
-
inline Vector<real_t> xlifepp::parametrization_SplineArc(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_SplineSurface#
-
inline Vector<real_t> xlifepp::parametrization_SplineSurface(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parametrization_Triangle#
-
inline Vector<real_t> xlifepp::parametrization_Triangle(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call (Duffy)
parametrization_TrunkSidePart#
-
inline Vector<real_t> xlifepp::parametrization_TrunkSidePart(const Point &pt, Parameters &pars, DiffOpType d = _id)#
-
extern parametrization call
parfun_error#
-
inline void xlifepp::parfun_error(const string_t &com, DiffOpType d)#
parmap_error#
parseEigenPars#
-
void xlifepp::parseEigenPars(const std::vector<Parameter> ps, const number_t nevmax, std::set<ParameterKey> &usedParams, EigPars &ep)#
-
Parser of user parameters for eigen solvers (internal tool) Returns the list of parameter keys specified by the user (usedParams) and the parameter values to be used (ep).
Nota: the solver parameter is skipped.
permute#
-
template<typename T>
std::vector<T> &xlifepp::permute(std::vector<T> &v, std::vector<T> &vp, const std::vector<number_t> &p)#
-
permutation of a vector v: vector to be permuted vp: permuted vector p: permutation (index starts from 0) permutation is driven by the permutation vector p that may be smaller than the vector v (but not larger!): vp[i]= v[p[i]] i=0, p.size()
permuteInv#
-
template<typename T>
std::vector<T> &xlifepp::permuteInv(std::vector<T> &v, std::vector<T> &vp, const std::vector<number_t> &p)#
-
inverse permutation of a vector v: vector to be permuted vp: permuted vector p: permutation (index starts from 0) permutation is driven by the permutation vector p that may be smaller than the vector v (but not larger!): vp[p[i]]= v[i] i=0, p.size()
physicalDomain#
-
string_t xlifepp::physicalDomain(const std::vector<string_t> &names, const string_t &sid, std::vector<PhysicalData> &pids)#
-
create geo Physical domain string from names and the type of domain sd = “P” or “L” or “E” or “S”
create geo Physical domain string from names and type of side domain sd = “P” or “L” or “E” or “S”
-
string_t xlifepp::physicalDomain(const std::vector<string_t> &sidenames, const Strings &sids, std::vector<PhysicalData> &pids)#
-
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S”
create geo Physical domain string from sidenames and type of side domain sd = “P” or “L” or “E” or “S”
-
string_t xlifepp::physicalDomain(const string_t &domName, const string_t &sid, dimen_t dim, std::vector<PhysicalData> &pids)#
-
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S”
create geo Physical domain string from domain name, surface id, and dimension
-
string_t xlifepp::physicalDomain(const string_t &domName, const Strings &sids, dimen_t dim, std::vector<PhysicalData> &pids)#
-
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S”
create geo Physical domain string from domain name, surface ids, and dimension
physicalDomainForExtrusion#
-
string_t xlifepp::physicalDomainForExtrusion(const Geometry &g, const std::vector<string_t> &sidenames, const std::vector<std::pair<number_t, number_t>> &nbSidesPerComponent, const string_t &sd, const std::map<string_t, Strings> &inputs, std::vector<PhysicalData> &pids, real_t angle)#
-
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S” for extrusion geometries
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S”
physicalDomains#
-
string_t xlifepp::physicalDomains(const std::vector<PhysicalData> &pids)#
-
create geo Physical domain string from sidenames and the type of side domain sd = “P” or “L” or “E” or “S”
pictureCrack#
-
void xlifepp::pictureCrack(const std::set<GeomElement*> &elts1, const std::set<GeomElement*> &elts2, const string_t &fn)#
planeNormal#
-
Vector<real_t> xlifepp::planeNormal(const Point &p, bool fromParameters, Parameters &pars)#
-
function returning the plane normal stored in Parameters pars
planeSurfaceFrom#
plot#
-
void xlifepp::plot(const TermVector &tv, IOFormat iof)#
-
plot a TermVector using external call of appropriate viewer
plotting a TermVector
point_to_xyz#
-
inline Vector<real_t> xlifepp::point_to_xyz(const Point &p, Parameters &pa = defaultParameters)#
pointDistance#
pointer#
pointInElement#
-
bool xlifepp::pointInElement(const Point &P, const GeomElement &E, real_t tol)#
pointInPolygon#
pointInPolyhedron#
pointOrientation2D#
-
int xlifepp::pointOrientation2D(const Point &A, const Point &B, const Point &C, real_t tol)#
-
determines if points A, B and C are colinear (returns 0) or a clockwise triangle (returns 1) or a counter-clockwise triangle (returns 2). A, B and C are supposed to be 2D points (not checked)
determines if points A, B and C are colinear, a clockwise triangle or a counter-clockwise triangle
pointQuadrature#
-
Quadrature *xlifepp::pointQuadrature(QuadRule rule, number_t deg)#
pointReflect#
-
template<class Geom>
Geom xlifepp::pointReflect(const Geom &g, const Parameter &p1)#
-
apply a point reflection on a Geom (1 key) (template external)
-
template<class Geom>
Geom xlifepp::pointReflect(const Geom &g, const Point &c = Point(0., 0., 0.))#
-
apply a point reflection on a Geom (template external)
-
inline Geometry xlifepp::pointReflect(const Geometry &g, const Parameter &p1)#
-
apply a point reflection on a Geometry (1 key) (template external)
-
inline Geometry xlifepp::pointReflect(const Geometry &g, const Point &c = Point(0., 0., 0.))#
-
apply a point reflection on a Geometry (template external)
-
Mesh xlifepp::pointReflect(const Mesh &m, const Parameter &p1)#
-
apply a point reflection on a Mesh (1 key)
apply a point reflection on a Mesh (1 keys) (external)
-
Mesh xlifepp::pointReflect(const Mesh &m, const Parameter &p1, const Parameter &p2)#
-
apply a point reflection on a Mesh (2 keys)
apply a point reflection on a Mesh (2 keys) (external)
-
Mesh xlifepp::pointReflect(const Mesh &m, const Parameter &p1, const Parameter &p2, const Parameter &p3)#
-
apply a point reflection on a Mesh (3 keys)
apply a point reflection on a Mesh (3 keys) (external)
-
Mesh xlifepp::pointReflect(const Mesh &m, const Point &c)#
-
apply a point reflection on a Mesh (external)
pow#
-
inline SuTermVector xlifepp::pow(const SuTermVector &s, const real_t &p)#
-
inline SymbolicFunction &xlifepp::pow(const SymbolicFunction &f, const double &p)#
-
inline TermVector xlifepp::pow(const TermVector &s, const real_t &p)#
power#
-
inline SymbolicFunction &xlifepp::power(const real_t &r, const SymbolicFunction &f)#
-
inline SymbolicFunction &xlifepp::power(const SymbolicFunction &f, const real_t &r)#
-
inline SymbolicFunction &xlifepp::power(const SymbolicFunction &f1, const SymbolicFunction &f2)#
preComputationFE#
-
inline void xlifepp::preComputationFE(Space *subsp, const MeshDomain *dom, std::set<Quadrature*> &quads, dimen_t nbc, bool der1, bool der2, bool invertJacobian, bool nor, bool mapquad, bool useAux, bool isogeo)#
preComputationIE#
-
void xlifepp::preComputationIE(const GeomDomain &dom, const Space *subsp, std::set<Quadrature*> &quads, dimen_t nbc, bool useAux, bool der1, bool der2, bool nor, bool extendedDomain, bool isogeo)#
-
precompute geometry data and shape values on any element for any quadrature involved restricted to one order geometric element, take large place but computation is then faster in case of IE!!!
precompute geometry data and shape values on any element for any quadrature involved
dom: integration domain subsp: subspace providing the list of elements quads: list of quadratures nbc: number of components of the unknown useAux: use relt->qshvs_aux to store shapevalues (occurs when relt->qshvs_ is already used) der1: compute shape first derivatives if true der2: compute shape second derivatives if true nor: compute normal if true extendedDomain: true when dealing with an extended domain isogeo : if true, use domain parametrization in geometric computation
preComputationIE_old#
-
void xlifepp::preComputationIE_old(const Space *subsp, std::set<Quadrature*> &quads, dimen_t nbc, bool der1, bool der2, bool nor)#
-
precompute geometry data and shape values on any element for any quadrature involved restricted to one order geometric element, take large place but computation is then faster in case of IE!!!
subsp: subspace providing the list of elements quads: list of quadratures nbc: number of components of the unknown der1: compute shape first derivatives if true der2: compute shape second derivatives if true nor: compute normal if true
prepareLinearSystem#
-
TermVector xlifepp::prepareLinearSystem(TermMatrix&, TermVector&, MatrixEntry*&, VectorEntry*&, StorageType, AccessType, bool)#
-
prepare linear system AX=B (internal tool)
print#
-
void xlifepp::print(const Parameters&)#
-
extern print to default ostream
printAllInMemory#
-
void xlifepp::printAllInMemory(PrintStream &os, size_t vb)#
-
void xlifepp::printAllInMemory(std::ostream &os, size_t vb)#
printCoo#
printDense#
printListDiffOp#
-
void xlifepp::printListDiffOp(CoutStream&)#
-
print the list of differential operators (check utility)
-
void xlifepp::printListDiffOp(std::ostream&)#
-
print the list of differential operators (check utility)
printMatrixStorages#
-
inline void xlifepp::printMatrixStorages(PrintStream &os)#
-
void xlifepp::printMatrixStorages(std::ostream&)#
-
print list of MatrixStorage’s
printRowWise#
-
template<typename Iterator>
void xlifepp::printRowWise(std::ostream &os, const string_t &title, number_t perRow, number_t width, Iterator it1, Iterator it2)#
-
prints container of integer type on opened ostream with a constant number of entries per row; requires “operator<<” this is a stl-like utility: iterators are either stl::iterators or C-pointers
-
template<typename Iterator>
void xlifepp::printRowWise(std::ostream &os, const string_t &title, number_t perRow, number_t width, number_t prec, Iterator it1, Iterator it2)#
-
prints container of real or complex type on opened ostream with a constant number of entries per row; requires “operator<<” this is a stl-like utility: iterators are either stl::iterators or C-pointers
printVector#
prismLagrangeStd#
-
RefElement *xlifepp::prismLagrangeStd(const Interpolation *interp_p)#
-
prismLagrangeStd construction of a prismatic Lagrange Reference Element by interpolation number
Extern class related functions and declarations.
prismQuadrature#
-
Quadrature *xlifepp::prismQuadrature(QuadRule, number_t)#
-
find or create quadrature rule over the unit prism
prismValid#
-
bool xlifepp::prismValid(const std::set<std::pair<number_t, Point>, SortPointsByXAndY> &face1, const std::set<std::pair<number_t, Point>, SortPointsByXAndY> &face2)#
-
determines if a prism defined by its triangular faces is valid or not faces must coincide first point of each face has coordinates xmin and ymin
projection#
-
TermVector xlifepp::projection(const TermVector &X, Space &W, const Unknown &u, ProjectorType pt, KeepStatus keep)#
-
TermVector xlifepp::projection(const TermVector &X, Space &W, dimen_t nbcW, const Unknown &u, ProjectorType pt, KeepStatus keep)#
-
TermVector xlifepp::projection(const TermVector &X, Space &W, dimen_t nbcW, ProjectorType pt, KeepStatus keep)#
-
TermVector xlifepp::projection(const TermVector &X, Space &W, ProjectorType pt, KeepStatus keep)#
projectionOfPointOnPlane#
-
Point xlifepp::projectionOfPointOnPlane(const Point &M, const Point &P1, const Point &P2, const Point &P3, real_t &h, bool only3D)#
-
orthogonal projection of point M on plane defined by 3 non aligned given points (P1, P2, and P3) returns the projected point P and the distance h between M and the plane
orthogonal projection of a point on a plane
projectionOfSegmentOnPlane#
-
std::pair<Point, Point> xlifepp::projectionOfSegmentOnPlane(const Point &S1, const Point &S2, const Point &P1, const Point &P2, const Point &P3, real_t &h)#
-
orthogonal projection of segment defined by the points T1 and T2 on the parallel plane defined by the 3 non aligned given points S1, S2, and S3 returns the projected points and the distance h between the segment and the plane
orthogonal projection of a segment on a parallel plane
projectionOfTriangleOnPlane#
-
std::vector<Point> xlifepp::projectionOfTriangleOnPlane(const Point &T1, const Point &T2, const Point &T3, const Point &P1, const Point &P2, const Point &P3, real_t &h)#
-
orthogonal projection of triangle defined by the points T1, T2 and T3 on the parallel plane defined by the 3 non aligned given points P1, P2, and P3 returns the projected points and the distance h between the triangle and the plane
orthogonal projection of a triangle on a parallel plane
projectionOnQuadrangle#
-
Point xlifepp::projectionOnQuadrangle(const Point &M, const Point &Q1, const Point &Q2, const Point &Q3, const Point &Q4, real_t &h)#
-
projection (minimal distance) of point M on quadrangle given by vertices Q1, Q2, Q3, Q4 (assuming Q1, Q2, Q3, Q4 are coplanar) returns the projected point P and the distance h=MP (2D-3D)
projection (minimal distance) of point M on quadrangle given points Q1, Q2, Q3 and Q4 (assuming Q1, Q2, Q3 and Q4 are coplanar)
projectionOnSegment#
projectionOnStraightLine#
-
Point xlifepp::projectionOnStraightLine(const Point &M, const Point &A, const Point &B, real_t &h, bool only3D)#
-
orthogonal projection of a point M on a straight line defined by 2 points (A and B) returns the projected point P and the distance h=MP
orthogonal projection of a point on a straight line
projectionOnTetrahedron#
-
Point xlifepp::projectionOnTetrahedron(const Point &M, const Point &T1, const Point &T2, const Point &T3, const Point &T4, real_t &h)#
-
projection (minimal distance) of point M on tetrahedron given vertices T1, T2, T3 and T4 returns the projected point P and the distance h=MP (3D)
projection (minimal distance) of point M on tetrahedron given points T1, T2, T3 and T4
projectionOnTriangle#
-
Point xlifepp::projectionOnTriangle(const Point &M, const Point &T1, const Point &T2, const Point &T3, real_t &h)#
-
projection (minimal distance) of point M on triangle given vertices T1, T2, and T3 returns the projected point P and the distance h=MP (2D-3D)
projection (minimal distance) of point M on triangle given vertices T1, T2, and T3
pyramidLagrangeStd#
-
RefElement *xlifepp::pyramidLagrangeStd(const Interpolation *interp_p)#
-
pyramidLagrangeStd construction of a pyramidatic Lagrange Reference Element by interpolation number
Extern class related functions and declarations.
pyramidQuadrature#
-
Quadrature *xlifepp::pyramidQuadrature(QuadRule, number_t)#
-
find or create quadrature rule over the unit pyramid