doc added; reading of isochronal bds
This commit is contained in:
		
							
								
								
									
										20
									
								
								doc/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								doc/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| # Minimal makefile for Sphinx documentation | ||||
| # | ||||
|  | ||||
| # You can set these variables from the command line, and also | ||||
| # from the environment for the first two. | ||||
| SPHINXOPTS    ?= | ||||
| SPHINXBUILD   ?= /autohome/dominik/miniconda3/bin/sphinx-build | ||||
| SOURCEDIR     = /autohome/dominik/nmreval/docs/source | ||||
| BUILDDIR      = /autohome/dominik/nmreval/docs/build | ||||
|  | ||||
| # Put it first so that "make" without argument is like "make help". | ||||
| help: | ||||
| 	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||||
|  | ||||
| .PHONY: help Makefile | ||||
|  | ||||
| # Catch-all target: route all unknown targets to Sphinx using the new | ||||
| # "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS). | ||||
| %: Makefile | ||||
| 	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||||
							
								
								
									
										9
									
								
								doc/examples/README.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								doc/examples/README.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| .. examples-index: | ||||
|  | ||||
| .. _gallery: | ||||
|  | ||||
| ======== | ||||
| Examples | ||||
| ======== | ||||
|  | ||||
| This page contains example plots. Click on any image to see the full image and source code. | ||||
							
								
								
									
										6
									
								
								doc/examples/distribution/README.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								doc/examples/distribution/README.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
