StanczakDominik on master
Consolidate requirements and re… (compare)
StanczakDominik on pre-commit-ci-update-config
StanczakDominik on master
[pre-commit.ci] pre-commit auto… (compare)
pre-commit-ci[bot] on pre-commit-ci-update-config
[pre-commit.ci] auto fixes from… (compare)
pre-commit-ci[bot] on pre-commit-ci-update-config
[pre-commit.ci] pre-commit auto… (compare)
rocco8773 on master
Towncrier >= 19.2.0 (#1111) (compare)
StanczakDominik on master
Add Chandrasekhar G function + … (compare)
.genx
and IDL .geny
files.
Particles
should be mutable? What about CustomParticles
? IonizationState
objects?
Particle
objects should be immutable. There might be some use cases where CustomParticle
objects should be mutable...like for a dust grain in the interstellar medium that accretes or ejects electrons. I don't know how often that would come up. IonizationState
stuff should be mutable for cases of time-dependent non-equilibrium ionization (i.e. a plasma that starts out cool and then gets heated more quickly than ionization can keep up with).
Particle
should be a dataclass
. CustomParticle
and DimensionlessParticle
too.
Particle
into a dataclass
, but it turned out it was just a dream, and GitHub doesn't have a dream API.
CustomParticle
immutable does sound reasonable to me. Right now it's mutable.
IonizationState
be mutable since that's something that often ends up changing over time.
IonizationState
objects.
True
!
CustomParticle
to be immutable would be a good first step. I'll create an issue on that right now.
Particle
is hashable, it's set up to have the same hash as the particle symbol too.
CustomParticle
immutable have advantages when using, say, Numba?
Another wacky IonizationState question! We can currently do something like this:
all_species = IonizationStateCollection(
{
"H": [0, 1],
"C": [0, 0, 0, 0, 0, 0, 1],
},
n0=1e20 * u.m ** -3,
abundances={"H": 1, "C": 0.08},
T_e=10 * u.eV,
)
And that represents, well, a blob. But... suppose we could put arrays in? Even 1D arrays would be pretty helpful for my usage. I'm going to need 1D profiles (for each flux surface) of each ion's density and temperature for thesis purposes. I could either stick the 1D arrays in IonizationState or I could build each IonizationState from 1D arrays of parameters in a for loop. Of course, the issue then is that I'm looping at the pure python level.