University of Virginia
Cardia Biomechanics Group


Software / Simulations

MATLAB teaching simulation based on Hill’s model of muscle contraction
In 2006, Dr. Holmes published an article in the series “Teaching From Classic Papers” in the journal Advances in Physiology Education. The article describes the use of a MATLAB implementation of the model described in A.V. Hill’s classic 1938 paper to allow students to simulate experiments similar to those Hill performed. By performing appropriate experiments, students can see how Hill arrived at his conclusions about the relationship between muscle force, muscle velocity, and heat production – conclusions that set the stage not only for Hill’s influential model of interacting contractile and series elastic elements, but also for Huxley’s crossbridge model.

This zip archive contains the simulation files and a readme.txt file that explains what each file does:

If you wish to refer to the simulations, please cite the Advances in Physiology article, which is available free through a link from PubMed: Holmes JW. Teaching from classic papers: Hill’s model of muscle contraction. Adv Physiol Educ 30(2):67-72, 2006 (

MatFiber version of Fiber3 algorithm for automated fiber orientation analysis
In 1998, the Cardiac Mechanics Research Group at UCSD (CMRG) published an algorithm for automated analysis of muscle fiber orientations in histologic slides: Karlon WJ, Covell JW, McCulloch AD, Hunter JJ, Omens JH. Automated measurement of myofiber disarray in transgenic mice with ventricular expression of ras. Anat Rec 252(4):612-625, 1998 ( The CMRG named their implementation Fiber3, and a version of Fiber 3 is available as part of their freely available modeling software Continuity (

Our group has used the algorithm primarily for analyzing collagen fiber orientations in picrosirius red-stained sections of myocardial scar tissue. We developed a MATLAB implementation of the algorithm named MatFiber, and verified that MatFiber gives the same results as Fiber3 when analyzing the same image using the same settings.

This zip archive contains the MatFiber code as well as some sample images to practice using the analysis: Please note that the results of your analysis will depend heavily on your choice of subregion size (the algorithm produces one average orientation vector for each subregion) and your choice of threshold (the threshold excludes subregions with weaker overall image gradient information)! It is very important to test a range of subregion sizes and thresholds to establish parameters that produce an accurate analysis of your images. More information about these parameters is provided in comments within the MatFiber.m file.

If you use our MatFiber code, please cite the paper where we first employed it: Fomovsky GM, Holmes JW. Evolution of scar structure, mechanics, and ventricular function after myocardial infarction in the rat. Am J Physiol Heart Circ Physiol 298:H221-H228, 2010 (

Agent-Based Model Described in Rouillard et al. Journal of Physiology 2012
Our group developed an agent-based model of myocardial scar healing, implemented in MATLAB. The model tracks migration, proliferation, and collagen remodeling by fibroblasts over 6 weeks of simulated infarct healing, incorporating the influence of regional strains, chemokine gradients, and local matrix orientation on the orientation of the fibroblasts and the collagen fibers they produce. The original model was published in the Journal of Physiology in 2012, and has been used with various minor modifications in several other papers and abstracts from our group since that time. If you use or adapt the model, please cite the original Journal of Physiology article: Rouillard AD, Holmes JW. Mechanical regulation of fibroblast migration and collagen remodeling in healing myocardial infarcts, J Physiol, 590(18):4585-4602, Sep 2012 (

The zip archive includes a single .m file with the MATLAB code for the Journal of Physiology model, as well as several input workspaces and two sample output workspaces. The files are described in the README.txt included in the folder.