|  .. _distribution_examples: | ||||
|  | ||||
| .. _distribution-examples-index: | ||||
|  | ||||
| Distribution of correlation times | ||||
| ================================= | ||||
							
								
								
									
										50
									
								
								doc/examples/distribution/plot_ColeCole.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								doc/examples/distribution/plot_ColeCole.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| """ | ||||
| ========= | ||||
| Cole-Cole | ||||
| ========= | ||||
|  | ||||
| Example for Cole-Cole distributions | ||||
| """ | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
|  | ||||
| from nmreval.distributions import ColeCole | ||||
|  | ||||
| x = np.logspace(-5, 5, num=101) | ||||
|  | ||||
| cc = ColeCole | ||||
|  | ||||
| alpha_CC = [0.3, 0.5, 0.7] | ||||
|  | ||||
| fig, axes = plt.subplots(2, 3, constrained_layout=True) | ||||
|  | ||||
| lines = [] | ||||
| for a in alpha_CC: | ||||
|     axes[0, 0].plot(np.log10(x), cc.correlation(x, 1, a)) | ||||
|     axes[1, 0].plot(np.log10(x), np.log10(cc.specdens(x, 1, a))) | ||||
|     axes[0, 1].plot(np.log10(x), np.log10(cc.susceptibility(x, 1, a).real)) | ||||
|     axes[1, 1].plot(np.log10(x), np.log10(cc.susceptibility(x, 1, a).imag)) | ||||
|     l, = axes[0, 2].plot(np.log10(x), cc.distribution(x, 1, a), | ||||
|                          label=rf'$\alpha={a}$') | ||||
|     lines.append(l) | ||||
|  | ||||
| fig_titles = ('Correlation function', 'Susceptibility (real)', 'Distribution', | ||||
|               'Spectral density', 'Susceptibility (imag)') | ||||
| fig_xlabel = (r'$\log(t/\tau_\mathrm{HN})$', r'$\log(\omega\tau_\mathrm{HN})$', | ||||
|               r'$\log(\tau/\tau_\mathrm{HN})$', r'$\log(\omega\tau_\mathrm{HN})$', | ||||
|               r'$\log(\omega\tau_\mathrm{HN})$') | ||||
| fig_ylabel = (r'$C(t)$', r"$\log(\chi'(\omega))$", r'$G(\ln\tau)$', | ||||
|               r'$\log(J(\omega))$', r"$\log(\chi''(\omega))$") | ||||
|  | ||||
| for title, xlabel, ylabel, ax in zip(fig_titles, fig_xlabel, fig_ylabel, axes.ravel()): | ||||
|     ax.set_title(title) | ||||
|     ax.set_xlabel(xlabel) | ||||
|     ax.set_ylabel(ylabel) | ||||
|  | ||||
| labels = [l.get_label() for l in lines] | ||||
| leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(1.05, 0.50), | ||||
|                  bbox_transform=axes[1, 1].transAxes) | ||||
|  | ||||
| fig.delaxes(axes[1, 2]) | ||||
|  | ||||
| plt.show() | ||||
							
								
								
									
										50
									
								
								doc/examples/distribution/plot_ColeDavidson.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								doc/examples/distribution/plot_ColeDavidson.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| """ | ||||
| ============= | ||||
| Cole-Davidson | ||||
| ============= | ||||
|  | ||||
| Example for Cole-Davidson distributions | ||||
| """ | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
|  | ||||
| from nmreval.distributions import ColeDavidson | ||||
|  | ||||
| x = np.logspace(-5, 5, num=101) | ||||
|  | ||||
| cd = ColeDavidson | ||||
|  | ||||
| gamma_CD = [0.3, 0.5, 0.7] | ||||
|  | ||||
| fig, axes = plt.subplots(2, 3, constrained_layout=True) | ||||
|  | ||||
| lines = [] | ||||
| for g in gamma_CD: | ||||
|     axes[0, 0].plot(np.log10(x), cd.correlation(x, 1, g)) | ||||
|     axes[1, 0].plot(np.log10(x), np.log10(cd.specdens(x, 1, g))) | ||||
|     axes[0, 1].plot(np.log10(x), np.log10(cd.susceptibility(x, 1, g).real)) | ||||
|     axes[1, 1].plot(np.log10(x), np.log10(cd.susceptibility(x, 1, g).imag)) | ||||
|     l, = axes[0, 2].plot(np.log10(x), cd.distribution(x, 1, g), | ||||
|                          label=rf'$\gamma={g}$') | ||||
|     lines.append(l) | ||||
|  | ||||
| fig_titles = ('Correlation function', 'Susceptibility (real)', 'Distribution', | ||||
|               'Spectral density', 'Susceptibility (imag)') | ||||
| fig_xlabel = (r'$\log(t/\tau_\mathrm{CD})$', r'$\log(\omega\tau_\mathrm{CD})$', | ||||
|               r'$\log(\tau/\tau_\mathrm{CD})$', r'$\log(\omega\tau_\mathrm{CD})$', | ||||
|               r'$\log(\omega\tau_\mathrm{CD})$') | ||||
| fig_ylabel = (r'$C(t)$', r"$\log(\chi'(\omega))$", r'$G(\ln\tau)$', | ||||
|               r'$\log(J(\omega))$', r"$\log(\chi''(\omega))$") | ||||
|  | ||||
| for title, xlabel, ylabel, ax in zip(fig_titles, fig_xlabel, fig_ylabel, axes.ravel()): | ||||
|     ax.set_title(title) | ||||
|     ax.set_xlabel(xlabel) | ||||
|     ax.set_ylabel(ylabel) | ||||
|  | ||||
| labels = [l.get_label() for l in lines] | ||||
| leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(1.05, 0.50), | ||||
|                  bbox_transform=axes[1, 1].transAxes) | ||||
|  | ||||
| fig.delaxes(axes[1, 2]) | ||||
|  | ||||
| plt.show() | ||||
							
								
								
									
										53
									
								
								doc/examples/distribution/plot_HavriliakNegami.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								doc/examples/distribution/plot_HavriliakNegami.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| """ | ||||
| ================ | ||||
| Havriliak-Negami | ||||
| ================ | ||||
|  | ||||
| Example for Havriliak-Negami distributions | ||||
| """ | ||||
| from itertools import product | ||||
|  | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
|  | ||||
| from nmreval.distributions import HavriliakNegami | ||||
|  | ||||
| x = np.logspace(-5, 5, num=101) | ||||
|  | ||||
| hn = HavriliakNegami | ||||
|  | ||||
| alpha_CC = [0.4, 0.8] | ||||
| gamma_CD = [0.3, 0.7] | ||||
|  | ||||
| fig, axes = plt.subplots(2, 3, constrained_layout=True) | ||||
|  | ||||
| lines = [] | ||||
| for a, g in product(alpha_CC, gamma_CD): | ||||
|     axes[0, 0].plot(np.log10(x), hn.correlation(x, 1, a, g)) | ||||
|     axes[1, 0].plot(np.log10(x), np.log10(hn.specdens(x, 1, a, g))) | ||||
|     axes[0, 1].plot(np.log10(x), np.log10(hn.susceptibility(x, 1, a, g).real)) | ||||
|     axes[1, 1].plot(np.log10(x), np.log10(hn.susceptibility(x, 1, a, g).imag)) | ||||
|     l, = axes[0, 2].plot(np.log10(x), hn.distribution(x, 1, a, g), | ||||
|                          label=rf'$\alpha={a}, \gamma={g}$') | ||||
|     lines.append(l) | ||||
|  | ||||
| fig_titles = ('Correlation function', 'Susceptibility (real)', 'Distribution', | ||||
|               'Spectral density', 'Susceptibility (imag)') | ||||
| fig_xlabel = (r'$\log(t/\tau_\mathrm{HN})$', r'$\log(\omega\tau_\mathrm{HN})$', | ||||
|               r'$\log(\tau/\tau_\mathrm{HN})$', r'$\log(\omega\tau_\mathrm{HN})$', | ||||
|               r'$\log(\omega\tau_\mathrm{HN})$') | ||||
| fig_ylabel = (r'$C(t)$', r"$\log(\chi'(\omega))$", r'$G(\ln\tau)$', | ||||
|               r'$\log(J(\omega))$', r"$\log(\chi''(\omega))$") | ||||
|  | ||||
| for title, xlabel, ylabel, ax in zip(fig_titles, fig_xlabel, fig_ylabel, axes.ravel()): | ||||
|     ax.set_title(title) | ||||
|     ax.set_xlabel(xlabel) | ||||
|     ax.set_ylabel(ylabel) | ||||
|  | ||||
| labels = [l.get_label() for l in lines] | ||||
| leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(1.05, 0.50), | ||||
|                  bbox_transform=axes[1, 1].transAxes) | ||||
|  | ||||
| fig.delaxes(axes[1, 2]) | ||||
|  | ||||
| plt.show() | ||||
							
								
								
									
										50
									
								
								doc/examples/distribution/plot_KWW.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								doc/examples/distribution/plot_KWW.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| """ | ||||
| ========================= | ||||
| Kohlrausch-Williams-Watts | ||||
| ========================= | ||||
|  | ||||
| Example for KWW distributions | ||||
| """ | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
|  | ||||
| from nmreval.distributions import KWW | ||||
|  | ||||
| x = np.logspace(-5, 5, num=101) | ||||
|  | ||||
| kww = KWW | ||||
|  | ||||
| beta_KWW = [0.3, 0.5, 0.7] | ||||
|  | ||||
| fig, axes = plt.subplots(2, 3, constrained_layout=True) | ||||
|  | ||||
| lines = [] | ||||
| for b in beta_KWW: | ||||
|     axes[0, 0].plot(np.log10(x), kww.correlation(x, 1, b)) | ||||
|     axes[1, 0].plot(np.log10(x), np.log10(kww.specdens(x, 1, b))) | ||||
|     axes[0, 1].plot(np.log10(x), np.log10(kww.susceptibility(x, 1, b).real)) | ||||
|     axes[1, 1].plot(np.log10(x), np.log10(kww.susceptibility(x, 1, b).imag)) | ||||
|     l, = axes[0, 2].plot(np.log10(x), kww.distribution(x, 1, b), | ||||
|                          label=rf'$\beta={b}$') | ||||
|     lines.append(l) | ||||
|  | ||||
| fig_titles = ('Correlation function', 'Susceptibility (real)', 'Distribution', | ||||
|               'Spectral density', 'Susceptibility (imag)') | ||||
| fig_xlabel = (r'$\log(t/\tau_\mathrm{KWW})$', r'$\log(\omega\tau_\mathrm{KWW})$', | ||||
|               r'$\log(\tau/\tau_\mathrm{KWW})$', r'$\log(\omega\tau_\mathrm{KWW})$', | ||||
|               r'$\log(\omega\tau_\mathrm{KWW})$') | ||||
| fig_ylabel = (r'$C(t)$', r"$\log(\chi'(\omega))$", r'$G(\ln\tau)$', | ||||
|               r'$\log(J(\omega))$', r"$\log(\chi''(\omega))$") | ||||
|  | ||||
| for title, xlabel, ylabel, ax in zip(fig_titles, fig_xlabel, fig_ylabel, axes.ravel()): | ||||
|     ax.set_title(title) | ||||
|     ax.set_xlabel(xlabel) | ||||
|     ax.set_ylabel(ylabel) | ||||
|  | ||||
| labels = [l.get_label() for l in lines] | ||||
| leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(1.05, 0.50), | ||||
|                  bbox_transform=axes[1, 1].transAxes) | ||||
|  | ||||
| fig.delaxes(axes[1, 2]) | ||||
|  | ||||
| plt.show() | ||||
							
								
								
									
										50
									
								
								doc/examples/distribution/plot_LogGaussian.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								doc/examples/distribution/plot_LogGaussian.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| """ | ||||
| ============ | ||||
| Log-Gaussian | ||||
| ============ | ||||
|  | ||||
| Example for Log-Gaussian distributions | ||||
| """ | ||||
| import matplotlib.pyplot as plt | ||||
| import numpy as np | ||||
|  | ||||
| from nmreval.distributions import LogGaussian | ||||
|  | ||||
| x = np.logspace(-5, 5, num=101) | ||||
|  | ||||
| lg = LogGaussian | ||||
|  | ||||
| sigma_lg = [1, 3, 5] | ||||
|  | ||||
| fig, axes = plt.subplots(2, 3, constrained_layout=True) | ||||
|  | ||||
| lines = [] | ||||
| for s in sigma_lg: | ||||
|     axes[0, 0].plot(np.log10(x), lg.correlation(x, 1, s)) | ||||
|     axes[1, 0].plot(np.log10(x), np.log10(lg.specdens(x, 1, s))) | ||||
|     axes[0, 1].plot(np.log10(x), np.log10(lg.susceptibility(x, 1, s).real)) | ||||
|     axes[1, 1].plot(np.log10(x), np.log10(lg.susceptibility(x, 1, s).imag)) | ||||
|     l, = axes[0, 2].plot(np.log10(x), lg.distribution(x, 1, s), | ||||
|                          label=rf'$\sigma={s}$') | ||||
|     lines.append(l) | ||||
|  | ||||
| fig_titles = ('Correlation function', 'Susceptibility (real)', 'Distribution', | ||||
|               'Spectral density', 'Susceptibility (imag)') | ||||
| fig_xlabel = (r'$\log(t/\tau_\mathrm{LG})$', r'$\log(\omega\tau_\mathrm{LG})$', | ||||
|               r'$\log(\tau/\tau_\mathrm{LG})$', r'$\log(\omega\tau_\mathrm{LG})$', | ||||
|               r'$\log(\omega\tau_\mathrm{LG})$') | ||||
| fig_ylabel = (r'$C(t)$', r"$\log(\chi'(\omega))$", r'$G(\ln\tau)$', | ||||
|               r'$\log(J(\omega))$', r"$\log(\chi''(\omega))$") | ||||
|  | ||||
| for title, xlabel, ylabel, ax in zip(fig_titles, fig_xlabel, fig_ylabel, axes.ravel()): | ||||
|     ax.set_title(title) | ||||
|     ax.set_xlabel(xlabel) | ||||
|     ax.set_ylabel(ylabel) | ||||
|  | ||||
| labels = [l.get_label() for l in lines] | ||||
| leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(1.05, 0.50), | ||||
|                  bbox_transform=axes[1, 1].transAxes) | ||||
|  | ||||
| fig.delaxes(axes[1, 2]) | ||||
|  | ||||
| plt.show() | ||||
							
								
								
									
										6
									
								
								doc/examples/nmr/README.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								doc/examples/nmr/README.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| .. _nmr_examples: | ||||
