home.social

#computationalmechanics — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #computationalmechanics, aggregated by home.social.

fetched live
  1. I tried to create a #gemini gem for an interactive #FElupe #assistant. Feel free to try it out (Google account required). It uses a knowledge based on #repomix. My first results are quite promising. Do you know alternatives, probably without using any account?

    gemini.google.com/gem/1kBb96km

    #llm #agent #python #computationalmechanics #scientificcomputing

  2. In #FElupe, a #python package of mine, I changed the API of a function: the output included two return variables (boundaries, loadcase), where the second one is nowadays mostly unused. So I added a new argument return_loadcase=None, which does not change the return behavior, but marked as deprecated. In a future major version, return_loadcase will be False by default. Now all users have at least one major version time to update existing scripts. Is this good practise or could this be improved?

    #opensource #computationalmechanics #scientificcomputing #coding #finiteelements

  3. If one has a linear-elastic material in mind, one would assume this works for any kind of finite element simulations. In case of large rotations and large strains, "linear" is not unique. There are many different implementations of linear-elastic materials. Beside the mathematical details, a cube, rotated by 90° and stretched to a factor of 2, will show different deformations. You'll see a small-strain, Total-Lagrange (Saint-Venant Kirchhoff material) and the co-rotated framework as well as a compressible Neo-Hookean material model formulation.

    Reminder: don't use small-strain linear-elastic material formulations in simulations where large rotations occur - just because the strains are "small".

    All figures created by #felupe for simulation and #pyvista for plotting.

    #python #computationalmechanics #scientificcomputing #numpy #fem #fea #opensource

  4. 🎉 I’m proud to share that our paper has been accepted in the Journal of Open Source Software!
    Big thanks to everyone who contributed and supported this work 🙌

    Original JOSS post: fosstodon.org/@joss/1153337040

    #JOSS #OpenSource #Research #PhD #OpenScience #Python #computationalmechanics #scientificcomputing #PyOpenSci #FEA #FElupe

  5. After a summerbreak, #FElupe development continues! Stay tuned for lots of handy new features: checkpoint/restore, revolve a.k.a. axi-to-3d, simplified handling of multiple solid bodies, etc. These new features are already available in the main git branch and will be released soon.

    felupe.readthedocs.io/en/lates

    P.S. I'm always open for new ideas, just let me know!

    #computationalmechanics #scientificcomputing #python #opensource #fem #fea #finiteelements

  6. Post-doctoral Fellowship
    Dongguk University, Seoul, South Korea

    Hiring a postdoc in PHM, SHM, computational mechanics, and FEA for advanced research in mechanical, robotics, and aerospace systems.

    See the full job description on jobRxiv: jobrxiv.org/job/dongguk-univer

    #artificialintelligence #Computationalmechanics #digitalt...
    jobrxiv.org/job/dongguk-univer

  7. For much more rotations, a powerful numeric continuation method is your friend.

    The "speed" of the rotation is a result of the adaptive step-size of contique (one frame per converged step, constant framerate).

    github.com/adtzlr/contique

    #computationalmechanics #scientificcomputing #FiniteElementMethod #fem #fea #python #opensource

  8. 🚀🚀 FElupe is now available on conda-forge! 🚀🚀 Unfortunately, it doesn't handle optional dependencies like pip. Anyway here's a nice animation of the #hyperelastic "twisting column" example from the book of Bonet & Wood. This one works without any fancy continuation techniques, it's just Newton's method.

    github.com/adtzlr/felupe

    #computationalmechanics #FiniteElementMethod #scientificcomputing #fem #fea #python #opensource

  9. Merry Christmas everyone (...if you're living in a culture where this is celebrated). 🎄🎄 ☃️ ❄️ ⛷️ It's time to take a break from business as usual - get your batteries reloaded! 🔋

    (This is a hyperelastic Mooney-Rivlin christmas tree under varying body forces.)

    #computationalmechanics #scientificcomputing #python #finiteelementmethod #holiday #simulation #hyperelasticity

  10. Hello, world! Wait, for a nonlinear simulation #python package? If you'd like to use FElupe for your #hyperelastic #simulation but don't know where to start & too lazy to read the docs, you may use the hello_world() function to print a minimal-working example to the console.

    Initially, I wasn't sure if that kind of function really makes sense. But it turns out that I'm using this one quite frequently. 📝 (shhh! Author here... 🤓)

    github.com/adtzlr/felupe

    #scientificcomputing #computationalmechanics #finiteelementmethod #fem #fea

  11. Working on nested triply periodic lattices. Here a Gyroid levelset image is created and two interwoven/complementary surfaces are obtained by constructing isosurfaces for the same positive (white) or negative level (red). In the animation the levelset level is adjusted so the surfaces "shrink away" from each other.

    More on Gyroids: en.wikipedia.org/wiki/Gyroid)

    Coming soon to

  12. Have you ever thought 💡 of using JAX as 🧮 #automaticdifferentiation engine in 💻 finite element simulations? Boost the performance 🏇 of computationally-expensive hyperelastic material models with #jit in 🔍 FElupe! 🚀 🚀

    github.com/adtzlr/felupe

    #python #jax #finiteelementmethod #scientificcomputing #computationalmechanics #fea #fem #hyperelasticity

  13. Personally, I'm a big fan of 🕸 Spyder IDE for #python #development and scripting. Now, starting from version 6, it ships with an installer for Win, Mac and Linux. Spyder is itself a Python package - to avoid dependency issues, its own bundled Python environment is immutable, i.e. pip is not supported. I'm using it with a custom #miniforge environment. However, ensure to install "spyder-kernels" in this environment - otherwise, the miniforge-environment can't be connected to Spyder.

    spyder-ide.org/

    What is your favourite Python IDE?

    #scientificcomputing #computationalmechanics

  14. In numeric simulations of the deformation of solid bodies coming into contact, a good contact algorithm is required. Beside the typical approaches (node-to-segment, segment-to-segment or Mortar-based), the so-called third medium frictionless contact method with a Hessian-based regularization is carried out in an example of FElupe. The method does not require any special treatment of surface normals - instead, the air (a.k.a. third medium) is represented by a very soft solid (with all its benefits and drawbacks...).

    en.wikipedia.org/wiki/Third_me

    felupe.readthedocs.io/

    #finiteelementmethod #computationalmechanics #scientificcomputing #python #opensource #fem #fea #contact #mesh

  15. In my Python FEA package FElupe I've noticed that the time spent on assembling (especially large) finite element matrices takes longer than in recent releases. The slowdown is about 15% to 100%, depending on the number of degrees of freedom. From a computational-cost point of view, there are some cheap arrays stored inside a numeric region. A somewhat massive einsum-call further evaluates the values for the sparse finite element matrix. Due to some recent code changes, these cheap region arrays aren't contiguous anymore. That slows down the finite element matrix assembly up to 100%! By ensuring C-contiguous arrays, performance is back to normal (NumPy array flags are available as attribute ndarray.flags).

    github.com/adtzlr/felupe

    #python #numpy #FiniteElementMethod #finiteelements #fem #fea #scientificcomputing #computationalmechanics

  16. Playing with of an "expansion mesh" like structure. The geometry, mesh and boundary condition creation, as well as the FEA analysis, all occur automatically.

    This simulation is still elastic, next step is to add plasticity.

  17. Working on extruding or "thickening" meshes from surface elements to layers of solid elements. Here the test mesh features quads (left) which are thickened to produce hexahedral elements (right).

    This is especially handy when one wants a high quality structured mesh of a thin structure. For instance meshing of blood vessel like structures.