Lightweaver
Lightweaver copied to clipboard
For the investigation of NLTE glowy stuff. A python framework for constructing solar NLTE radiative transfer simulations in one- and two-dimensional geometries, with an optimised C++ backend.
Seems that all 3 directions need to specified or a buffer error happens when the Context is being set up. i.e. `atmos.rays(muz=1.0, wmu=0.0)` doesn't work, but `atmos.rays(muz=[1.0], muy=[0.0], mux=[0.0], wmu=[1.0])`...
The underlying implementation is relatively slow (not compared to the RH15d implementation), and recreates the entire thread pool which is very expensive (and shouldn't be necessary now due to the...
This is perhaps less of an issue and more of a feature/docs request. My ignorance here is likely due to my unfamiliarity with Lightweaver, RH, and radiative transfer so I...
I know that this has come up in conversation at some point, but I think it would be really useful to use astropy units throughout this package, particularly at the...
This is a hassle for reprocessing mu=1.0 snapshots otherwise, as wmu is ill-defined.
Need to make sure this is run.
If `ctx.Nthreads > 1` on fork, then only main thread is copied, and none of the workers are cloned (as per the definition of `fork(2)`). If Nthreads is set to...
We can damp the Newton-Raphson correction if it's too large -- it's still self-consistent, obviously the process isn't converged till we're done with damping; like the Armijo line search.
This would be a nice QoL improvement when experimenting wityh different timesteppers like the Theta method in MsLightweaver
This works transparently for arrays, there's no reason not to have the same for scalars.