|  | ||||
| .. _nmr-examples-index: | ||||
|  | ||||
| NMR specifics | ||||
| ============= | ||||
							
								
								
									
										67
									
								
								doc/examples/nmr/plot_RelaxationEvaluation.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								doc/examples/nmr/plot_RelaxationEvaluation.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| """ | ||||
| ======================= | ||||
| Spin-lattice relaxation | ||||
| ======================= | ||||
|  | ||||
| Example for | ||||
| """ | ||||
| import numpy as np | ||||
| from matplotlib import pyplot as plt | ||||
|  | ||||
| from nmreval.distributions import ColeDavidson | ||||
| from nmreval.nmr import Relaxation, RelaxationEvaluation | ||||
| from nmreval.nmr.coupling import Quadrupolar | ||||
| from nmreval.utils.constants import kB | ||||
|  | ||||
| # Define temperature range | ||||
| inv_temp = np.linspace(3, 9, num=30) | ||||
| temperature = 1000/inv_temp | ||||
|  | ||||
| # spectral density parameter | ||||
| ea = 0.45 | ||||
| tau = 1e-21 * np.exp(ea / kB / temperature) | ||||
| gamma_cd = 0.1 | ||||
|  | ||||
| # interaction parameter | ||||
| omega = 2*np.pi*46e6 | ||||
| delta = 120e3 | ||||
| eta = 0 | ||||
|  | ||||
| r = Relaxation() | ||||
| r.set_distribution(ColeDavidson)  # the only parameter that has to be set beforehand | ||||
|  | ||||
| t1_values = r.t1(omega, tau, gamma_cd, mode='bpp', | ||||
|                  prefactor=Quadrupolar.relax(delta, eta)) | ||||
| # add noise | ||||
| rng = np.random.default_rng(123456789) | ||||
| noisy = (rng.random(t1_values.size)-0.5) * 0.5 * t1_values + t1_values | ||||
|  | ||||
| # set parameter and data | ||||
| r_eval = RelaxationEvaluation() | ||||
| r_eval.set_distribution(ColeDavidson) | ||||
| r_eval.set_coupling(Quadrupolar, (delta, eta)) | ||||
| r_eval.data(temperature, noisy) | ||||
| r_eval.omega = omega | ||||
|  | ||||
| t1_min_data, _ = r_eval.calculate_t1_min()  # second argument is None | ||||
| t1_min_inter, line = r_eval.calculate_t1_min(interpolate=1, trange=(160, 195), use_log=True) | ||||
|  | ||||
| fig, ax = plt.subplots() | ||||
| ax.semilogy(1000/t1_min_data[0], t1_min_data[1], 'rx', label='Data minimum') | ||||
| ax.semilogy(1000/t1_min_inter[0], t1_min_inter[1], 'r+', label='Parabola') | ||||
| ax.semilogy(1000/line[0], line[1]) | ||||
|  | ||||
| found_gamma, found_height = r_eval.get_increase(t1_min_inter[1], idx=0, mode='distribution') | ||||
| print(found_gamma) | ||||
|  | ||||
| plt.axhline(found_height) | ||||
| plt.show() | ||||
|  | ||||
| #%% | ||||
| # Now we found temperature and height of the minimum we can calculate the correlation time | ||||
|  | ||||
| plt.semilogy(1000/temperature, tau) | ||||
| tau_from_t1, opts = r_eval.correlation_from_t1() | ||||
| print(opts) | ||||
| plt.semilogy(1000/tau_from_t1[:, 0], tau_from_t1[:, 1], 'o') | ||||
| plt.show() | ||||
							
								
								
									
										35
									
								
								doc/make.bat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								doc/make.bat
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| @ECHO OFF | ||||
|  | ||||
| pushd %~dp0 | ||||
|  | ||||
| REM Command file for Sphinx documentation | ||||
|  | ||||
| if "%SPHINXBUILD%" == "" ( | ||||
| 	set SPHINXBUILD=sphinx-build | ||||
| ) | ||||
| set SOURCEDIR=source | ||||
| set BUILDDIR=build | ||||
|  | ||||
| if "%1" == "" goto help | ||||
|  | ||||
| %SPHINXBUILD% >NUL 2>NUL | ||||
| if errorlevel 9009 ( | ||||
| 	echo. | ||||
| 	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx | ||||
| 	echo.installed, then set the SPHINXBUILD environment variable to point | ||||
| 	echo.to the full path of the 'sphinx-build' executable. Alternatively you | ||||
| 	echo.may add the Sphinx directory to PATH. | ||||
| 	echo. | ||||
| 	echo.If you don't have Sphinx installed, grab it from | ||||
| 	echo.http://sphinx-doc.org/ | ||||
| 	exit /b 1 | ||||
| ) | ||||
|  | ||||
| %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% | ||||
| goto end | ||||
|  | ||||
| :help | ||||
| %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% | ||||
|  | ||||
| :end | ||||
| popd | ||||
							
								
								
									
										
											BIN
										
									
								
								doc/source/_static/fit_dialog.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/source/_static/fit_dialog.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 46 KiB | 
							
								
								
									
										
											BIN
										
									
								
								doc/source/_static/logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/source/_static/logo.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 600 KiB | 
							
								
								
									
										14
									
								
								doc/source/_templates/autosummary/class.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								doc/source/_templates/autosummary/class.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| :mod:`{{ module | escape }}`.{{ objname }} | ||||
