Python Tools, Field II Intensity Field Solution, LS-DYNA Pre/Post Processing
All software in this repository is licensed under the Apache v2.0 license, as detailed in the LICENSE file.
If you are using these simulation tools in work that you publish, then please consider citing the following manuscript:
- You can locally clone this repository:
git clone git@github.com:Duke-Ultrasound/fem.git
This approach will work if you have an SSH key uploaded to GitHub. If not, then you can also clone the reportory using:
git clone https://github.com/Duke-Ultrasound/fem.git
- Add the fem subdirectories to your Matlab path. One approach is to add the
following to
$HOME/matlab/startup.m:
fem_root = 'PATH/TO/GIT/CLONED/fem';
addpath(fullfile(fem_root, 'mesh'));
addpath(fullfile(fem_root, 'field'));
addpath(fullfile(fem_root, 'post'));
where fem_root is the path of your git-cloned fem repository.
-
There is a
probessubmodule available to restricted institutions. If you do not have access to that repository, then you can usefield/linear.mandfield/curvilinear.mas starting points to define transducers. If you do have access, then you can initialize the submodule usinggit submodule initfollowed bygit submodule update. -
All of the python scripts have help available using the
--helpflag.
This repository contains 3 subdirectories of code:
mesh: scripts to generate meshes, apply boundary conditions and simple loads (mesh/README.md)field: Field II scripts to simulate acoustic radiation force excitations to impose as point loads on your model. Theprobessubmodule can be utilized with these scripts (field/README.md)post: scripts to post-process LS-DYNA output for processing / visualization in ls-prepost, Matlab, and Paraview (post/README.md)
Please see the README.md files in each respective subdirectory for more
detailed descriptions of the available scripts.
-
The mesh (LS-DYNA) and Field II spatial axis conventions are different (this is unfortunate, but maintained for legacy compatibility).
-
LS-DYNA and mesh-related tools use a rotated, right-hand rule coorindate system:
- Axial extends into -z,
- Lateral extends into +y,
- Elevation extends into -x.
-
LS-DYNA is run unitless, but scripts assume and scale quantitites assuming a CGS unit system.
-
Field II tools a standard, right-hand rule coordinate system:
- Axial extends into +z,
- Lateral extends into +x,
- Elevation extends into +y.
-
Field II internally uses MKS units, but scripts will specify units on the inputs
There are test scripts / models available for code validation and future development (test/README.md). Please use existing tests if fixing bug / editing existing features, or create new tests for new features.
- Mark Palmeri (mlp6@duke.edu)
- Ningrui Li (nl91@duke.edu)
- Mallory Selzo (UNC-CH)
- Chris Moore (chrisjmoore@unc.edu)