diff --git a/joss-paper/paper.md b/joss-paper/paper.md index 6319b88..562c877 100644 --- a/joss-paper/paper.md +++ b/joss-paper/paper.md @@ -70,6 +70,8 @@ While several finite element analysis packages are available for performing biom # Structure +![Structure of `pyMechT` \label{fig:overview}](drawing-1.svg){height="1 inch"} + The package is implemented in Python using an object-oriented structure. The package builds upon widely-used Python libraries: NumPy, SciPy, Pandas, Matplotlib, and PyTorch. `pyMechT` consists of four main modules (see Figure \ref{fig:overview}): 1) `MatModel` for defining constitutive models for materials, 2) `SampleExperiment` for simulating ex-vivo uniaxial/biaxial/inflation-extension experiments, 3) `ParamFitter` for performing parameter estimation based on experimental data, and 4) `MCMC`/`RandomParameters` for performing Bayesian inference using Monte Carlo (MC) or Markov Chain Monte Carlo (MCMC) simulations. Currently, there are eighteen material models implemented in `MatModel`, including fourteen analytical hyperelastic models, two data-based hyperelastic models, and one structural model. In addition, an arbitrary hyperelastic model is also implemented, where a user-defined form of the free energy functional is automatically implemented based on symbolic differentiation. Below is the list of the material models available to-date: - ‘NH’: Neo-Hookean model @@ -91,8 +93,6 @@ The package is implemented in Python using an object-oriented structure. The pac - ‘StructModel’: A structural model with fiber distribution - ‘ARB’: Arbitrary model with user-defined strain energy density function -![Structure of `pyMechT` \label{fig:overview}](drawing-1.svg){height="1 inch"} - A particular focus is on parameters, for which a custom dictionary has been implemented named `ParamDict`. This dictionary facilitates handling large numbers of parameters via string-based identifiers ("Keys"), and stores lower/upper bounds, fixed/variable flags, in addition to the current parameter values. The dictionary can also be saved/read as csv files. An example set of parameters is shown in Table \ref{table:params} below.