| {{ underline }}================== | ||||
|  | ||||
| .. currentmodule:: {{ module }} | ||||
|  | ||||
| .. autoclass:: {{ objname }} | ||||
|     :members: | ||||
|     :inherited-members: | ||||
|  | ||||
| .. include:: {{ fullname }}.examples | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="clearer"></div> | ||||
							
								
								
									
										5
									
								
								doc/source/api/data.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								doc/source/api/data.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| .. automodule:: nmreval.data | ||||
|    :no-members: | ||||
|    :no-inherited-members: | ||||
|    :no-special-members: | ||||
|  | ||||
							
								
								
									
										4
									
								
								doc/source/api/distributions.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								doc/source/api/distributions.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| .. automodule:: nmreval.distributions | ||||
|    :no-members: | ||||
|    :no-inherited-members: | ||||
|    :no-special-members: | ||||
							
								
								
									
										29
									
								
								doc/source/api/distributions2/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								doc/source/api/distributions2/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| ********************************* | ||||
| Distribution of correlation times | ||||
| ********************************* | ||||
|  | ||||
| List of all implemented distributions and the associated correlation functions, spectral densities, susceptibilies | ||||
|  | ||||
| .. contents:: Table of Contents | ||||
|    :depth: 3 | ||||
|    :local: | ||||
|    :backlinks: entry | ||||
|  | ||||
| Cole-Cole | ||||
| --------- | ||||
|  | ||||
| .. automodule:: nmreval.distributions.colecole | ||||
|    :members: | ||||
|  | ||||
|  | ||||
| Cole-Davidson | ||||
| ------------- | ||||
|  | ||||
| .. automodule:: nmreval.distributions.coledavidson | ||||
|    :members: | ||||
|  | ||||
| Havriliak-Negami | ||||
| ---------------- | ||||
|  | ||||
| .. automodule:: nmreval.distributions.havriliaknegami | ||||
|    :members: | ||||
							
								
								
									
										13
									
								
								doc/source/api/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								doc/source/api/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| ========= | ||||
| Reference | ||||
| ========= | ||||
|  | ||||
| .. toctree:: | ||||
|    :caption: Table of contents | ||||
|    :maxdepth: 1 | ||||
|    :glob: | ||||
|  | ||||
|    data | ||||
|    models | ||||
|    distributions | ||||
|    nmr | ||||
							
								
								
									
										4
									
								
								doc/source/api/models.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								doc/source/api/models.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| .. automodule:: nmreval.models | ||||
|    :no-members: | ||||
|    :no-inherited-members: | ||||
|    :no-special-members: | ||||
							
								
								
									
										6
									
								
								doc/source/api/models2/basic.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								doc/source/api/models2/basic.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| ************************ | ||||
| ``nmreval.models.basic`` | ||||
| ************************ | ||||
|  | ||||
| .. automodule:: nmreval.models.basic | ||||
|    :members: | ||||
							
								
								
									
										31
									
								
								doc/source/api/models2/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								doc/source/api/models2/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| ************** | ||||
| Model function | ||||
| ************** | ||||
|  | ||||
| List of all implemented functions | ||||
|  | ||||
| .. contents:: Table of Contents | ||||
|    :depth: 3 | ||||
|    :local: | ||||
|    :backlinks: entry | ||||
|  | ||||
| Basic functions | ||||
| --------------- | ||||
|  | ||||
| .. currentmodule:: nmreval | ||||
|  | ||||
| .. autosummary:: | ||||
|    :toctree: | ||||
|  | ||||
|    nmreval.models.basic | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| NMR relaxation functions | ||||
| ------------------------ | ||||
|  | ||||
| .. automodule:: nmreval.models.relaxation | ||||
|    :members: | ||||
|  | ||||
|  | ||||
							
								
								
									
										37
									
								
								doc/source/api/models2/nmreval.models.basic.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								doc/source/api/models2/nmreval.models.basic.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | ||||
| nmreval.models.basic | ||||
| ==================== | ||||
|  | ||||
| .. automodule:: nmreval.models.basic | ||||
|  | ||||
|     | ||||
|     | ||||
|     | ||||
|  | ||||
|     | ||||
|     | ||||
|     | ||||
|  | ||||
|     | ||||
|     | ||||
|    .. rubric:: Classes | ||||
|  | ||||
|    .. autosummary:: | ||||
|     | ||||
|       Constant | ||||
|       ExpFunc | ||||
|       Linear | ||||
|       Log | ||||
|       MittagLeffler | ||||
|       Parabola | ||||
|       PowerLaw | ||||
|       PowerLawCross | ||||
|       Sine | ||||
|     | ||||
|     | ||||
|  | ||||
|     | ||||
|     | ||||
|     | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										4
									
								
								doc/source/api/nmr.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								doc/source/api/nmr.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| .. automodule:: nmreval.nmr | ||||
|    :no-members: | ||||
|    :no-inherited-members: | ||||
|    :no-special-members: | ||||
							
								
								
									
										422
									
								
								doc/source/conf.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										422
									
								
								doc/source/conf.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,422 @@ | ||||
