diff --git a/isotables/isotopapp/forms.py b/isotables/isotopapp/forms.py new file mode 100644 index 0000000..d218825 --- /dev/null +++ b/isotables/isotopapp/forms.py @@ -0,0 +1,4 @@ +from django import forms + +class RenewBookForm(forms.Form): + renewal_date = forms.DateField(help_text="Enter a date between now and 4 weeks (default 3).") diff --git a/isotables/isotopapp/templates/home.html b/isotables/isotopapp/templates/home.html index 5dde4cf..5c6d55a 100644 --- a/isotables/isotopapp/templates/home.html +++ b/isotables/isotopapp/templates/home.html @@ -1,37 +1,68 @@ -
-

NMR Frequency Calculator

- -
- - - - - - - - - - - - - - - - - - - - - -
Source isotope:
Source frequency in MHz:
Destination isotope:
Frequency range in MHz:
Gradient in T/m: (assuming 5mm sample diameter)
-
-
- - + } + +
+

NMR Frequency Calculator

+ +
+
+
+ +
+ +{# #} +
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+ {{ ans }} +
+ diff --git a/isotables/isotopapp/templates/result.html b/isotables/isotopapp/templates/result.html index f599d63..a3ddf40 100644 --- a/isotables/isotopapp/templates/result.html +++ b/isotables/isotopapp/templates/result.html @@ -1,11 +1,15 @@ + + +
- +
- + @@ -35,54 +39,18 @@ - + diff --git a/isotables/isotopapp/views.py b/isotables/isotopapp/views.py index 6aa6f35..4358a94 100644 --- a/isotables/isotopapp/views.py +++ b/isotables/isotopapp/views.py @@ -9,7 +9,8 @@ from isotopapp.models import Isotope # Create your views here. def home(request): - return render(request, 'home.html') + isotopes = [i for i in Isotope.objects.all() if (i.gamma != 0 or i.stable)] + return render(request, 'home.html', {'isotopes': [[f"{i.n_nucleons}{i.symbol}", mark_safe(f"{i.n_nucleons}{i.symbol}")] for i in isotopes]}) def extract_isotope_parts(isotope_str): """Extracts the number and element from an isotope string (e.g., '23Na').""" @@ -31,13 +32,12 @@ def isotope_info(isotope, field): f"{f_larmor:.3f}", spin, f"{isotope.natural_abundance:.1f}", - f"{isotope.gamma*1e6:.5e}"] + f"{isotope.gamma:.5f}"] def result(request): n1, element1 = extract_isotope_parts(request.GET.get('isotope1')) isotope1 = Isotope.objects.filter(symbol=element1, n_nucleons=n1).get() - freq = float(request.GET.get('freq')) field_T = freq / isotope1.gamma @@ -54,7 +54,7 @@ def result(request): f_Larmor = field_T*isotope.gamma if abs(f_Larmor - freq) <= freq_range: close_isotopes.append(isotope_info(isotope, field_T)) - ans = sorted(close_isotopes, key=lambda x: x[3]) + ans = sorted(close_isotopes, key=lambda x: -float(x[3])) elif request.GET.get('calculate') == "": sample_diameter = 5e-3
Table downloaded from easyspin.org (2023-07-29 markusro)
N Symbol