Check the release notes to learn more about the new features of the latest version!
This is a reduced version of the Flexodeal library which has been structured to follow deal.II tutorial guidelines. It is intended to simulate the deformation of a block of muscle tissue (similar to a biopsy). The stress response has been simplified to include contributions from muscle fibres (Hill-type model) and the base material (hyperelastic, Yeoh).
Check out this cool video of a fully dynamic, fully active, isometric contraction!
This is a library written in C++ meant to be run in Linux and MacOS environments. Windows users can use this library via WSL (Windows Subsystem for Linux). A graphical interface is not yet available.
- Make sure you have properly set up deal.II v9.3 (or newer) and its dependencies. For more information, visit their website.
- Get the latest release here. Alternatively, you can clone the repository for bleeding edge updates:
git clone https://github.com/sfu-nml/flexodeal-lite.git
. - Navigate to the Flexodeal folder using
cd
. - Call CMake:
- In release mode:
cmake . -DCMAKE_BUILD_TYPE=Release -DDEAL_II_DIR=<path/to/deal.II>
. - In debug mode:
cmake . -DCMAKE_BUILD_TYPE=Debug -DDEAL_II_DIR=<path/to/deal.II>
.
- In release mode:
- Call make. A simple call to
make
should suffice. - Run the code. This either achieved by calling
make run
or./dynamic-muscle parameters.prm control_points_strain.dat control_points_activation.dat
. A folder with the current timestamp will be created. This is where the results of your execution will be stored.
In an Intel i5-9600K (3.70 GHz x 6) machine the code with its default settings (dynamic) takes about 4 minutes to complete 500 ms of simulation. In turn, the quasi-static code (set Type of simulation = quasi-static
) takes only 18 seconds! That speaks volumes about the nonlinearity of the dynamic problem.
Wed 13 Nov 2024 03:21:06 PM PST
>> cloc --exclude-dir=.vscode --exclude-lang=JSON,XML,make .
9 text files.
9 unique files.
7 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.02 s (198.1 files/s, 340860.2 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C++ 1 710 1084 3282
Markdown 1 14 0 34
CMake 1 6 15 18
-------------------------------------------------------------------------------
SUM: 3 730 1099 3334
-------------------------------------------------------------------------------