| # Configuration file for the Sphinx documentation builder. | ||||
| # | ||||
| # This file only contains a selection of the most common options. For a full | ||||
| # list see the documentation: | ||||
| # https://www.sphinx-doc.org/en/master/usage/configuration.html | ||||
|  | ||||
| # -- Path setup -------------------------------------------------------------- | ||||
|  | ||||
| # If extensions (or modules to document with autodoc) are in another directory, | ||||
| # add these directories to sys.path here. If the directory is relative to the | ||||
| # documentation root, use os.path.abspath to make it absolute, like shown here. | ||||
| # | ||||
| import os | ||||
| import sys | ||||
| import sphinx_bootstrap_theme | ||||
| sys.path.append('/autohome/dominik/nmreval') | ||||
| import nmreval | ||||
|  | ||||
|  | ||||
| # -- Project information ----------------------------------------------------- | ||||
| project = 'NMREval' | ||||
| author = 'Dominik Demuth' | ||||
| copyright = '2022, Dominik Demuth' | ||||
|  | ||||
| # The version info for the project you're documenting, acts as replacement for | ||||
| # |version| and |release|, also used in various other places throughout the | ||||
| # built documents. | ||||
| # | ||||
| # The short X.Y version | ||||
| release = nmreval.__version__ | ||||
| # The full version, including alpha/beta/rc tags. | ||||
| version = release | ||||
|  | ||||
|  | ||||
| # -- General configuration --------------------------------------------------- | ||||
|  | ||||
| # Add any Sphinx extension module names here, as strings. They can be | ||||
| # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | ||||
| # ones. | ||||
| extensions = [ | ||||
|     'sphinx.ext.autodoc', | ||||
|     'sphinx.ext.autosummary', | ||||
|     'sphinx.ext.inheritance_diagram', | ||||
|     'sphinx.ext.napoleon', | ||||
|     'sphinx.ext.viewcode', | ||||
|     'sphinx.ext.intersphinx', | ||||
|     'sphinx_gallery.gen_gallery', | ||||
| ] | ||||
|  | ||||
| # configuration for intersphinx | ||||
| intersphinx_mapping = { | ||||
|     'numpy': ('https://numpy.org/doc/stable/', None), | ||||
|     'python': ('https://docs.python.org/3/', None), | ||||
|     'scipy': ('https://docs.scipy.org/doc/scipy/', None), | ||||
|     'PyQt': ('https://www.riverbankcomputing.com/static/Docs/PyQt5/', None), | ||||
|     'matplotlib': ('https://matplotlib.org/stable', None), | ||||
| } | ||||
|  | ||||
| # autodoc options | ||||
| autodoc_typehints = 'none' | ||||
| autodoc_class_signature = 'separated' | ||||
| autoclass_content = 'class' | ||||
| autodoc_member_order = 'groupwise' | ||||
| # autodoc_default_options = {'members': False, 'inherited-members': False} | ||||
|  | ||||
| # autosummay options | ||||
| autosummary_generate = True | ||||
|  | ||||
| # spinx-gallery | ||||
| sphinx_gallery_conf = { | ||||
|     'examples_dirs': '../examples',   # path to your example scripts | ||||
|     'gallery_dirs': ['gallery'],  # path to where to save gallery generated output | ||||
|     'backreferences_dir': os.path.join('api', 'generated'),  # directory where function/class granular galleries are stored | ||||
|     'doc_module': 'nmreval',  # Modules for which function/class level galleries are created. | ||||
|     'reference_url': { | ||||
|         'nmreval': None,  # The module you locally document uses None | ||||
|     }, | ||||
|     'download_all_examples': False, | ||||
|     'plot_gallery': True, | ||||
|     'inspect_global_variables': False, | ||||
|     'remove_config_comments': True, | ||||
|     'min_reported_time': 10000000000, | ||||
|     'show_memory': False, | ||||
|     'show_signature': False, | ||||
| } | ||||
|  | ||||
| # The suffix(es) of source filenames. | ||||
| # You can specify multiple suffix as a list of string: | ||||
| # | ||||
| # source_suffix = ['.rst', '.md'] | ||||
| source_suffix = '.rst' | ||||
|  | ||||
| # The master toctree document. | ||||
| master_doc = 'index' | ||||
|  | ||||
| # List of patterns, relative to source directory, that match files and | ||||
| # directories to ignore when looking for source files. | ||||
| # This pattern also affects html_static_path and html_extra_path. | ||||
| exclude_patterns = [] | ||||
|  | ||||
| # Add any paths that contain templates here, relative to this directory. | ||||
| templates_path = ['_templates'] | ||||
|  | ||||
| # The name of the Pygments (syntax highlighting) style to use. | ||||
| pygments_style = 'sphinx' | ||||
|  | ||||
| # The language for content autogenerated by Sphinx. Refer to documentation | ||||
| # for a list of supported languages. | ||||
| # | ||||
| # This is also used if you do content translation via gettext catalogs. | ||||
| # Usually you set "language" from the command line for these cases. | ||||
| language = None | ||||
|  | ||||
| # There are two options for replacing |today|: either, you set today to some | ||||
| # non-false value, then it is used: | ||||
| # | ||||
| # today = '' | ||||
| # | ||||
| # Else, today_fmt is used as the format for a strftime call. | ||||
| # | ||||
| # today_fmt = '%B %d, %Y' | ||||
|  | ||||
| # The reST default role (used for this markup: `text`) to use for all | ||||
| # documents. | ||||
| # | ||||
| # default_role = None | ||||
|  | ||||
| # If true, '()' will be appended to :func: etc. cross-reference text. | ||||
| # | ||||
| add_function_parentheses = True | ||||
|  | ||||
| # If true, the current module name will be prepended to all description | ||||
| # unit titles (such as .. function::). | ||||
| # | ||||
| add_module_names = False | ||||
|  | ||||
| # If true, sectionauthor and moduleauthor directives will be shown in the | ||||
| # output. They are ignored by default. | ||||
| # | ||||
| # show_authors = False | ||||
|  | ||||
| # A list of ignored prefixes for module index sorting. | ||||
| # modindex_common_prefix = [] | ||||
|  | ||||
| # If true, keep warnings as "system message" paragraphs in the built documents. | ||||
| # keep_warnings = False | ||||
|  | ||||
| # If true, `todo` and `todoList` produce output, else they produce nothing. | ||||
| todo_include_todos = False | ||||
|  | ||||
|  | ||||
| # -- Options for HTML output ------------------------------------------------- | ||||
|  | ||||
| # The theme to use for HTML and HTML Help pages.  See the documentation for | ||||
| # a list of builtin themes. | ||||
| # | ||||
| html_theme = 'pydata_sphinx_theme' | ||||
|  | ||||
| # Theme options are theme-specific and customize the look and feel of a theme | ||||
| # further.  For a list of options available for each theme, see the | ||||
| # documentation. | ||||
| html_theme_options = { | ||||
|     'collapse_navigation': False, | ||||
|     'show_prev_next': False, | ||||
|     'navbar_end': ['navbar-icon-links.html', 'search-field.html'], | ||||
| } | ||||
|  | ||||
| # Add any paths that contain custom themes here, relative to this directory. | ||||
| # html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() | ||||
|  | ||||
| # The name for this set of Sphinx documents. | ||||
| # "<project> v<release> documentation" by default. | ||||
| # | ||||
| # html_title = u'NMREval v0.0.1' | ||||
|  | ||||
| # Add any paths that contain custom static files (such as style sheets) here, | ||||
| # relative to this directory. They are copied after the builtin static files, | ||||
| # so a file named "default.css" will overwrite the builtin "default.css". | ||||
| html_static_path = ['_static'] | ||||
|  | ||||
| # A shorter title for the navigation bar.  Default is the same as html_title. | ||||
| # html_short_title = None | ||||
|  | ||||
| # (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24). | ||||
| # Path should be relative to the ``_static`` files directory. | ||||
| html_logo = '_static/logo.png' | ||||
|  | ||||
| # Custom sidebar templates, maps document names to template names. | ||||
| html_sidebars = {'**': ['sidebar-nav-bs.html']} | ||||
| # html_sidebars = { | ||||
| #     '**': ['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'], | ||||
| # } | ||||
|  | ||||
| # If true, links to the reST sources are added to the pages. | ||||
| html_show_sourcelink = False | ||||
|  | ||||
| # The name of an image file (within the static path) to use as favicon of the | ||||
| # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32 | ||||
| # pixels large. | ||||
| # html_favicon = None | ||||
|  | ||||
| # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, | ||||
| # using the given strftime format. | ||||
| html_last_updated_fmt = '' | ||||
|  | ||||
| # Additional templates that should be rendered to pages, maps page names to | ||||
| # template names. | ||||
| html_additional_pages = {} | ||||
|  | ||||
| # If false, no module index is generated. | ||||
| html_domain_indices = False | ||||
|  | ||||
| # If false, no index is generated. | ||||
| html_use_index = True | ||||
|  | ||||
| # If true, the index is split into individual pages for each letter. | ||||
| html_split_index = False | ||||
|  | ||||
| # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. | ||||
| # html_show_sphinx = True | ||||
|  | ||||
| # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | ||||
| # html_show_copyright = True | ||||
|  | ||||
| # If true, an OpenSearch description file will be output, and all pages will | ||||
| # contain a <link> tag referring to it.  The value of this option must be the | ||||
| # base URL from which the finished HTML is served. | ||||
| # html_use_opensearch = '' | ||||
|  | ||||
| # This is the file name suffix for HTML files (e.g. ".xhtml"). | ||||
| html_file_suffix = None | ||||
|  | ||||
| # Output file base name for HTML help builder. | ||||
| # htmlhelp_basename = 'pydoc' | ||||
|  | ||||
|  | ||||
| # -- Options for LaTeX output --------------------------------------------- | ||||
|  | ||||
| latex_elements = { | ||||
|     # The paper size ('letterpaper' or 'a4paper'). | ||||
|     # | ||||
|     # 'papersize': 'letterpaper', | ||||
|  | ||||
|     # The font size ('10pt', '11pt' or '12pt'). | ||||
|     # | ||||
|     # 'pointsize': '10pt', | ||||
|  | ||||
|     # Additional stuff for the LaTeX preamble. | ||||
|     # | ||||
|     # 'preamble': '', | ||||
|  | ||||
|     # Latex figure (float) alignment | ||||
|     # | ||||
|     # 'figure_align': 'htbp', | ||||
| } | ||||
|  | ||||
| # Grouping the document tree into LaTeX files. List of tuples | ||||
| # (source start file, target name, title, | ||||
| #  author, documentclass [howto, manual, or own class]). | ||||
| latex_documents = [ | ||||
|     (master_doc, 'NMREval.tex', u'NMREval Documentation', | ||||
|      u'Dominik Demuth', 'manual'), | ||||
| ] | ||||
|  | ||||
| # The name of an image file (relative to this directory) to place at the top of | ||||
| # the title page. | ||||
| # | ||||
| # latex_logo = None | ||||
|  | ||||
| # For "manual" documents, if this is true, then toplevel headings are parts, | ||||
| # not chapters. | ||||
| # | ||||
| # latex_use_parts = False | ||||
|  | ||||
| # If true, show page references after internal links. | ||||
| # | ||||
| # latex_show_pagerefs = False | ||||
|  | ||||
| # If true, show URL addresses after external links. | ||||
| # | ||||
| # latex_show_urls = False | ||||
|  | ||||
| # Documents to append as an appendix to all manuals. | ||||
| # | ||||
| # latex_appendices = [] | ||||
|  | ||||
| # It false, will not define \strong, \code, 	itleref, \crossref ... but only | ||||
| # \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added | ||||
| # packages. | ||||
| # | ||||
| # latex_keep_old_macro_names = True | ||||
|  | ||||
| # If false, no module index is generated. | ||||
| # | ||||
| # latex_domain_indices = True | ||||
|  | ||||
|  | ||||
| # -- Options for manual page output --------------------------------------- | ||||
|  | ||||
| # One entry per manual page. List of tuples | ||||
| # (source start file, name, description, authors, manual section). | ||||
| man_pages = [ | ||||
|     (master_doc, 'nmreval', u'NMREval Documentation', | ||||
|      [author], 1) | ||||
| ] | ||||
|  | ||||
| # If true, show URL addresses after external links. | ||||
| # | ||||
| # man_show_urls = False | ||||
|  | ||||
|  | ||||
| # -- Options for Texinfo output ------------------------------------------- | ||||
|  | ||||
| # Grouping the document tree into Texinfo files. List of tuples | ||||
| # (source start file, target name, title, author, | ||||
| #  dir menu entry, description, category) | ||||
| texinfo_documents = [ | ||||
|     (master_doc, 'NMREval', u'NMREval Documentation', | ||||
|      author, 'NMREval', 'One line description of project.', | ||||
|      'Miscellaneous'), | ||||
| ] | ||||
|  | ||||
| # Documents to append as an appendix to all manuals. | ||||
| # | ||||
| # texinfo_appendices = [] | ||||
|  | ||||
| # If false, no module index is generated. | ||||
| # | ||||
| # texinfo_domain_indices = True | ||||
|  | ||||
| # How to display URL addresses: 'footnote', 'no', or 'inline'. | ||||
| # | ||||
| # texinfo_show_urls = 'footnote' | ||||
|  | ||||
| # If true, do not generate a @detailmenu in the "Top" node's menu. | ||||
| # | ||||
| # texinfo_no_detailmenu = False | ||||
|  | ||||
|  | ||||
| # -- Options for Epub output ---------------------------------------------- | ||||
|  | ||||
| # Bibliographic Dublin Core info. | ||||
| epub_title = project | ||||
| epub_author = author | ||||
| epub_publisher = author | ||||
| epub_copyright = copyright | ||||
|  | ||||
| # The basename for the epub file. It defaults to the project name. | ||||
| # epub_basename = project | ||||
|  | ||||
| # The HTML theme for the epub output. Since the default themes are not | ||||
| # optimized for small screen space, using the same theme for HTML and epub | ||||
| # output is usually not wise. This defaults to 'epub', a theme designed to save | ||||
| # visual space. | ||||
| # | ||||
| # epub_theme = 'epub' | ||||
|  | ||||
| # The language of the text. It defaults to the language option | ||||
| # or 'en' if the language is not set. | ||||
| # | ||||
| # epub_language = '' | ||||
|  | ||||
| # The scheme of the identifier. Typical schemes are ISBN or URL. | ||||
| # epub_scheme = '' | ||||
|  | ||||
| # The unique identifier of the text. This can be a ISBN number | ||||
| # or the project homepage. | ||||
| # | ||||
| # epub_identifier = '' | ||||
|  | ||||
| # A unique identification for the text. | ||||
| # | ||||
| # epub_uid = '' | ||||
|  | ||||
| # A tuple containing the cover image and cover page html template filenames. | ||||
| # | ||||
| # epub_cover = () | ||||
|  | ||||
| # A sequence of (type, uri, title) tuples for the guide element of content.opf. | ||||
| # | ||||
| # epub_guide = () | ||||
|  | ||||
| # HTML files that should be inserted before the pages created by sphinx. | ||||
| # The format is a list of tuples containing the path and title. | ||||
| # | ||||
| # epub_pre_files = [] | ||||
|  | ||||
| # HTML files that should be inserted after the pages created by sphinx. | ||||
| # The format is a list of tuples containing the path and title. | ||||
| # | ||||
| # epub_post_files = [] | ||||
|  | ||||
| # A list of files that should not be packed into the epub file. | ||||
| epub_exclude_files = ['search.html'] | ||||
|  | ||||
| # The depth of the table of contents in toc.ncx. | ||||
| # | ||||
| # epub_tocdepth = 3 | ||||
|  | ||||
| # Allow duplicate toc entries. | ||||
| # | ||||
| # epub_tocdup = True | ||||
|  | ||||
| # Choose between 'default' and 'includehidden'. | ||||
| # | ||||
| # epub_tocscope = 'default' | ||||
|  | ||||
| # Fix unsupported image types using the Pillow. | ||||
| # | ||||
| # epub_fix_images = False | ||||
|  | ||||
| # Scale large images. | ||||
| # | ||||
| # epub_max_image_width = 0 | ||||
|  | ||||
| # How to display URL addresses: 'footnote', 'no', or 'inline'. | ||||
| # | ||||
| # epub_show_urls = 'inline' | ||||
|  | ||||
| # If false, no index is generated. | ||||
| # | ||||
| # epub_use_index = True | ||||
							
								
								
									
										179
									
								
								doc/source/gallery/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										179
									
								
								doc/source/gallery/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,179 @@ | ||||
