This library contains methods to create numerical quadrature rules for domains bounded by one or two implicit level sets.
$ dotnet add package IntersectingQuadrature
A package that offers methods to create quadrature rules for domains defined by one or two intersecting level sets. It is used in the discontinuous Galerkin framework BoSSS developed by the chair of fluid dynamics, Technical University of Darmstadt.
Create a .Net project and simply include the NuGet package in your .Net project through nuget.org.
Place this code in program.cs and run it :
using IntersectingQuadrature;
using IntersectingQuadrature.Tensor;
namespace Example {
class Program {
static void Main(string[] args) {
IScalarFunction alpha = new LinearPolynomial(0, Tensor1.Vector(1, 0, 0));
IScalarFunction beta = new LinearPolynomial(0, Tensor1.Vector(0, 1, 0));
IQuadrater finder = IntersectingQuadrature.Methods.Create();
HyperRectangle cell = HyperRectangle.UnitCube(3);
QuadratureRule rule = finder.FindRule(alpha, Symbol.Minus, beta, Symbol.Minus, cell, 3);
}
}
}
This simple example creates a quadrature rule with $3 \times 3 \times 3 = 27$ nodes over the volume of a 3-dimensional domain with flat surfaces.
Simply include the NuGet package in your .Net project and have a look at the documentation.
If you want to learn about the method you can find a detailed explanation in this paper.
Lauritz Beck, Chair of Fluid Dynamics, Technical University of Darmstadt
Graduate-School-CE, Technical University of Darmstadt
Intersecting Quadrature gratefully uses
Copyright (c) 2023 Lauritz Beck
MIT