Skip to content

Instantly share code, notes, and snippets.

View andyfaff's full-sized avatar

Andrew Nelson andyfaff

  • Sydney, Australia
View GitHub Profile
@andyfaff
andyfaff / caller
Last active May 23, 2024 07:07
Pickle-free multiprocessing
import stuff
import multiprocessing
import pickle
from refnx._lib.emcee import EnsembleSampler
nvp = len(objective.varying_parameters())
with multiprocessing.pool.Pool(processes=None, initializer=stuff.initialiser, initargs=(pickle.dumps(objective),)) as pwl:
sampler = EnsembleSampler(200, nvp, stuff.calculator, pool=pwl)
%time sampler.run_mcmc(fitter.chain[-1], 4000)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andyfaff
andyfaff / JAX-reflect
Last active April 17, 2024 06:28
Patch for basic JAX usage with Objective/ReflectModel/Structure
diff --git a/refnx/analysis/objective.py b/refnx/analysis/objective.py
index 9ff56057..c77139ad 100644
--- a/refnx/analysis/objective.py
+++ b/refnx/analysis/objective.py
@@ -674,8 +674,8 @@ class Objective(BaseObjective):
logl += (y - model) ** 2 / var_y
# nans play havoc
- if np.isnan(logl).any():
- raise RuntimeError("Objective.logl encountered a NaN.")
Function/S wottpy(r0, d0)
variable r0, d0
// Paths must be POSIX paths (using /).
// Paths containing spaces or other nonstandard characters
// must be single-quoted. See Apple Techical Note TN2065 for
// more on shell scripting via AppleScript.
string r0s, d0s
r0s = num2str(r0)
d0s = num2str(d0)
@andyfaff
andyfaff / run_locator.ipynb
Created March 1, 2024 01:00
Run locator for PLP
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andyfaff
andyfaff / Volume_fraction_calculator.ipynb
Created May 12, 2023 02:22
Volume fraction profile generator
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andyfaff
andyfaff / Simpson_rule_even_points.ipynb
Created March 28, 2023 03:57
Simpson's rule even number of points
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andyfaff
andyfaff / find_adequate_resolution.ipynb
Created March 17, 2023 01:04
Find an adequate resolution smearing oversample
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@andyfaff
andyfaff / numba_reflectivity.ipynb
Created March 9, 2023 22:17
Numba reflectivity kernel investigation
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.