| :orphan: | ||||
|  | ||||
|  | ||||
|  | ||||
| .. _sphx_glr_gallery: | ||||
|  | ||||
| .. examples-index: | ||||
|  | ||||
| .. _gallery: | ||||
|  | ||||
| ======== | ||||
| Examples | ||||
| ======== | ||||
|  | ||||
| This page contains example plots. Click on any image to see the full image and source code. | ||||
|  | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-clear"></div> | ||||
|  | ||||
|  | ||||
|  | ||||
| .. _sphx_glr_gallery_distribution: | ||||
|  | ||||
|  .. _distribution_examples: | ||||
|  | ||||
| .. _distribution-examples-index: | ||||
|  | ||||
| Distribution of correlation times | ||||
| ================================= | ||||
|  | ||||
|  | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for KWW distributions"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/distribution/images/thumb/sphx_glr_plot_KWW_thumb.png | ||||
|      :alt: Kohlrausch-Williams-Watts | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_distribution_plot_KWW.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/distribution/plot_KWW | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for Cole-Cole distributions"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/distribution/images/thumb/sphx_glr_plot_ColeCole_thumb.png | ||||
|      :alt: Cole-Cole | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_distribution_plot_ColeCole.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/distribution/plot_ColeCole | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for Log-Gaussian distributions"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/distribution/images/thumb/sphx_glr_plot_LogGaussian_thumb.png | ||||
|      :alt: Log-Gaussian | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_distribution_plot_LogGaussian.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/distribution/plot_LogGaussian | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for Cole-Davidson distributions"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/distribution/images/thumb/sphx_glr_plot_ColeDavidson_thumb.png | ||||
|      :alt: Cole-Davidson | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_distribution_plot_ColeDavidson.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/distribution/plot_ColeDavidson | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for Havriliak-Negami distributions"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/distribution/images/thumb/sphx_glr_plot_HavriliakNegami_thumb.png | ||||
|      :alt: Havriliak-Negami | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_distribution_plot_HavriliakNegami.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/distribution/plot_HavriliakNegami | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-clear"></div> | ||||
|  | ||||
|  | ||||
|  | ||||
| .. _sphx_glr_gallery_nmr: | ||||
|  | ||||
| .. _nmr_examples: | ||||
|  | ||||
| .. _nmr-examples-index: | ||||
|  | ||||
| NMR specifics | ||||
| ============= | ||||
|  | ||||
|  | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-thumbcontainer" tooltip="Example for"> | ||||
|  | ||||
| .. only:: html | ||||
|  | ||||
|  .. figure:: /gallery/nmr/images/thumb/sphx_glr_plot_RelaxationEvaluation_thumb.png | ||||
|      :alt: Spin-lattice relaxation | ||||
|  | ||||
|      :ref:`sphx_glr_gallery_nmr_plot_RelaxationEvaluation.py` | ||||
|  | ||||
| .. raw:: html | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :hidden: | ||||
|  | ||||
|    /gallery/nmr/plot_RelaxationEvaluation | ||||
| .. raw:: html | ||||
|  | ||||
|     <div class="sphx-glr-clear"></div> | ||||
|  | ||||
							
								
								
									
										3
									
								
								doc/source/gallery/searchindex.bak
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								doc/source/gallery/searchindex.bak
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| '/autohome/dominik/nmreval/doc/_build/html/index.html', (0, 6969) | ||||
| '/autohome/dominik/nmreval/doc/_build/html/_static/documentation_options.js', (7168, 364) | ||||
| '/autohome/dominik/nmreval/doc/_build/html/searchindex.js', (7680, 29280) | ||||
							
								
								
									
										
											BIN
										
									
								
								doc/source/gallery/searchindex.dat
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/source/gallery/searchindex.dat
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3
									
								
								doc/source/gallery/searchindex.dir
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								doc/source/gallery/searchindex.dir
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| '/autohome/dominik/nmreval/doc/_build/html/index.html', (0, 6969) | ||||
| '/autohome/dominik/nmreval/doc/_build/html/_static/documentation_options.js', (7168, 364) | ||||
| '/autohome/dominik/nmreval/doc/_build/html/searchindex.js', (7680, 29280) | ||||
							
								
								
									
										24
									
								
								doc/source/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								doc/source/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| .. NMREval documentation master file, created by | ||||
