Git Product home page Git Product logo

goosefem's Introduction

CI Doxygen -> gh-pages readthedocs Conda Version Conda Version

GooseFEM

Library to perform static or dynamic finite elements computations. The core of the implementation is a C++ library. For user convenience a Python interface is provided too. Please consult the documentation for more information:

https://goosefem.readthedocs.io

and for C++ documentation

https://tdegeus.github.io/GooseFEM

Credit / copyright

(c) T.W.J. de Geus | www.geus.me | [email protected]

Tom de Geus was financially supported by:

goosefem's People

Contributors

github-actions[bot] avatar tdegeus avatar wolfv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

goosefem's Issues

Python interface bug

I'm getting

Traceback (most recent call last):
  File "convert.py", line 4, in <module>
    import GooseFEM as gf
ImportError: dlopen(/usr/local/lib/python3.7/site-packages/GooseFEM-0.2.3-py3.7-macosx-10.15-x86_64.egg/GooseFEM.cpython-37m-darwin.so, 2): Symbol not found: __ZNK8GooseFEM23MatrixPartitionedTyingsIN5Eigen14SimplicialLDLTINS1_12SparseMatrixIdLi0EiEELi1ENS1_11AMDOrderingIiEEEEE3nndEv
  Referenced from: /usr/local/lib/python3.7/site-packages/GooseFEM-0.2.3-py3.7-macosx-10.15-x86_64.egg/GooseFEM.cpython-37m-darwin.so
  Expected in: flat namespace
 in /usr/local/lib/python3.7/site-packages/GooseFEM-0.2.3-py3.7-macosx-10.15-x86_64.egg/GooseFEM.cpython-37m-darwin.so

nnodePeriodic for all meshes

Introduce nnodePeriodic for all meshes, sync with Mesh::Quad4::Regular

  • Mesh::Quad4::Regular
  • Mesh::Quad4::FineLayer
  • Mesh::Quad8::Regular
  • Mesh::Quad8::FineLayer
  • Mesh::Tri3::Regular

[docs] Document examples

Notably all "static" example. Note that it would be good to add non-linear history dependent examples with fixed displacements.

Rank overload

Use the new rank members from xtensor to pave the way for removing the copies in the Python interface

[CI] compile and run examples

Benefit:

  • Keeps examples up-to-date.
  • Forces good CMakeLists.txt
  • Makes sure that examples stay up-to-date with material model.
  • Allows extension to other OS.

[Python] Create a better setup.py

It may be wise to create a more transparent setup.py in which xtensor, xtl, xsimd are automatically downloaded (as is pyxtensor).

[docs] Read and extend all pages

  • introduction.rst
  • examples/statics_linear.rst
  • examples/dynamics_inertia.rst
  • examples/dynamics_inertia-damping.rst
  • examples/dynamics_overdamped.rst
  • conventions/terminology.rst
  • conventions/storage.rst
  • conventions/vector.rst
  • conventions/matrix.rst
  • conventions/allocation.rst
  • details/macros.rst
  • details/Mesh.rst
  • details/MeshTri3.rst
  • details/MeshQuad4.rst
  • details/MeshHex8.rst
  • details/Element.rst
  • details/ElementQuad4.rst
  • details/ElementHex8.rst
  • details/Vector.rst
  • details/Matrix.rst
  • details/Tyings.rst
  • details/ParaView.rst
  • details/Iterate.rst
  • compile.rst
  • develop.rst

Apply formatting to entire code

  • docs/examples/statics/FixedDisplacements_LinearElastic
  • docs/examples/statics/MixedPeriodic_LinearElastic
  • docs/examples/statics_linear.rst

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.