2 Commits

Author SHA1 Message Date
fa2b57dcd9 update-dipolar-distance (#320)
All checks were successful
Build AppImage / Explore-Gitea-Actions (push) Successful in 2m5s
Change dipolar distances to nm to make minimization possible

Reviewed-on: #320
Co-authored-by: Dominik Demuth <dominik.demuth@pkm.tu-darmstadt.de>
Co-committed-by: Dominik Demuth <dominik.demuth@pkm.tu-darmstadt.de>
2026-01-30 17:02:33 +00:00
734a265c2b Add encoding to read/write (#319)
Some checks failed
Build AppImage / Explore-Gitea-Actions (push) Failing after 45s
Special characters are correctly written back

Reviewed-on: #319
2025-10-10 13:25:30 +00:00
2 changed files with 6 additions and 6 deletions

View File

@@ -120,7 +120,7 @@ class GraceEditor:
# we start always with the header # we start always with the header
current_pos = 'header' current_pos = 'header'
with self.file.open('r', errors='replace') as f: with self.file.open('r', errors='replace', encoding='iso-8859-15') as f:
for line_nr, line in enumerate(f): for line_nr, line in enumerate(f):
# lots of states to check # lots of states to check
# agr file order: header, drawing object, region, graph, set # agr file order: header, drawing object, region, graph, set
@@ -331,7 +331,7 @@ class GraceEditor:
def write(self, fname): def write(self, fname):
outfile = pathlib.Path(fname) outfile = pathlib.Path(fname)
with outfile.open('w') as f: with outfile.open('w', encoding='iso-8859-15') as f:
f.write(str(self.header)) f.write(str(self.header))
f.flush() f.flush()

View File

@@ -106,7 +106,7 @@ class HomoDipolar(Coupling):
name = 'Homonuclear Dipolar' name = 'Homonuclear Dipolar'
parameter = ['r'] parameter = ['r']
unit = ['m'] unit = ['nm']
choice = [ choice = [
(r'\gamma', 'nucleus', {k: k for k in gamma}), (r'\gamma', 'nucleus', {k: k for k in gamma}),
('Spin', 'spin', OrderedDict([('1/2', 0.5), ('1', 1), ('3/2', 1.5), ('2', 2), ('5/2', 2.5), ('3', 3)])), ('Spin', 'spin', OrderedDict([('1/2', 0.5), ('1', 1), ('3/2', 1.5), ('2', 2), ('5/2', 2.5), ('3', 3)])),
@@ -128,7 +128,7 @@ class HomoDipolar(Coupling):
raise KeyError(f'Unknown nucleus {nucleus}') raise KeyError(f'Unknown nucleus {nucleus}')
try: try:
coupling = mu0 / (4*pi) * hbar_joule * gamma_full[nucleus]**2 / (r+1e-34)**3 coupling = mu0 / (4*pi) * hbar_joule * gamma_full[nucleus]**2 / ((r*1e-9) + 1e-34)**3
except ZeroDivisionError: except ZeroDivisionError:
return 1e318 return 1e318
@@ -143,7 +143,7 @@ class HeteroDipolar(Coupling):
name = 'Heteronuclear Dipolar' name = 'Heteronuclear Dipolar'
parameter = ['r'] parameter = ['r']
unit = ['m'] unit = ['nm']
choice = [ choice = [
(r'\gamma_{1}', 'nucleus1', {k: k for k in gamma}), (r'\gamma_{1}', 'nucleus1', {k: k for k in gamma}),
(r'\gamma_{2}', 'nucleus2', {k: k for k in gamma}), (r'\gamma_{2}', 'nucleus2', {k: k for k in gamma}),
@@ -172,7 +172,7 @@ class HeteroDipolar(Coupling):
raise KeyError(f'Unknown nucleus {nucleus2}') raise KeyError(f'Unknown nucleus {nucleus2}')
try: try:
coupling = mu0 / (4*pi) * hbar_joule * gamma_full[nucleus1]*gamma_full[nucleus2] / r**3 coupling = mu0 / (4*pi) * hbar_joule * gamma_full[nucleus1]*gamma_full[nucleus2] / ((r*1e-9) + 1e-34)**3
except ZeroDivisionError: except ZeroDivisionError:
return 1e318 return 1e318