Seeder

The key functionalities of the seeder module include:
  • Generation of seed points within a specified box regularly or using quasi-random methods.

  • Filtering seed points based on signed distance functions.

  • Calculation of integration points and weights for standard geometric elements such as lines, triangles, and tetrahedrons in specific configurations.

  • Tensor product Gauß-Quadrature

Generation of nodes

regular_in_psdf(psdf, min, max, spacing[, atol])

Generates regular seed points within a box and filters them using psdf.

regular_in_box(min, max, spacing)

Generates regular seed points within a specified box.

quasi_random_in_psdf(psdf, min, max, ...[, ...])

Generates quasi-random seed points and filters them using psdf.

quasi_random_in_box(min, max, n_seeds, mode)

Generates quasi-random seed points within a specified box using the given mode.

gauss_points_in_psdf(psdf, min, max, ...[, ...])

Quadrature in background cells.

estimate_size(min, max, fill_ratio)

Estimates the region size based on the fill ratio.

just_in_psdf(psdf, x_seeds, n_seeds, atol[, ...])

Filters seed points based on a positive smooth distance function (psdf).

Numerical integration

tensor_product_two_coordinate_arrays(xi, yi)

Computes the tensor product of two coordinate arrays.

tensor_product_rule(roots_1d, weights_1d, dim)

Generates integration points and weights for tensor product quadrature rules.

gauss_legendre_1d(order)

Returns positions and weights for Gauss-Legendre quadrature for the interval [0,1]

gauss_legendre_nd(dimension, order)

Returns positions and weights for Gauss-Legendre quadrature in higher dimensions based on tensor product rules

gauss_lobatto_1d(order)

Returns positions and weights for Gauss-Lobatto quadrature for the interval [0,1]

gauss_lobatto_nd(dimension, order)

Returns positions and weights for Gauss-Lobatto quadrature in higher dimensions based on tensor product rules

int_pts_ref_tri(order)

Returns tuple with integration point coordinates and weights on a reference triangle, accurate up to polynomial order

int_pts_ref_tet(order)

Returns tuple with integration point coordinates and weights on a reference tetrahedron accurate up to polynomial order

int_pts_line(x_i, order)

Linear mapping of integration points on reference line to integration points on one physical line

int_pts_tri(x_i, order)

Linear mapping of integration points in reference triangle to integration points in one physical triangle

int_pts_tet(x_i, order)

Linear mapping of integration points in reference tetrahedron to integration points in one physical tetrahedron

int_pts_in_line_mesh(x_nodes, elem, order)

Given a mesh of lines, it linearly maps integration points from a reference line onto the actual lines

int_pts_in_tri_mesh(x_nodes, elem, order)

Given a mesh of triangles, it linearly maps integration points from a reference triangle into the actual triangles

int_pts_in_tet_mesh(x_nodes, elem, order)

Given a mesh of tetrahedrons, it linearly maps integration points from a reference tetrahedron into the actual tetrahedrons