GooseFEM

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

GPL-3.0 License

Stars
8
GooseFEM - CMake update

Published by tdegeus over 3 years ago

  • Integrating Python in CMake (#206)
  • Minor documentation updates
GooseFEM - Documentation, code simplification, and some new features

Published by tdegeus over 3 years ago

  • Add "as3d" and "GooseFEM::AsTensor" to Python API
  • Minor documentation updates
  • Adding virtual destructor to silence warning
  • Documenting MatrixDiagonal and MatrixDiagonalPartitioned
  • Documenting MatrixPartitionedTyings
  • Documenting MatrixPartitioned
  • MatrixPartitioned : deriving from Matrix
  • Documentation: minor style updates
  • Documenting Matrix
  • Documentation: minor style updates
  • Documenting VectorPartitionedTyings
  • Documentation: minor style updates
  • Documenting Iterate
  • Mesh::RegularBase* : converting to abstract classes
  • Adding Mesh::Vstack (wraps ManualStich)
  • Adding simple tests Mesh::Hex8
  • Adding version to GH Pages
  • Mesh::Hex8::Regular and Mesh::Hex8::FineLayer : deriving from Base-class
  • Mesh::Hex8::FineLayer renaming private member
GooseFEM - Minor new features

Published by tdegeus over 3 years ago

  • Adding Int_N_vector_dV
  • Renaming Interp_N_vector -> InterpQuad_vector; generalizing dimensions
  • Adding documentation Mesh::Tri3::Rugular (by deriving from Mesh::RegularBase2d)
  • Adding documentation Mesh::Quad4::Rugular (by deriving from Mesh::RegularBase2d)
  • Adding documentation Mesh::Quad4::FineLayer (by deriving from Mesh::RegularBase2d)
  • Various documentation updates
  • Minor updates CMake/version (#196)
  • Minor updates setup.py
  • Adding convenience functions (Manual)Stitch (#193)
  • [CI] Minor updates
  • [docs] Updating doxygen-awesome
  • [docs] Updating sphinx+breathe build (#189)
GooseFEM - Minor updates

Published by tdegeus over 3 years ago

  • Adding convenience functions to Mesh::Stitch
  • Tyings::Periodic : documenting, adding convenience function, adding assertions
  • Tyings::Control : documenting
  • [Python] Reducing dependency requirements
  • [docs] Various minor updates
  • [docs] Doxygen: Using dark theme
GooseFEM - Minor upgrades

Published by tdegeus over 3 years ago

(Future) API Change

Note that a new API is introduced, but the old API is kept under deprecation warnings.

  • Renaming: Shape... -> shape_...
  • Renaming: Allocate... -> allocate_...

Changes under the hood

  • ElementQuad4/ElementQuad4Axisymmetric/ElementQuad4Planar/ElementHex8: deriving from base class.
  • [Python] Reducing compile time deprecation warnings.
  • Using GOOSEFEM_WARNING(...) for all deprecation messages.
  • Versioning: avoiding un-needed work-around for conda-forge.
  • [CI] Using micromamba.
  • [CI] Adding dynamics example.
  • Adding headers to all files
  • Documentation updates.
  • Moving doxygen configuration to CMake
GooseFEM - Minor extension Python API

Published by tdegeus over 3 years ago

  • Python API: Adding Element::Quad4::MidPoint
GooseFEM - Minor updates

Published by tdegeus over 3 years ago

API Changes

Mesh::Quad4::RefineRegular::mapToCoarse -> Mesh::Quad4::RefineRegular::meanToCoarse,
or Mesh::Quad4::RefineRegular::averageToCoarse

Changes under the hood

  • Generalisation Mesh::Quad4::RefineRegular::mapToFine
  • Documentation updates
  • Adding explicit deprecation warnings
  • Element::Quad4: moving inv -> detail::inv
GooseFEM - Many changes under the hood

Published by tdegeus over 3 years ago

API Changes

  • VectorPartitioned::asDofs(dofval_u, dofval_p, dofval) ->
    VectorPartitioned::dofsFromParitioned(dofval_u, dofval_p, dofval)

  • VectorPartitioned::asNode(dofval_u, dofval_p, nodevec) ->
    VectorPartitioned::nodeFromPartitioned(dofval_u, dofval_p, nodevec)

  • VectorPartitioned::asElement(dofval_u, dofval_p, elemvec) ->
    VectorPartitioned::elementFromPartitioned(dofval_u, dofval_p, elemvec)

  • Version defines as replaced by #define GOOSEFEM_VERSION,
    added convenience methods GooseFEM::version() and GooseFEM::version_dependencies().

Deprecating in next version

  • VectorPartitioned::assembleDofs_u
  • VectorPartitioned::assembleDofs_p
  • Mesh::Renumber::get
  • Mesh::Reordered::get

New functions

  • VectorPartitioned::dofs_is_u
  • VectorPartitioned::dofs_is_p

Changes under the hood

  • Overloading from Vector (also in Python API)
  • Overloading from QuadratureBase (also in Python API)
  • Added doxygen docs (published to GitHub pages)
GooseFEM - String-safety

Published by tdegeus over 3 years ago

String-define safety: stringification + unquoting (#172)
GooseFEM - Minor bugfix

Published by tdegeus over 3 years ago

Work-around std::string issue on MSVS (re-adding MSVS to CI)

GooseFEM - Fixing case problem

Published by tdegeus over 3 years ago

GooseFEM - Fixing case problem

Published by tdegeus over 3 years ago

GooseFEM - Changing versioning

Published by tdegeus over 3 years ago

  • Using setuptools_scm to manage version (#169)
GooseFEM - Starting extensions & generalisations. Some new functions

Published by tdegeus over 3 years ago

  • Various documentation updates: using doxygen (e.g. #168, #167, #157, #150)
    • Adding autodocs using doxygen/breathe.
    • Adding autodocs Python API with references to the C++ docs.
  • Using GitHub pages for doxygen docs (#156, #155)
  • Adding version information (incl. git commit hash) (#166)
  • Adding GooseFEM::Element::Quad4::Quadrature::interp_N_vector
  • Generalizing GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::mapToRegular
  • Generalising implementation:
    • Internally deriving from Vector
    • Python API: unifying Element
    • Python API: fixing overloaded methods
    • Removing internal use of deprecated method
    • Using "initQuadratureBase" in derived Quadrature classes
    • Introducing QuadratureBase class -> avoids copies of convenience functions
  • [CI] Using ctest command to improve output in case of test failure
  • Restructuring environment (#154)
  • Fixing readthedocs setup (#153)
  • Mesh.h: Adding autodocs ()
GooseFEM - Stitching meshes

Published by tdegeus almost 4 years ago

  • [CI] Using gcc-8
  • Adding Mesh::Quad4::FineLayer::elementsLayer
  • Stitch: Adding nodesets to example
  • Stitch: Adding hybrid example. Adding assertions.
  • Making API more functional
  • Adding Mesh::ManualStich
  • Adding Mesh::Stitch
  • Minor style update
  • [CMake] Minor updates in testing
  • [CI] improve comments (#142)
  • Combining tests MeshQuad4 (#141)
  • Using clang on Windows (#139)
GooseFEM - Minor API extension

Published by tdegeus almost 4 years ago

  • Adding Mesh::Quad4::FineLayer::elementgrid_leftright
GooseFEM - Minor bugfix

Published by tdegeus almost 4 years ago

  • Minor bugfix Mesh::Quad4::FineLayer::elementgrid_around_ravel: allowing huge sizes.
GooseFEM - Getting `elementgrid` from FineLayer-Mesh

Published by tdegeus almost 4 years ago

  • Adding Mesh::Quad4::FineLayer::elementgrid_around_ravel
  • FineLayer::elementgrid_ravel: Adding test
  • Renaming elementMatrix -> elementgrid everywhere
  • Adding Mesh::Quad4::FineLayer::elementgrid_ravel
  • Adding GOOFEM_WIP_ASSERT to assert if code needs to be generalized
  • API change: renaming Mesh::Quad4::Regular::elementMatrix
    -> Mesh::Quad4::Regular::elementgrid.
GooseFEM - Minor bugfix

Published by tdegeus almost 4 years ago

  • FineLayer - replica: bug-fix in size detection.
  • Updated examples to new GMat API.
GooseFEM - Various minor extensions. Minor API change

Published by tdegeus almost 4 years ago

  • Renaming MatrixDiagonal::AsDiagonal -> MatrixDiagonal::Todiagonal
    to maintain API consistency.
  • Adding Mesh::elemmap2nodemap. Updating Python API.
  • Adding roll to FineLayer.
  • Adding Mesh::centers and Mesh::defaultElementType.
  • Mapping connectivity on generating FineLayer-object.
  • Switching to new GMat API.
  • Solver: force factorization on the first call.
  • Sorting output of GooseFEM::Mesh::elem2node. Adding checks.
  • Switched to GitHub CI.
  • Adding todense to sparse matrix classes.
  • Adding dot to MatrixPartitioned.
Package Rankings
Top 36.15% on Conda-forge.org
Badges
Extracted from project README
CI Doxygen -> gh-pages readthedocs Conda Version Conda Version