diff --git a/Projects/bayesian_fitting/run_bayes.m b/Projects/bayesian_fitting/run_bayes.m
index 76a035c..c0c05dd 100644
--- a/Projects/bayesian_fitting/run_bayes.m
+++ b/Projects/bayesian_fitting/run_bayes.m
@@ -25,7 +25,7 @@
% Extract the relevant values for the input depth range.
% Need to choose the attenuation method used for anelastic calculations
-% see possible methods by running vbrListMethods()
+% see possible methods by running VBR_list_methods()
q_method = 'xfit_premelt'; %'eburgers_psp' 'xfit_mxw', 'xfit_premelt' 'andrade_psp'
fetch_data('./'); % builds data directories and fetches data
filenames.Vs = './data/vel_models/Shen_Ritzwoller_2016.mat';
diff --git a/README.md b/README.md
index ee9c856..21f2770 100644
--- a/README.md
+++ b/README.md
@@ -8,16 +8,16 @@
Further documentation available at [https://vbr-calc.github.io/vbr/](https://vbr-calc.github.io/vbr/).
-
## Overview
-The Very Broadband Rheology Calculator (VBRc) provides a useful framework for calculating material properties from thermodynamic state variables (e.g., temperature, pressure, melt fraction, grain size) using a wide range of experimental scalings. The VBRc at present contains constitutive models only for olivine, but may be applied to other compositions (at your own risk). The main goal is to allow easy comparison between methods for calculating anelastic-dependent seismic properties, but the VBRc can also be used for calculating steady state viscosity, pure elastic (anharmonic) seismic properties and more. It can be used to fit and analyze experimental data, infer thermodynamic state from seismic measurements, predict measurable properties from geodynamic models, for example.
+The Very Broadband Rheology Calculator (VBRc) provides a useful framework for calculating material properties from thermodynamic state variables (e.g., temperature, pressure, melt fraction, grain size) using a wide range of experimental scalings. The VBRc at present contains constitutive models only for olivine, but may be applied to other compositions (at your own risk). The main goal is to allow easy comparison between methods for calculating anelastic-dependent seismic properties, but the VBRc can also be used for calculating steady state viscosity, pure elastic (anharmonic) seismic properties and more. It can be used to fit and analyze experimental data, infer thermodynamic state from seismic measurements, predict measurable properties from geodynamic models, for example.
The code is in MATLAB and is also functional in [GNU Octave](https://www.gnu.org/software/octave/). If you're interested in using the VBRc with python, check out the experimental [pyVBRc](https://github.com/vbr-calc/pyVBRc).
To install, see the [instructions in the main documentation](https://vbr-calc.github.io/vbr/gettingstarted/installation/).
The remainder of this README contains information on:
+
1. [Bug Reporting and User Support](#bug-reporting-and-user-support)
2. [Basic Usage](#basic-usage)
3. [Getting Help](#getting-help)
@@ -28,25 +28,27 @@ The remainder of this README contains information on:
Found a bug? [Open an issueon github](https://github.com/vbr-calc/vbr/issues/new)! Got a question? Join our slack channel at [vbr-calc.slack.com](https://join.slack.com/t/vbr-calc/shared_invite/enQtODI0MTk4NzIxNzkzLTZlYjMwYTc4MTVkOTg2ZDgyNTQxNTAxNjc2NmNkMzA2MmVjOTJkYjYzNjc1ZDJhNzg5ZWU2MzE4OTEyNmMxNGU)!
-
# Basic Usage
-The following outlines the basic usage for the VBR calculator. Additionally, there is a growing number of examples in Projects/ to illustrate more complex usage, particularly in developing a statistical framework for comparing predicted mechanical properties to observed properties.
+The following outlines the basic usage for the VBR calculator. Additionally, there is a growing number of examples in Projects/ to illustrate more complex usage, particularly in developing a statistical framework for comparing predicted mechanical properties to observed properties.
### Directory structure
+
The code is divided into two primary subdirectories: `vbr` and `Projects`.
-* `./vbr`: the inner guts of the VBR calculator. The subdirectory `./vbr/vbrCore/functions/` contains the functions in which the actual methods are coded. For example, functions beginning `Q_` are functions related to anelastic methods.
-* `./Projects`: each subdirectory within this directory is an example of using the VBR Calculator in a wider "Project." These projects are self-contained codes that use the VBR Calculator in a broader context:
- * `vbr_core_examples`: scripts that simply call VBR in different ways
- * `1_LabData`: functions that call VBR for experimental conditions and materials
- * `mantle_extrap_*`: 3 directories demonstrating how to call VBR for a range of mantle conditions by (1) generating a look up table (LUT, `mantle_extrap_LUT`), (2) using an the analytical solution for half space cooling (`mantle_extrap_hspace`) and (3) using a numerical solution of half space cooling (`mantle_extrap_FM`) .
- * `LAB_fitting_bayesian` a demonstration of how one can use the VBR Calculator in a forward modeling framework to investigate seismic observations.
+
+- `./vbr`: the inner guts of the VBR calculator. The subdirectory `./vbr/vbrCore/functions/` contains the functions in which the actual methods are coded. For example, functions beginning `Q_` are functions related to anelastic methods.
+- `./Projects`: each subdirectory within this directory is an example of using the VBR Calculator in a wider "Project." These projects are self-contained codes that use the VBR Calculator in a broader context:
+- `vbr_core_examples`: scripts that simply call VBR in different ways
+- `1_LabData`: functions that call VBR for experimental conditions and materials
+- `mantle_extrap_*`: 3 directories demonstrating how to call VBR for a range of mantle conditions by (1) generating a look up table (LUT, `mantle_extrap_LUT`), (2) using an the analytical solution for half space cooling (`mantle_extrap_hspace`) and (3) using a numerical solution of half space cooling (`mantle_extrap_FM`) .
+- `LAB_fitting_bayesian` a demonstration of how one can use the VBR Calculator in a forward modeling framework to investigate seismic observations.
Note that you should write your code that uses vbr in directories outside the vbr github repository, unless you plan on submitting them to the repository (see the `DevelopmentGuide.md` if that's the case).
### Initialize VBR
To start, add the top level directory to your Matlab path (relative or absolute path) and run vbr_init to add all the required directories to your path:
+
```
vbr_path='~/src/vbr/';
addpath(vbr_path)
@@ -55,16 +57,17 @@ vbr_init
### Initialize Methods List
-The VBR Calculator is built around Matlab structures. All direction and data is stored in the ```VBR``` structure, which gets passed around to where it needs to go. ```VBR.in``` contains the user's input. ```VBR.out``` contains the results of any calculations.
+The VBR Calculator is built around Matlab structures. All direction and data is stored in the `VBR` structure, which gets passed around to where it needs to go. `VBR.in` contains the user's input. `VBR.out` contains the results of any calculations.
+
+**First**, the user must supply a cell array called `methods_list` for each property for which they want to calculate:
-**First**, the user must supply a cell array called ```methods_list``` for each property for which they want to calculate:
```Matlab
VBR.in.elastic.methods_list={'anharmonic';'anh_poro';};
VBR.in.viscous.methods_list={'HK2003','HZK2011'};
VBR.in.anelastic.methods_list={'eburgers_psp';'andrade_psp';'xfit_mxw'};
```
-Each method will have a field in ```VBR.out``` beneath the property, e.g.,
+Each method will have a field in `VBR.out` beneath the property, e.g.,
```Matlab
VBR.out.elastic.anharmonic
@@ -72,13 +75,14 @@ VBR.out.viscous.HK2003
VBR.out.anelastic.eburgers_psp
VBR.out.anelastic.andrade_psp
```
-beneath which there will be fields for the output for the calculations, e.g., ```VBR.out.anelastic.andrade_psp.Q``` for quality factor Q (attenuation=Q-1).
-After VBR is initialized, a list of available methods can be printed by running `vbrListMethods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
+beneath which there will be fields for the output for the calculations, e.g., `VBR.out.anelastic.andrade_psp.Q` for quality factor Q (attenuation=Q-1).
+
+After VBR is initialized, a list of available methods can be printed by running `VBR_list_methods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
### Initialize the State Variables
-The input structure ```VBR.in.SV``` contains the state variables that define the conditions at which you want to apply the methods. The following fields **MUST** be defined:
+The input structure `VBR.in.SV` contains the state variables that define the conditions at which you want to apply the methods. The following fields **MUST** be defined:
```Matlab
% frequencies to calculate at
@@ -102,7 +106,7 @@ The input structure ```VBR.in.SV``` contains the state variables that define the
```
-All SV arrays must be the same size and shape, except for the frequency ```VBR.in.SV.f```. They can be any length and shape as long as they are the same. Frequency dependent variables store the frequency dependencein an extra dimension of the output. If ```shape(VBR.in.SV.T)``` is (50,100) and ```numel(VBR.in.SV.f)``` is 3, then ```shape(VBR.out.anelastic.eburgers_psp.V)``` will be (50,100,3).
+All SV arrays must be the same size and shape, except for the frequency `VBR.in.SV.f`. They can be any length and shape as long as they are the same. Frequency dependent variables store the frequency dependencein an extra dimension of the output. If `shape(VBR.in.SV.T)` is (50,100) and `numel(VBR.in.SV.f)` is 3, then `shape(VBR.out.anelastic.eburgers_psp.V)` will be (50,100,3).
### Adjust parameters (optional)
@@ -113,7 +117,7 @@ VBR.in.elastic.anharmonic.Gu_0_ol = 75.5; % olivine reference shear modulus [GPa
VBR.in.viscous.HZK2011.diff.Q=350e3; % diffusion creep activation energy
```
-The default parameters are stored in ```vbr/vbrCore/params/``` and can be loaded and explored with
+The default parameters are stored in `vbr/vbrCore/params/` and can be loaded and explored with
```Matlab
VBR.in.elastic.anharmonic=Params_Elastic('anharmonic'); % unrelaxed elasticity
@@ -124,7 +128,7 @@ When changing parameters from those loaded by default, you can either load all t
### Run the VBR Calculator
-The VBR Calculator executes calculations by passing the ```VBR``` structure to the ``VBR_spine()```:
+The VBR Calculator executes calculations by passing the `VBR` structure to the ``VBR_spine()```:
```Matlab
[VBR] = VBR_spine(VBR) ;
@@ -132,7 +136,7 @@ The VBR Calculator executes calculations by passing the ```VBR``` structure to t
### Extracting results
-Results are stored in ```VBR.out``` for each property type and method:
+Results are stored in `VBR.out` for each property type and method:
```Matlab
VBR.out.elastic.anharmonic.Vsu % unrelaxed seismic shear wave velocity
@@ -142,16 +146,14 @@ VBR.out.viscous.HZK2011.eta_total % composite steady state creep viscosity
### Notes for GNU Octave users
-The VBR Calculator nominally works in GNU Octave, but you may find that you need to install some packages.
+The VBR Calculator works with [GNU Octave](https://octave.sourceforge.io/io/index.html) as well as MATLAB. Some of the `Projects/` may require additional packages. For how to install GNU Octave and additional packages, see:
+* https://octave.sourceforge.io/io/index.html
+* https://octave.org/doc/interpreter/Installing-and-Removing-Packages.html
-https://octave.sourceforge.io/io/index.html
-https://octave.sourceforge.io/statistics/index.html
-https://octave.org/doc/interpreter/Installing-and-Removing-Packages.html
# Getting Help
-See the full documentation page on [Contributing and Getting Help](https://vbr-calc.github.io/vbr/contrib/contributing/)
-for ways to reach out or [post a github issue](https://github.com/vbr-calc/vbr/issues/new)!
+For bug reports, please open a [github issue](https://github.com/vbr-calc/vbr/issues/new). For general questions, join the VBRc slack channel and ask in the #vbr-help channel (join the slack from the invite link on the [Contributing and Getting Help](https://vbr-calc.github.io/vbr/contrib/contributing/) page).
# Contributing to the VBRc
@@ -194,6 +196,7 @@ To release, create a new version tag locally:
```
$ git tag v0.99.5
```
+
and push it up to gitub
```
@@ -213,14 +216,13 @@ Then commit and push the following changes to `main`:
- Copy/paste `release_notes.md` into `release_history.md`, reset `release_notes.md` for active development.
- Bump the version in `vbr/support/vbr_version.m` appropriately
-
# How to Cite
The primary VBRc "methods paper" to cite is:
Havlin, C., Holtzman, B.K. and Hopper, E., 2021. Inference of thermodynamic state in the asthenosphere from anelastic properties, with applications to North American upper mantle. Physics of the Earth and Planetary Interiors, 314, p.106639, [https://doi.org/10.1016/j.pepi.2020.106639](https://doi.org/10.1016/j.pepi.2020.106639).
-If you use bibtex:
+If you use bibtex:
```commandline
@article{havlin2021inference,
@@ -233,6 +235,7 @@ If you use bibtex:
publisher={Elsevier}
}
```
+
Additionally, you're welcome to cite the software DOI directly if you would like to point your readers directly to the software (but please also cite the methods paper above):
[![DOI](https://zenodo.org/badge/225459902.svg)](https://zenodo.org/badge/latestdoi/225459902)
@@ -245,10 +248,11 @@ vbr_init
params = Params_Anelastic('eburgers_psp');
disp(params.citations)
```
+
will display relevant citations for the `eburgers_psp` method.
**If you publish with the VBRc**, please also send us a note and we can add you to our [VBR in the wild](https://vbr-calc.github.io/vbr/relatedpubs/) publication list.
-## Licensing ##
+## Licensing
-The VBRc is open source and licensed under an MIT license. See the [LICENSE](LICENSE) file for more information.
\ No newline at end of file
+The VBRc is open source and licensed under an MIT license. See the [LICENSE](LICENSE) file for more information.
diff --git a/docs/_pages/gettingstarted/methods.md b/docs/_pages/gettingstarted/methods.md
index e8a4f26..626926c 100644
--- a/docs/_pages/gettingstarted/methods.md
+++ b/docs/_pages/gettingstarted/methods.md
@@ -1,6 +1,6 @@
---
permalink: /gettingstarted/methods/
-title: "Listing & Setting Methods"
+title: 'Listing & Setting Methods'
---
At present, the VBR Calculator includes methods for pure elastic, viscous and anelastic material properties. This section describes how to list and specify methods for calculation. To see descriptions of the methods, see the pages on [elastic](), [viscous]() and [anelastic]() methods.
@@ -10,13 +10,13 @@ At present, the VBR Calculator includes methods for pure elastic, viscous and an
To list available methods from a MATLAB command window:
```matlab
->> vbrListMethods
+>> VBR_list_methods
available anelastic methods:
eburgers_psp
andrade_psp
xfit_mxw
- xfit_premelt
+ xfit_premelt
available elastic methods:
anharmonic
@@ -26,10 +26,10 @@ available elastic methods:
available viscous methods:
HK2003
HZK2011
- xfit_premelt
+ xfit_premelt
```
-Each method has a corresponding set of parameters that can be displayed and/or changed. To load the parameters for a given method, `method_name`, you call `Params_Elastic(method_name)`, `Params_Viscous(method_name)` or `Params_Anelastic(method_name)` depending on the proprety type of the method. For example, to load the `xfit_mxw` anelastic method parameters:
+Each method has a corresponding set of parameters that can be displayed and/or changed. To load the parameters for a given method, `method_name`, you call `Params_Elastic(method_name)`, `Params_Viscous(method_name)` or `Params_Anelastic(method_name)` depending on the proprety type of the method. For example, to load the `xfit_mxw` anelastic method parameters:
```matlab
>> xfit_mxw_params=Params_Anelastic('xfit_mxw');
@@ -68,15 +68,16 @@ Each method has a corresponding set of parameters that can be displayed and/or c
```
Some fields of note include:
-* `citations`: relevant references for the method
-* `func_name`: the function in `vbr/vbrCore/functions` called for this method
-* `description`: a short description of the method
+
+- `citations`: relevant references for the method
+- `func_name`: the function in `vbr/vbrCore/functions` called for this method
+- `description`: a short description of the method
The remaining fields are all of the parameters and arguments needed to apply the method. In the above case, this includes all coefficients for the master curve maxwell scaling.
## Specifying Methods
-The above methods are listed by "property type," which is one of `elastic`, `viscous` or `anelastic`. Each property type has a corresponding `methods_list` cell array in the `VBR.in` structure that represents the list of methods to apply:
+The above methods are listed by "property type," which is one of `elastic`, `viscous` or `anelastic`. Each property type has a corresponding `methods_list` cell array in the `VBR.in` structure that represents the list of methods to apply:
```matlab
VBR.in.elastic.methods_list={'anharmonic';'anh_poro';};
@@ -84,7 +85,6 @@ VBR.in.viscous.methods_list={'HK2003';'HZK2011'};
VBR.in.anelastic.methods_list={'eburgers_psp';'andrade_psp';'xfit_mxw'};
```
-
After calculations, each property type will have a field in `VBR.out`, beneath which each method also has a field, e.g.:
```matlab
diff --git a/docs/_pages/gettingstarted/quickstart.md b/docs/_pages/gettingstarted/quickstart.md
index edd1261..4d75002 100644
--- a/docs/_pages/gettingstarted/quickstart.md
+++ b/docs/_pages/gettingstarted/quickstart.md
@@ -1,9 +1,9 @@
---
permalink: /gettingstarted/
-title: "Quick Start"
+title: 'Quick Start'
---
-The following outlines the basic usage for the VBR calculator. Additionally, there are a growing number of [examples](/vbr/examples/) in Projects/ to illustrate more complex usage, particularly in developing a statistical framework for comparing predicted mechanical properties to observed properties. In general, the flow is to:
+The following outlines the basic usage for the VBR calculator. Additionally, there are a growing number of [examples](/vbr/examples/) in Projects/ to illustrate more complex usage, particularly in developing a statistical framework for comparing predicted mechanical properties to observed properties. In general, the flow is to:
1. Initialize VBR
2. Set Methods List
@@ -14,13 +14,14 @@ The following outlines the basic usage for the VBR calculator. Additionally, the
## 0. The VBR structure
-The VBR Calculator is built around MATLAB structures. All direction and data is stored in the ```VBR``` structure, which gets passed around to where it needs to go. ```VBR.in``` contains the user's input. ```VBR.out``` contains the results of any calculations.
+The VBR Calculator is built around MATLAB structures. All direction and data is stored in the `VBR` structure, which gets passed around to where it needs to go. `VBR.in` contains the user's input. `VBR.out` contains the results of any calculations.
!['VBRstructure'](/vbr/assets/images/vbrcoreflowchart.png){:class="img-responsive"}
## 1. Initialize VBR
To start, add the top level directory to your MATLAB path (relative or absolute path) and run vbr_init to add all the required directories to your path:
+
```matlab
vbr_path='~/src/vbr/';
addpath(vbr_path)
@@ -31,7 +32,7 @@ If desired, you can permanently add the vbr directory to your path and even call
## 2. Set Methods List
-The user must supply a cell array called ```methods_list``` for each property for which they want to calculate (see [here](/vbr/gettingstarted/methods/) for more on available methods):
+The user must supply a cell array called `methods_list` for each property for which they want to calculate (see [here](/vbr/gettingstarted/methods/) for more on available methods):
```matlab
VBR.in.elastic.methods_list={'anharmonic';'anh_poro';};
@@ -39,7 +40,7 @@ VBR.in.viscous.methods_list={'HK2003','HZK2011'};
VBR.in.anelastic.methods_list={'eburgers_psp';'andrade_psp';'xfit_mxw'};
```
-Each method will have a field in ```VBR.out``` beneath the property, e.g.,
+Each method will have a field in `VBR.out` beneath the property, e.g.,
```matlab
VBR.out.elastic.anharmonic
@@ -47,13 +48,14 @@ VBR.out.viscous.HK2003
VBR.out.anelastic.eburgers_psp
VBR.out.anelastic.andrade_psp
```
-beneath which there will be fields for the output for the calculations, e.g., ```VBR.out.anelastic.andrade_psp.Q``` for quality factor Q (attenuation=Q-1).
-After VBR is initialized, a list of available methods can be printed by running `vbrListMethods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
+beneath which there will be fields for the output for the calculations, e.g., `VBR.out.anelastic.andrade_psp.Q` for quality factor Q (attenuation=Q-1).
+
+After VBR is initialized, a list of available methods can be printed by running `VBR_list_methods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
## 3. Specify the State Variables
-The input structure ```VBR.in.SV``` contains the state variables that define the conditions at which you want to apply the methods. The following fields **MUST** be defined:
+The input structure `VBR.in.SV` contains the state variables that define the conditions at which you want to apply the methods. The following fields **MUST** be defined:
```matlab
% frequencies to calculate at
@@ -81,7 +83,7 @@ while the following fields are optional:
VBR.in.SV.Ch2o = 0 * ones(n1,1) ; % water concentration (OPTIONAL, DEFAULT 0)
```
-All SV arrays must be the same size and shape, except for the frequency ```VBR.in.SV.f```. They can be any length and shape as long as they are the same. Frequency dependent variables store the frequency dependencein an extra dimension of the output. If ```size(VBR.in.SV.T)``` is (50,100) and ```numel(VBR.in.SV.f)``` is 3, then ```size(VBR.out.anelastic.eburgers_psp.V)``` will be (50,100,3).
+All SV arrays must be the same size and shape, except for the frequency `VBR.in.SV.f`. They can be any length and shape as long as they are the same. Frequency dependent variables store the frequency dependencein an extra dimension of the output. If `size(VBR.in.SV.T)` is (50,100) and `numel(VBR.in.SV.f)` is 3, then `size(VBR.out.anelastic.eburgers_psp.V)` will be (50,100,3).
## 4. Adjust parameters (optional)
@@ -92,7 +94,7 @@ VBR.in.elastic.anharmonic.Gu_0_ol = 75.5; % olivine reference shear modulus [GPa
VBR.in.viscous.HZK2011.diff.Q=350e3; % diffusion creep activation energy
```
-The default parameters are stored in ```vbr/vbrCore/params/``` and can be loaded and explored with
+The default parameters are stored in `vbr/vbrCore/params/` and can be loaded and explored with
```matlab
VBR.in.elastic.anharmonic=Params_Elastic('anharmonic'); % unrelaxed elasticity
@@ -103,7 +105,7 @@ When changing parameters from those loaded by default, you can either load all t
## 5. Run the VBR Calculator
-The VBR Calculator executes calculations by passing the ```VBR``` structure to the ``VBR_spine()```:
+The VBR Calculator executes calculations by passing the `VBR` structure to the `VBR_spine()`:
```matlab
[VBR] = VBR_spine(VBR) ;
@@ -111,34 +113,30 @@ The VBR Calculator executes calculations by passing the ```VBR``` structure to t
## 6. Extract results
-Results are stored in ```VBR.out``` for each property type and method:
+Results are stored in `VBR.out` for each property type and method:
```matlab
VBR.out.elastic.anharmonic.Vsu % unrelaxed seismic shear wave velocity
VBR.out.anelastic.eburgers_psp.V % anelastic-dependent seismic shear wave velocity
VBR.out.viscous.HZK2011.eta_total % composite steady state creep viscosity
```
-As noted above, any frequency dependence is stored in an additional dimension. For example, if ```size(VBR.in.SV.T)``` is (50,100) and ```numel(VBR.in.SV.f)``` is 3, then ```size(VBR.out.anelastic.eburgers_psp.V)``` will be (50,100,3).
+As noted above, any frequency dependence is stored in an additional dimension. For example, if `size(VBR.in.SV.T)` is (50,100) and `numel(VBR.in.SV.f)` is 3, then `size(VBR.out.anelastic.eburgers_psp.V)` will be (50,100,3).
-## 7. Saving results
+## 7. Saving results
-To save your results, you can manually save the ```VBR``` structure as usual in MATLAB. You can, however, also
-use the `VBR_save` function:
+To save your results, you can manually save the `VBR` structure as usual in MATLAB. You can, however, also use the `VBR_save` function:
-```matlab
-VBR_save(VBR, "my_vbrc_results.mat")
+```matlab
+VBR_save(VBR, "my_vbrc_results.mat")
```
-This function is useful to ensure that the ```VBR``` structure is saved in
-a standardized way, which at present is mainly useful for loading ```VBRc```
-output in the Python wrapper of the VBRc, ```pyVBRc```([link](https://github.com/vbr-calc/pyVBRc)).
+This function is useful to ensure that the `VBR` structure is saved in a standardized way, which at present is mainly useful for loading `VBRc` output in the Python wrapper of the VBRc, `pyVBRc`([link](https://github.com/vbr-calc/pyVBRc)).
Additionally, `VBR_save` allows you to easily exclude the `VBR.in.SV` structure from the saved file:
-```matlab
-VBR_save(VBR, "my_vbrc_results_without_SV.mat", 1)
+```matlab
+VBR_save(VBR, "my_vbrc_results_without_SV.mat", 1)
```
-This can be useful if you wish to save disk space and instead reconstruct your state variables
-on re-load (which you must do manually!).
\ No newline at end of file
+This can be useful if you wish to save disk space and instead reconstruct your state variables on re-load (which you must do manually!).
diff --git a/docs/_pages/vbrmethods/anelastic.md b/docs/_pages/vbrmethods/anelastic.md
index 2d1f1fc..97fc518 100644
--- a/docs/_pages/vbrmethods/anelastic.md
+++ b/docs/_pages/vbrmethods/anelastic.md
@@ -1,19 +1,16 @@
---
permalink: /vbrmethods/anelastic/
-title: "Anelastic Methods"
+title: 'Anelastic Methods'
toc: false
---
-The anelastic methods displayed by `vbrListMethods` currently include:
+The anelastic methods displayed by `VBR_list_methods` currently include:
* `eburgers_psp` [documentation](/vbr/vbrmethods/anel/eburgerspsp/): Extended Burgers Model, pseudo period scaling
* `andrade_psp` [documentation](/vbr/vbrmethods/anel/andradepsp/): Andrade Model, pseudo period scaling
* `xfit_mxw` [documentation](/vbr/vbrmethods/anel/xfitmxw/): Master Curve Fit, maxwell scaling
* `xfit_premelt` [documentation](/vbr/vbrmethods/anel/xfitpremelt/): Master Curve Fit, pre-melting maxwell scaling
-A detailed theoretical description of each is provided in the full methods paper ([link](https://doi.org/10.1016/j.pepi.2020.106639)) or
-in the papers cited by the methods and so here, we only describe the computational aspects useful to the end user.
+A detailed theoretical description of each is provided in the full methods paper ([link](https://doi.org/10.1016/j.pepi.2020.106639)) or in the papers cited by the methods and so here, we only describe the computational aspects useful to the end user.
-All of the anelastic methods require results of an elastic calculation, specifically the unrelaxed elastic moduli.
-If calculated, the anelastic methods may also use moduli from `VBR.out.elastic.anh_poro` and default to those from
-`VBR.out.elastic.anharmonic`.
+All of the anelastic methods require results of an elastic calculation, specifically the unrelaxed elastic moduli. If calculated, the anelastic methods may also use moduli from `VBR.out.elastic.anh_poro` and default to those from `VBR.out.elastic.anharmonic`.
diff --git a/docs/_pages/vbrmethods/elastic.md b/docs/_pages/vbrmethods/elastic.md
index 83b4eec..b532bf9 100644
--- a/docs/_pages/vbrmethods/elastic.md
+++ b/docs/_pages/vbrmethods/elastic.md
@@ -1,10 +1,10 @@
---
permalink: /vbrmethods/elastic/
-title: "Elastic Methods"
+title: 'Elastic Methods'
toc: false
---
-The elastic methods displayed by `vbrListMethods` currently include:
+The elastic methods displayed by `VBR_list_methods` currently include:
* `anharmonic` [documentation](/vbr/vbrmethods/el/anharmonic/): anharmonic scaling
* `anh_poro` [documentation](/vbr/vbrmethods/el/anhporo/): poro-elastic scaling
diff --git a/docs/indexbad.badmd b/docs/indexbad.badmd
index e03db0b..6dd9bff 100644
--- a/docs/indexbad.badmd
+++ b/docs/indexbad.badmd
@@ -68,7 +68,7 @@ VBR.out.anelastic.andrade_psp
```
beneath which there will be fields for the output for the calculations, e.g., ```VBR.out.anelastic.andrade_psp.Q``` for quality factor Q (attenuation=Q-1).
-After VBR is initialized, a list of available methods can be printed by running `vbrListMethods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
+After VBR is initialized, a list of available methods can be printed by running `VBR_list_methods()`. For theoretical background on the different methods, see the accompanying VBR Calculator Manual.
### Initialize the State Variables
diff --git a/vbr/support/VBR_list_methods.m b/vbr/support/VBR_list_methods.m
new file mode 100644
index 0000000..a38f609
--- /dev/null
+++ b/vbr/support/VBR_list_methods.m
@@ -0,0 +1,40 @@
+function VBR_list_methods(single_prop)
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % VBR_list_methods
+ %
+ % prints available methods by property to screen
+ %
+ % Parameters:
+ % -----------
+ % single_prop: optional string, must be in 'anelastic', 'elastic' or 'viscous'
+ %
+ % VBR_list_methods() will print all methods
+ % VBR_list_methods('viscous') will print only viscous methods
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ param_types={'anelastic';'elastic';'viscous'};
+ if exist('single_prop', 'var')
+ param_type=lower(single_prop);
+ if any(strcmp(param_types,param_type))
+ param_types={param_type};
+ else
+ disp(['provided property type, ',single_prop,' does not exist.'])
+ disp(['possible types are:'])
+ for iM = 1:numel(param_types)
+ disp([' ',param_types{iM}]);
+ end
+ end
+ end
+
+ for iP = 1:numel(param_types)
+ property=param_types{iP};
+ param_func=fetchParamFunction(property);
+ params=feval(param_func,'');
+ disp('')
+ disp(['available ',property,' methods:'])
+ for iM = 1:numel(params.possible_methods)
+ disp([' ',params.possible_methods{iM}]);
+ end
+ end
+ disp('')
+end
\ No newline at end of file
diff --git a/vbr/support/vbrListMethods.m b/vbr/support/vbrListMethods.m
index 53ccd0b..14239ca 100644
--- a/vbr/support/vbrListMethods.m
+++ b/vbr/support/vbrListMethods.m
@@ -2,6 +2,11 @@ function vbrListMethods(single_prop)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% vbrListMethods
%
+ % DEPRECATED FUNCTION: This function is has been renamed to
+ % VBR_list_methods() and vbrListMethods will be removed in a
+ % future version of the VBRc.
+ %
+ %
% prints available methods by property to screen
%
% Parameters:
@@ -11,30 +16,14 @@ function vbrListMethods(single_prop)
% vbrListMethods() will print all methods
% vbrListMethods('viscous') will print only viscous methods
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- param_types={'anelastic';'elastic';'viscous'};
- if exist('single_prop', 'var')
- param_type=lower(single_prop);
- if any(strcmp(param_types,param_type))
- param_types={param_type};
+ msg = ['DEPRECATION WARNING: vbrListMethods has been renamed to VBR_list_methods',
+ ' vbrListMethods will be removed soon from ',
+ 'future version of the VBRc. Use VBR_list_methods to silence ',
+ 'this warning.'];
+ disp(msg)
+ if exist('single_prop', 'var')
+ VBR_list_methods(single_prop)
else
- disp(['provided property type, ',single_prop,' does not exist.'])
- disp(['possible types are:'])
- for iM = 1:numel(param_types)
- disp([' ',param_types{iM}]);
- end
- end
- end
-
- for iP = 1:numel(param_types)
- property=param_types{iP};
- param_func=fetchParamFunction(property);
- params=feval(param_func,'');
- disp('')
- disp(['available ',property,' methods:'])
- for iM = 1:numel(params.possible_methods)
- disp([' ',params.possible_methods{iM}]);
- end
- end
- disp('')
-end
+ VBR_list_methods()
+ end
+end
\ No newline at end of file
diff --git a/vbr/vbrCore/functions/spineGeneralized.m b/vbr/vbrCore/functions/spineGeneralized.m
index 36c77ad..2ea1df1 100644
--- a/vbr/vbrCore/functions/spineGeneralized.m
+++ b/vbr/vbrCore/functions/spineGeneralized.m
@@ -32,7 +32,7 @@
disp('')
disp('WARNING!!!!!')
disp([' ',meth,' is not a valid method for ',property])
- disp(' run vbrListMethods() for valid list')
+ disp(' run VBR_list_methods() for valid list')
disp('')
end
end
diff --git a/vbr/vbrCore/functions/visc_calc_xfit_premelt.m b/vbr/vbrCore/functions/visc_calc_xfit_premelt.m
index 6864bb3..8b6d302 100644
--- a/vbr/vbrCore/functions/visc_calc_xfit_premelt.m
+++ b/vbr/vbrCore/functions/visc_calc_xfit_premelt.m
@@ -16,7 +16,7 @@
% if the eta_melt_free_method parameter for this method is set to
% 'xfit_premelt', will use the exact viscosity from Yamauchi and
% Takei for the melt-free viscosity, otherwise eta_melt_free_method can
- % be set to any VBR viscous method, see vbrListMethods()
+ % be set to any VBR viscous method, see VBR_list_methods()
%
% Output:
% -------