This projects aims to provide a Julia interface to the FEBio finite element solver.
pkg> add https://github.com/febiosoftware/FEBio.jl
Currently FEBio.jl does not ship with the FEBio binaries. Instead users should either obtain them from the FEBio website, or compile their own using the FEBio source. No special configuration is required at present. However, users do need to specify the path to the FEBio executable at the top of their code, e.g.:
const FEBIO_PATH = "/home/kevin/FEBioStudio/bin/febio4" # Path to FEBio executable
Next febio can be called to run the analysis for the input file filename_FEB
using:
# Run FEBio
runMonitorFebio(filename_FEB,FEBIO_PATH)
The examples
folder contains several demos on the use of FEBio from Julia with FEBio.jl. For instance demo_febio_0001_cube_uniaxial_hyperelastic.jl
which features a demonstration for uniaxial loading of a hyperelastic solid cube.
Users are encouraged to use FEBio.jl in combination with the Julia package Comodo which enables automated geometry processing, meshing, and boundary conditions specification.
Under construction
Under construction
A detailed roadmap is under construction but the below is a list of major components which are currently been worked on:
- Julia based .feb file creation, import, and editing
- Julia calls/triggers FEBio executable
- Julia monitors/polices FEBio simulation progress
- Julia based log-file importing
- Julia based .xplt-file importing
- Ship with or download FEBio binaries upon package adding, and configure with FEBio.jl automatically
- CI, testing, and documentation
Your help would be greatly appreciated! If you can contribute please do so by posting a pull-request.
This wrapper is released open source under the Apache 2.0 license.