Finite Element Method (FEM) tools to simulate acoustic radiation force excitations and resultant shear wave propagation.
All software in this repository is licensed under the Apache v2.0 license, as detailed in the LICENSE file.
If you are using the FEM simulation tools in work that you publish, then please consider citing the following manuscript:
Also please cite the following manuscript if you use Field II:
These tools have been developed in a Linux environment, which is the recommended platform for usage. Most of the Python code, and some of the C code, will work on Windows and Mac platforms, but build tools for these systems is not outlined here and robust testing does not exist for those environments (i.e., use at your own risk). The Python tools require a version >= 3.8.
There are three different methods to use/install this package:
- [RECOMMENDED] Install this with
pip
in a local virtualenv:pip install --prefer-binary -e git+https://github.com/mlp6/fem.git#egg=fem
. Ifswig
is not available on your machine, install withpip install --prefer-binary -e git+https://github.com/mlp6/fem.git@no-swig#egg=fem
. - Clone this source directory and manually install it in your local
virtualenv:
pip install -e .
- Clone this source directory and work directly with it by defining
PYTHONPATH
to include the root directory this repository was cloned into. This is the easiest method if you are planning to actively edit/develop the codebase. You can do this on-the-fly for a given interactiveipython
session with syntax like:PYTHONPATH=$HOME/fem ipython
.
The latest documentation is automatically generated from package docstrings
using Sphinx and can be built in docs/
. That directory also contains
static HTML files that can be included in the documentation, as defined in
docs/index.rst
. The documentation synced to the root docs/
directory level
are also rendered at https://mlp6.github.io/fem/.
To build the documentation:
- Make sure that
PYTHONPATH
includes thefem
package. - Make sure that the virtualenv in activated, which includes the
sphinx-build
package. - Within the
docs/
directory:make html
- Run
docs/rsync_build.sh
to bring the newly-built HTML files and associated source files intodocs/
.
Please file any bug reports, features requests, etc. using the GitHub Issues.
- Mark Palmeri (mlp6@duke.edu)
- Joey Richardson (@jrichardson97)
- Anna Phillips (@annap2277)
- Ningrui Li (nl91@duke.edu)
- Mallory Selzo (UNC-CH)
- Chris Moore (chrisjmoore@unc.edu)
- David Bradway (david.bradway@duke.edu)
- Nick Bottenus (nbb5@duke.edu)
- Brian Bigler (brian.bigler@duke.edu)
- Carl Herickhoff (cdh14@duke.edu)
- Sam Lipman (sll16@duke.edu)
- Anna Knight (aek27@duke.edu)
- Matthew Huber (@matthew-huber)
- Felix Jin (@fqjin)