|    sphinx-quickstart on Sun Feb 20 17:26:03 2022. | ||||
|    You can adapt this file completely to your liking, but it should at least | ||||
|    contain the root `toctree` directive. | ||||
|  | ||||
| ##################### | ||||
| NMREval documentation | ||||
| ##################### | ||||
|  | ||||
| .. toctree:: | ||||
|    :maxdepth: 1 | ||||
|  | ||||
|    user_guide/index | ||||
|    gallery/index | ||||
|    api/index | ||||
|  | ||||
|  | ||||
|  | ||||
| Indices and tables | ||||
| ================== | ||||
|  | ||||
| * :ref:`genindex` | ||||
| * :ref:`modindex` | ||||
| * :ref:`search` | ||||
							
								
								
									
										
											BIN
										
									
								
								doc/source/nmr/depake.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/source/nmr/depake.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 59 KiB | 
							
								
								
									
										8
									
								
								doc/source/nmr/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								doc/source/nmr/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| ============= | ||||
| NMR specifics | ||||
| ============= | ||||
|  | ||||
| .. toctree:: | ||||
|    :maxdepth: 2 | ||||
|  | ||||
|    pake | ||||
							
								
								
									
										43
									
								
								doc/source/nmr/pake.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								doc/source/nmr/pake.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| .. _nmr.pake: | ||||
