GooseFEM

Several types of Finite Element simulations in C++ (with a Python interface)

GPL-3.0 License

Stars
8
GooseFEM - Improving Python API Latest Release

Published by tdegeus over 1 year ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v1.3.2...v1.4.0

GooseFEM - Fixing setup.py

Published by tdegeus almost 2 years ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v1.3.1...v1.3.2

GooseFEM - Very minor bugfixes. Documentation updates

Published by tdegeus about 2 years ago

Bugfixes

  • [Python] Adding VectorPartitioned.copy*.
  • is_unique gave a broadcast error, instead of returning false for non-unique data.

Documentation

  • Removing ParaView example. Considered out-of-scope (better suited as example upstream).
  • Examples now Python-only for readability.
  • Using "furo" sphinx theme

Internal

  • Removing GMat tests. It was not clear which purpose they served.
GooseFEM - Improving (Python) API

Published by tdegeus over 2 years ago

API changes

  • [C++] [Python] Several functions now return a pointer to internal data rather than a copy.
    In the Python-API this changes these functions (e.g. .foo()) to properties (e.g. .foo).

  • [MeshQuad4.h] Renaming:

    • getCoarseMesh() to coarseMesh()
    • getFineMesh() to fineMesh()
    • getRegularMesh() to regularMesh()
    • getFineLayerMesh() to fineLayerMesh()
    • getMap() to map()
    • getMapFraction() to mapFraction()
      (immediate removal in Python, as there are any changes; functions marked as deprecated in C++).
  • [Iterate.h] Renaming:

    • .get() to .data()
      (immediate removal in Python, as there are any changes; functions marked as deprecated in C++).
  • [Mesh.h] Renaming:

    • .getElementType() to .elementType()
      (immediate removal in Python, as there are any changes; functions marked as deprecated in C++).
  • [Matrix*.h] Adding pointers to .data*().
    This deprecates Todiagonal
    (immediate removal in Python, as there are any changes; functions marked as deprecated in C++).

  • [Matrix*.h] Adding allocation free API to Python API.

Other changes

  • Integrating implementation and headers for maintainability.
    The user is expected to get an overview from the doxygen docs.

  • Using CRTP for Matrix*.

Future work

  • Working around xtensor bug and outdated GMat modules, see be7f823
GooseFEM - Improving Python bindings

Published by tdegeus over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v1.1.1...v1.2.0

GooseFEM - Improving Python naming

Published by tdegeus over 2 years ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v1.1.0...v1.1.1

GooseFEM - Mesh.Quad4.FineLayer: adding output

Published by tdegeus over 2 years ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v1.0.0...v1.1.0

GooseFEM - Library stable enough to be v1!

Published by tdegeus over 2 years ago

GooseFEM - Extracting mesh properties

Published by tdegeus over 2 years ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v0.13.1...v0.13.2

GooseFEM - Adding "nodal_mass"

Published by tdegeus almost 3 years ago

GooseFEM - v0.13.0

Published by tdegeus almost 3 years ago

What's Changed

Full Changelog: https://github.com/tdegeus/GooseFEM/compare/v0.12.10...v0.13.0

GooseFEM - Switching to scikit-build

Published by tdegeus about 3 years ago

  • Fixing small typos (#232)
  • Bugfix MatrixPartioned: fixed reordering mistakes "dot", "set", and "add" (tests were not run by mistake) (#232)
  • [Python] Switching to scikit-build (#232)
  • [CMake] Clean-up (#232)
  • Renaming "test" -> "tests" (#232)
  • [CI] Running tests in release mode
GooseFEM - Bugfix, minor API extension

Published by tdegeus about 3 years ago

  • Deprecating Iterate::StopList::stop* in favour of Iterate::StopList::insert_roll, Iterate::StopList::descending, Iterate::StopList::all_less
  • Fixing rare bug in Iterate::StopList::stop
  • Improving assertion messages (#231)
GooseFEM - Bugfix

Published by tdegeus about 3 years ago

Fixing typo

GooseFEM - Removing unused dependency

Published by tdegeus about 3 years ago

  • Removing unused pyxtensor dependency
GooseFEM - Relaxing build dependencies

Published by tdegeus about 3 years ago

  • [CMake] Avoiding setuptools_scm dependency if SETUPTOOLS_SCM_PRETEND_VERSION is defined
GooseFEM - Minor Python build system update

Published by tdegeus about 3 years ago

  • [Python] Allow CMake customization using CMAKE_ARGS
  • [CMake] Adding option to build examples
  • [docs] Update style. Adding GH build after release
GooseFEM - Minor API extension

Published by tdegeus over 3 years ago

Adding Iterate::StopList::stop_simple #226

GooseFEM - Minor efficiency update

Published by tdegeus over 3 years ago

Making implementation of Iterate cheaper & Adding it to Python API

GooseFEM - Templating many functions, extending and speeding-up Python API

Published by tdegeus over 3 years ago

  • Element: using shape definitions
  • Fixing warnings
  • Removing xtensor-fixed from examples
  • Templating constructor Mesh::Quad4::FineLayer
  • Using CRTP for Element
  • Using CRTP for Mesh
  • Vector: static & dynamic distribution (#213)
  • Templating Mesh (#211)
  • Templating vector (#209)
  • Removing deprecated methods (#210)
  • Allocate: convert to full-template (#208)
  • [Python] Simplifying implementation Mesh
  • [Python] Element registration of base classes
  • [Python] Starting switch pyxtensor -> xtensor-python (#212, #214)
  • [CI] Switching to micromamba (#207)
Package Rankings
Top 36.15% on Conda-forge.org
Badges
Extracted from project README
CI Doxygen -> gh-pages readthedocs Conda Version Conda Version