So how do you turn contours (see previous post) into surface geometry? Well you can create a "levelset image", it is a bit like a heat propagating positively outward and negatively inward from the contours. Instead of heat though you can use the distance to the contour. Next you can draw the isosurface at the level 0 to retrieve the surface.

If one segments stuff using voxel labels it can be hard to retrieve a smooth result. Here however the contours are smoothly interpolated curves and the isosurface is smoothly interpolated as well. Hence there is naturally less of a stepped-Lego issue :).

In the video below the image on the right is the wobbly STL that comes with the Visible Human project. I tried to do better based on the contours-level set approach. I can also control the surface mesh density as you can see in the middle image.

#opensource #Julialang #biomedicalengineering #finiteelementanalysis #biomechanics #segmentation

Open source projects used here:

https://github.com/COMODO-research/Imago.jl

https://github.com/COMODO-research/Comodo.jl

https://github.com/COMODO-research/Geogram.jl

Work in progress on the simulation of the biomechanics of mammography. This is a parameterised model, the geometry, the finite element mesh, and the boundary conditions are automatically created.

Created using #Comodo in #JuliaLang #opensource

https://github.com/COMODO-research/Comodo.jl

The prototype lives here: https://github.com/COMODO-research/Mammo.jl

#biomechanics #FiniteElementAnalysis

GitHub - COMODO-research/Comodo.jl: A Julia package for computational (bio)mechanics and computational design

A Julia package for computational (bio)mechanics and computational design - COMODO-research/Comodo.jl

GitHub

Working on automated parameterised meshing of #FiniteElementAnalysis of periodic auxetic structures.

#Julialang #ComputationalMechanics #ComputationalDesign #Comodo #opensource

More on auxetic structures:
https://en.wikipedia.org/wiki/Auxetics

Built using the Comodo project:
https://github.com/COMODO-research/Comodo.jl

Auxetics - Wikipedia

Playing with #FiniteElementAnalysis 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.

#ComputationalMechanics #GIBBON

So satisfying to finally reach 100% code coverage for testing!

Hoping to publish paper on Comodo by the end of the year. If you are into #ComputationalMechanics #Biomechanics #GeometryProcessing #FiniteElementAnalysis help to contribute to Comodo.jl and FEBio.jl and you'll be one of the authors!

https://github.com/COMODO-research/Comodo.jl

#julialang #opensource #ContinuousIntegration #CodeCov

GitHub - COMODO-research/Comodo.jl: A Julia package for computational (bio)mechanics and computational design

A Julia package for computational (bio)mechanics and computational design - COMODO-research/Comodo.jl

GitHub

Interesting paper by @jedbrown et al.

https://doi.org/10.48550/arXiv.2401.13196

For computational mechanics/physics, if you code by just punching in the equations from the textbooks directly, the physics should work, but computationally the way you evaluate the quantities may be unstable. This paper lists some recipes to avoid these.

Mostly small strain problem, but still feels icky to leave in.

#FiniteElementMethod #FiniteElementAnalysis

#FEBio @mofem @likask #Ferrite @koehlerson

Stable numerics for finite-strain elasticity

A backward stable numerical calculation of a function with condition number $κ$ will have a relative accuracy of $κε_{\text{machine}}$. Standard formulations and software implementations of finite-strain elastic materials models make use of the deformation gradient $\boldsymbol F = I + \partial \boldsymbol u/\partial \boldsymbol X$ and Cauchy-Green tensors. These formulations are not numerically stable, leading to loss of several digits of accuracy when used in the small strain regime, and often precluding the use of single precision floating point arithmetic. We trace the source of this instability to specific points of numerical cancellation, interpretable as ill-conditioned steps. We show how to compute various strain measures in a stable way and how to transform common constitutive models to their stable representations, formulated in either initial or current configuration. The stable formulations all provide accuracy of order $ε_{\text{machine}}$. In many cases, the stable formulations have elegant representations in terms of appropriate strain measures and offer geometric intuition that is lacking in their standard representation. We show that algorithmic differentiation can stably compute stresses so long as the strain energy is expressed stably, and give principles for stable computation that can be applied to inelastic materials.

arXiv.org

Just a bit of #julialang looking ridiculously awesome :)

Based on #Ferrite by @koehlerson et al. https://ferrite-fem.github.io/Ferrite.jl/stable/

#FiniteElementAnalysis

Home · Ferrite.jl

Documentation for Ferrite.jl.

And say hello to Gibbon.jl, ongoing work towards a #JuliaLang implementation of the MATLAB toolbox GIBBON (https://www.gibboncode.org/. )

First pass at Gibbon.jl
https://github.com/gibbonCode/Gibbon.jl/

#opensource #openscience #FiniteElementAnalysis #ComputationalMechanics #biomechanics

GibbonCode

The Geometry and Image-Based Bioengineering add-On

GitHub - febiosoftware/FEBio.jl

Contribute to febiosoftware/FEBio.jl development by creating an account on GitHub.

GitHub
Musculoskeletal adaptations to extreme biting in birds

We are looking for talented students to join us for a world-class start to your research career on this research degree in zoology.