@@ -54,7 +54,7 @@ Sub-entity of a cell, given by topological dimension and index
54
54
)" ;
55
55
56
56
const std::string create_lattice__celltype_n_type_exterior = R"(
57
- @brief Create a lattice of points on a reference cell optionally
57
+ Create a lattice of points on a reference cell optionally
58
58
including the outer surface points.
59
59
60
60
For a given `celltype`, this creates a set of points on a regular
@@ -80,7 +80,7 @@ type::equispaced when `n < 3`.
80
80
)" ;
81
81
82
82
const std::string create_lattice__celltype_n_type_exterior_method = R"(
83
- @brief Create a lattice of points on a reference cell optionally
83
+ Create a lattice of points on a reference cell optionally
84
84
including the outer surface points.
85
85
86
86
For a given `celltype`, this creates a set of points on a regular
@@ -169,7 +169,7 @@ Get the jacobians of the facets of a reference cell
169
169
)" ;
170
170
171
171
const std::string FiniteElement__tabulate = R"(
172
- @brief Compute basis values and derivatives at set of points.
172
+ Compute basis values and derivatives at set of points.
173
173
174
174
NOTE: The version of `FiniteElement::tabulate` with the basis data
175
175
as an out argument should be preferred for repeated call where
@@ -270,7 +270,7 @@ performance is critical.
270
270
)" ;
271
271
272
272
const std::string FiniteElement__base_transformations = R"(
273
- @brief Get the base transformations.
273
+ Get the base transformations.
274
274
275
275
The base transformations represent the effect of rotating or reflecting
276
276
a subentity of the cell on the numbering and orientation of the DOFs.
@@ -409,6 +409,7 @@ Create a custom finite element
409
409
discontinuous: Indicates whether or not this is the discontinuous version of the element
410
410
highest_complete_degree: The highest degree n such that a Lagrange (or vector Lagrange) element of degree n is a subspace of this element
411
411
highest_degree: The degree of a polynomial in this element's polyset
412
+ poly_type: The type of polyset to use for this element
412
413
413
414
Returns:
414
415
A custom finite element
@@ -434,30 +435,30 @@ Create an element using a given Lagrange variant and a given DPC variant
434
435
)" ;
435
436
436
437
const std::string compute_interpolation_operator = R"(
437
- Computes a matrix that represents the interpolation between two
438
- elements.
438
+ Compute a matrix that represents the interpolation between
439
+ two elements.
439
440
440
441
If the two elements have the same value size, this function returns
441
442
the interpolation between them.
442
443
443
- If element_from has value size 1 and element_to has value size > 1, then
444
- this function returns a matrix to interpolate from a blocked element_from
445
- (ie multiple copies of element_from) into element_to.
444
+ If element_from has value size 1 and element_to has value size > 1,
445
+ then this function returns a matrix to interpolate from a blocked
446
+ element_from (ie multiple copies of element_from) into element_to.
446
447
447
- If element_to has value size 1 and element_from has value size > 1, then
448
- this function returns a matrix that interpolates the components of
449
- element_from into copies of element_to.
448
+ If element_to has value size 1 and element_from has value size > 1,
449
+ then this function returns a matrix that interpolates the components
450
+ of element_from into copies of element_to.
450
451
451
452
NOTE: If the elements have different value sizes and both are
452
453
greater than 1, this function throws a runtime error
453
454
454
- In order to interpolate functions between finite element spaces on arbitrary
455
- cells, the functions must be pulled back to the reference element (this pull
456
- back includes applying DOF transformations). The matrix that this function
457
- returns can then be applied, then the result pushed forward to the cell. If
458
- element_from and element_to have the same map type, then only the DOF
459
- transformations need to be applied, as the pull back and push forward cancel
460
- each other out.
455
+ In order to interpolate functions between finite element spaces on
456
+ arbitrary cells, the functions must be pulled back to the reference
457
+ element (this pull back includes applying DOF transformations). The
458
+ matrix that this function returns can then be applied, then the
459
+ result pushed forward to the cell. If element_from and element_to
460
+ have the same map type, then only the DOF transformations need to be
461
+ applied, as the pull back and push forward cancel each other out.
461
462
462
463
Args:
463
464
element_from: The element to interpolate from
@@ -470,7 +471,7 @@ each other out.
470
471
)" ;
471
472
472
473
const std::string tabulate_polynomial_set = R"(
473
- @brief Tabulate the orthonormal polynomial basis, and derivatives,
474
+ Tabulate the orthonormal polynomial basis, and derivatives,
474
475
at points on the reference cell.
475
476
476
477
All derivatives up to the given order are computed. If derivatives
@@ -486,6 +487,7 @@ there are `(nderiv + 1)(nderiv + 2)(nderiv + 3)/6`. The ordering is
486
487
487
488
Args:
488
489
celltype: Cell type
490
+ ptype: The polynomial type
489
491
d: Polynomial degree
490
492
n: Maximum derivative order. Use n = 0 for the basis only.
491
493
x: Points at which to evaluate the basis. The shape is (number of points, geometric dimension).
@@ -512,7 +514,7 @@ there are `(nderiv + 1)(nderiv + 2)(nderiv + 3)/6`. The ordering is
512
514
)" ;
513
515
514
516
const std::string tabulate_polynomials = R"(
515
- @brief Tabulate a set of polynomials.
517
+ Tabulate a set of polynomials.
516
518
517
519
Args:
518
520
polytype: Polynomial type
@@ -526,7 +528,7 @@ const std::string tabulate_polynomials = R"(
526
528
)" ;
527
529
528
530
const std::string polynomials_dim = R"(
529
- @brief Dimension of a polynomial space.
531
+ Dimension of a polynomial space.
530
532
531
533
Args:
532
534
polytype: The polynomial type
@@ -538,24 +540,13 @@ const std::string polynomials_dim = R"(
538
540
polynomial degree @p d
539
541
)" ;
540
542
541
- const std::string make_quadrature__rule_celltype_m = R"(
543
+ const std::string make_quadrature__rule_celltype_polytype_m = R"(
542
544
Make a quadrature rule on a reference cell
543
545
544
546
Args:
545
547
rule: Type of quadrature rule (or use quadrature::Default)
546
548
celltype: The cell type
547
- m: Maximum degree of polynomial that this quadrature rule will integrate exactly
548
-
549
- Returns:
550
- List of points and list of weights. The number of points
551
- arrays has shape (num points, gdim)
552
- )" ;
553
-
554
- const std::string make_quadrature__celltype_m = R"(
555
- Make a default quadrature rule on reference cell
556
-
557
- Args:
558
- celltype: The cell type
549
+ polytype: The polyset type
559
550
m: Maximum degree of polynomial that this quadrature rule will integrate exactly
560
551
561
552
Returns:
@@ -574,9 +565,9 @@ Compute trivial indexing in a 1D array (for completeness)
574
565
)" ;
575
566
576
567
const std::string index__p_q = R"(
577
- Compute indexing in a 2D triangular array compressed into a 1D array.
578
- This can be used to find the index of a derivative returned by
579
- `FiniteElement::tabulate`. For instance to find d2N/dx2, use
568
+ Compute indexing in a 2D triangular array compressed into a 1D
569
+ array. This can be used to find the index of a derivative returned
570
+ by `FiniteElement::tabulate`. For instance to find d2N/dx2, use
580
571
`FiniteElement::tabulate(2, points)[idx(2, 0)];`
581
572
582
573
Args:
@@ -588,7 +579,8 @@ This can be used to find the index of a derivative returned by
588
579
)" ;
589
580
590
581
const std::string index__p_q_r = R"(
591
- Compute indexing in a 3D tetrahedral array compressed into a 1D array
582
+ Compute indexing in a 3D tetrahedral array compressed into a 1D
583
+ array
592
584
593
585
Args:
594
586
p: Index in x
@@ -610,4 +602,32 @@ Get the intersection of two Sobolev spaces.
610
602
Intersection of the spaces
611
603
)" ;
612
604
605
+ const std::string superset = R"(
606
+ Get the polyset types that is a superset of two types on the given
607
+ cell
608
+
609
+ Args:
610
+ cell: The cell type
611
+ type1: The first polyset type
612
+ type2: The second polyset type
613
+
614
+ Returns::
615
+ The superset type
616
+ )" ;
617
+
618
+ const std::string restriction = R"(
619
+ Get the polyset type that represents the restrictions of a type on a
620
+ subentity
621
+
622
+ Args:
623
+ ptype: The polyset type
624
+ cell: The cell type
625
+ restriction_cell: The cell type of the subentity
626
+
627
+ Returns::
628
+ The restricted polyset type
629
+ )" ;
630
+
631
+
632
+
613
633
} // namespace basix::docstring
0 commit comments