|  | ||||
| Wideline spectra | ||||
| ^^^^^^^^^^^^^^^^ | ||||
|  | ||||
| Calculation of spectra | ||||
| ---------------------- | ||||
|  | ||||
| In general, time signals are calculated by integration of all orientations (see also :ref:`list.orienations`): | ||||
|  | ||||
| .. math:: | ||||
|    g(t) = \int f[\omega_\text{int}(\theta, \phi)t]\sin\theta\,\mathrm{d}\theta\,\mathrm{d}\phi | ||||
|  | ||||
| with :math:`f(\theta, \phi, t) = \cos[\omega_\text{int}(\theta, \phi) t]` or :math:`\exp[i\omega_\text{int}(\theta) t]` and fourier transform for a spectrum. | ||||
| However, summation over :math:`\theta`, :math:`\phi`, and calculating :math:`f(\theta, \phi, t)` for each orientation is time consuming. | ||||
|  | ||||
| Alternatively, if the orientations are equidistant in :math:`\cos\theta`, one can get to the spectrum directly by creating a histogram of :math:`\omega_\text{int}(\theta, \phi)`, thus circumventing a lot of calculations. | ||||
|  | ||||
|  | ||||
| De-Paked spectra | ||||
| ---------------- | ||||
|  | ||||
| A superposition of different Pake spectra complicates the evaluation of relaxation times or similar. | ||||
| The idea is to deconvolute these broad spectra into one line corresponding to relative orientation :math:`\theta = 0` [mccabe97]_. | ||||
|  | ||||
| For :math:`\omega_\text{int}(\theta) \propto (3\cos^2\theta -1)/2 = P_2(\cos\theta)`, the property :math:`\omega_\text{int}(\theta) = \omega_\text{int}(0) \omega_\text{int}(\theta)` is used to write | ||||
|  | ||||
| .. math:: | ||||
|    g(t) = \int_0^{1} f[0, \omega_\text{int}(\theta)t]\,\mathrm{d}\cos\theta. | ||||
|  | ||||
| This way, the integration is not over orientations at one time :math:`t`, but over times at one orientation 0. | ||||
| After some integrations, rearrangenments, and substitutions, a spectrum can be calculated by | ||||
|  | ||||
| .. math:: | ||||
|   F(-2\omega) = \sqrt{\frac{3|\omega |}{2\pi}}(1\pm i) \text{FT}[g(t)\sqrt{t}] | ||||
|  | ||||
| with :math:`1+i` for :math:`\omega > 0` and :math:`1-i` for :math:`\omega > 0`. | ||||
|  | ||||
| .. figure:: depake.png | ||||
|    :scale: 50 % | ||||
|  | ||||
|  | ||||
| .. [mccabe97] M.A. McCabe, S.R. Wassail: Rapid deconvolution of NMR powder spectra by weighted fast Fourier transformation, Solid State Nuclear Magnetic Resonance (1997). https://doi.org/10.1016/S0926-2040(97)00024-6 | ||||
							
								
								
									
										43
									
								
								doc/source/user_guide/fit.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								doc/source/user_guide/fit.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| .. _user_guide.fit: | ||||
|  | ||||
| ============ | ||||
| Fitting data | ||||
| ============ | ||||
|  | ||||
| .. image:: ../_static/fit_dialog.png | ||||
|     :scale: 80% | ||||
|     :align: center | ||||
|  | ||||
| The picture gives an example of dialog to setup and start fits. | ||||
| First, there is the possibiity to fit different functions, called models to differentiate from the functions inside each | ||||
| model, to different data simultaneously. | ||||
| In the given example, two models were would be used during fit: | ||||
| test1 and test3 use the default model, in this case model a, | ||||
| while test2 uses model b. | ||||
|  | ||||
| In the middle column, the functions of model a are currently given in a tree structure: | ||||
| It is comprised of three functions: a constant, a sine curve, which is a child of the constant, and free diffusion. | ||||
| Functions can be dragged by mouse to each position, including a child position, and it is possible to switch between the | ||||
| four basic arithmetic operations (+, -, \*, /) by striking the corresponding key. | ||||
| Function at the same level, e.g., constant and free diffusion, are evaluated in the given order. | ||||
| Children of a function take precedence over the following functions. | ||||
| This means for the given example, that model a is something like | ||||
|  | ||||
| .. math:: | ||||
|     f(x) = [\text{constant} / \text{sine}] + \text{diffusion} | ||||
|  | ||||
| It is possible to skip functions by de-selecting it. | ||||
| This choice alse affects children, even if they are selected. | ||||
|  | ||||
| The right column gives access to the parameter of selected function, in this case of the free diffusion function. | ||||
| Here, the parameter :math:`M_0` is linked to the parameter :math:`C` of another constant function of model b | ||||
| (identifiable by the number behind the name). | ||||
| Linkage links not only parameter between function but all settings, e.g., if :math:`C` is fixed, :math:`M_0` is fixed. | ||||
| Some parameters like gradient :math:`g` are predefined as fixed parameters and are lacking any options besides their value. | ||||
| Upper and lower bounds may be given. | ||||
| If one or two of the bounds are not given, this parameter is unbounded on the respective side. | ||||
|  | ||||
| If a parameter has one entry, this value is initial parameter for all data sets. | ||||
| If the number of entries is greater than the number of data sets, the first :math:`n` values are used. | ||||
| Here, test1 uses 1 as parameter for :math:`t_{ev}` and test3 uses 3. | ||||
| If the number of entries is less than the number of data sets, the last value will be used for each additional set. | ||||
							
								
								
									
										11
									
								
								doc/source/user_guide/index.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								doc/source/user_guide/index.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| ========== | ||||
| User Guide | ||||
| ========== | ||||
|  | ||||
|  | ||||
| .. toctree:: | ||||
|    :maxdepth: 2 | ||||
|  | ||||
|    read | ||||
|    fit | ||||
|    shift_scale | ||||
							
								
								
									
										19
									
								
								doc/source/user_guide/read.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								doc/source/user_guide/read.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| .. _user_guide.read: | ||||
|  | ||||
| ************* | ||||
| Reading files | ||||
| ************* | ||||
|  | ||||
| Supported filetypes are | ||||
|  | ||||
|    * Text files, | ||||
|    * DAMARIS HDF5 files, | ||||
|    * Grace images. | ||||
|    * HP alpha-analyzer EPS files | ||||
|    * NTNMR .tnt files | ||||
|  | ||||
| DAMARIS HDF files | ||||
| ================= | ||||
|  | ||||
| After scanning the selected file the program shows a list of the available data. | ||||
|  | ||||
							
								
								
									
										16
									
								
								doc/source/user_guide/shift_scale.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								doc/source/user_guide/shift_scale.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| .. _usage.shift_scale: | ||||
|  | ||||
| Moving and scaling | ||||
| ^^^^^^^^^^^^^^^^^^ | ||||
|  | ||||
| Values are always used and displayed in scientific notation *x.yyyyez* where x is a signed single digit larger than 0. | ||||
| The relative stepsize (by default 0.0001) increases or decreases is always of the same magnitude as the current value, e.g., | ||||
| 1.2345e0 changes by 0.0001, but 1.2345e20 changes by 0.0001e20. | ||||
| If the step results in a new order of magnitude the value will be adjusted accordingly, i.e., a step from 9.9999e1 to 10.0000e1 will become 1.0000e2. | ||||
|  | ||||
| .. note:: | ||||
|     This behaviour leads almost always to values different from zero when using the arrow buttons. Please enter it directly to get a value of zero. | ||||
|  | ||||
| Boxes :guilabel:`log x` and :guilabel:`log y` change the respective axis from a linear to logarithmic scaling and vice versa. | ||||
|  | ||||
| Every selected set will be recalculated according to :math:`new = scale \cdot old + offset`. | ||||
		Reference in New Issue
	
	Block a user