Metadata-Version: 2.4
Name: ngstSpaceKit
Version: 1.0.2
Summary: ngstSpaceKit is an addon to ngsolve, that provides several new spaces / finite elements.
Project-URL: repository, https://codeberg.org/johann-cm/ngstspacekit
Project-URL: documentation, https://johann-cm.codeberg.page/ngstspacekit/docs/index.html
Author-email: Johann Carl Meyer <info@johannc.de>
License-Expression: LGPL-3.0-only
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: mkl>=2025.1.0
Requires-Dist: ngsolve>=6.2.2504
Requires-Dist: ngstrefftz>=0.3.2503
Description-Content-Type: text/markdown

# ![ngstSpaceKit](./assets/banner.png)

[![documentation](https://img.shields.io/badge/ngstSpaceKit-documentation-blue?logo=bookstack)](https://johann-cm.codeberg.page/ngstspacekit/docs/index.html)
[![examples](https://img.shields.io/badge/ngstSpaceKit-examples-%23F37626?logo=jupyter&logoColor=%23F37626)](https://johann-cm.codeberg.page/ngstspacekit/examples/index.html)

ngstSpaceKit is an addon to [ngsolve](https://ngsolve.org/) and [ngstrefftz](https://github.com/paulSt/ngstrefftz),
and provides a collection of finite element spaces.
The goal of this project is to explore possibilities of the conforming Trefftz Method,
and provide concrete example uses for it.

## Implemented Spaces

ngstSpaceKit implements a series of well-known finite elements,
that are not yet implemented in [ngsolve](https://ngsolve.org/):
- [Argyris](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#Argyris)
- [Bogner-Fox-Schmitt](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#BognerFoxSchmitt)
- [Crouzeix-Falk](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#CrouzeixFalk)
- [Hermite](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#HDiv)
- [Morley](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#Morley)

On top of that, there are other exotic spaces defined:
- a [weakly H1-conforming element](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#WeakH1),
  with the option to use the inner dofs with an embedded Trefftz formulation
- an [H(div)-conforming element](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#HDiv),
  with the option to use the inner dofs with an embedded Trefftz formulation
- a [Stokes mixed element](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit.html#WeakStokes),
  where the velocity part is weakly H(div)-conforming, and the remaining dofs adhering to a Stokes embedded Trefftz formulation

For demonstration purposes, there are some spaces implemented,
which already have a native [ngsolve](https://ngsolve.org/) implementation:
- [Brezzi-Douglas-Marini](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit/demo.html#BDM)
- [Crouzeix-Raviart](https://johann-cm.codeberg.page/ngstspacekit/docs/ngstSpaceKit/demo.html#CrouzeixRaviart)

## License

ngstSpaceKit is available under the [LGPL-3.0](./LICENSE) license.
