Comodo is a Julia package for computational (bio)mechanics and computational design, and offers functionality for geometry processing, meshing, finite element analysis, automated design, topology optimisation, and image-based modelling.
Loosely Comodo could stand for Computational Modelling for Design Optimization. A more philosophical angle would be to say that DO is like -do in the Japanese art Judo (ju=柔=gentle, do=道=way), so in this sense Comodo stands for "the way of computational modelling". Comodo is perhaps best defined by its scope. Comodo aims to be a "one-stop-shop" for researchers in computational (bio)mechanics and computational design. It will feature tools for geometry processing, meshing, automated design / topology optimization, finite element analysis, as well as (e.g. medical) image processing and segmentation.
Comodo.jl started out as a modern re-implementation in Julia of the MATLAB toolbox GIBBON. However, rather than literally porting each functional unit, it instead aims to follow a similar philosophy and cover similar but more advanced core functionaly.
julia> ]
(@v1.xx) pkg> add https://github.com/COMODO-research/Comodo.jl
or
julia> using Pkg
julia> Pkg.add(url = "https://github.com/COMODO-research/Comodo.jl")
To get started install the package, study the documentation, and test some of the demos provided in the examples
folder.
For finite element analysis users are encouraged to combine the Comodo capabilities with the open source C++ solver FEBio, e.g. based on the Julia wrapper FEBio.jl. In addition, users may want to explore the Julia packages Gridap.jl and Ferrite.jl.
You can test Comodo by running
pkg> test Comodo
The source for the tests is runtests.jl
, found in the test
folder
New functionality to add:
- Levelset methods
- Lattice structure creation:
- Element based conversions
- Triply periodic minimal and spinodoid surfaces
- Boundary conforming lattices
- Surface stitching method
Your help would be greatly appreciated! If you can contribute please do so by posting a pull-request. I am very much open to fully acknowledging your contributions e.g. by listing you as a contributor properly whereever possible, by welcoming you on board as a long term contributor, or by inviting you to be a co-author on publications featuring Comodo functionality.
Comodo.jl is released open source under the Apache 2.0 license.