PlasmaCalcs.mhd.multifluid.mhd_fluids.MhdFluid
- class PlasmaCalcs.mhd.multifluid.mhd_fluids.MhdFluid(name=None, i=None, *, m=None, q=None)
Bases:
ElementHandler,Fluid,ABCabstract base class for any fluid in multifluid analysis of single-fluid mhd.E.g. Specie or IonMixture.Every MhdFluid is an ElementHandler (e.g. has self.get_element(), might return None or crash)however not necessarily an ElementHaver (has self.element, probably non-None)- __init__(name=None, i=None, *, m=None, q=None)
Methods
__init__([name, i, m, q])copy(**kw_init)deserialize(serial)from_dict(d)get_element([default])get_elements([default])ion([q])is_ion()neutral(**kw_specie)register_type(cls_to_register[, ...])saha_list(*[, istart])to_dict()with_i(i)Attributes
SERIAL_TYPESndimsize- copy(**kw_init)
- return a copy of self. Can provide new kwargs here to override old values in result.E.g. self.copy(i=7) makes a copy of self but with i=7 instead of self.i.
- static deserialize(serial)
- creates an XarrayIoSerializable object from a serialized representation.
- serial: dict or str
- str –> convert to dict via ast.literal_eval.dict must contain ‘typename’ key.
The output here will be an instance of XarrayIoSerializable.SERIAL_TYPES[typename]
- equal_except_i(v)
- returns whether self == v (another DimensionValue), ignoring i.equal if v is an instance of type(self) andall kw from both self._kw_eq and v._kw_eq have the same values.(any kw missing attrs will be treated as UNSET.)For DimensionValue: self.s==v.s and self.i==v.i. Subclasses may add more.
- classmethod from_dict(d)
- return cls from dict d.If ‘d’ contains ‘typename’, result is like cls.deserialize(d) instead,however, first require that result is an instance of cls (or subclass of cls).E.g. Fluid.from_dict(dict(typename=’EppicDist’, …)) returns EppicDist,but Snap.from_dict(dict(typename=’EppicDist’, …)) crashes with InputError.Subclasses wishing to alter deserialize behavior will probably override this method instead.
- property get_I
- alias to neutral
- property get_II
- alias to ion
- get_element(default=NO_VALUE)
- return self.element if it exists and is not None, else crash with FluidKeyError.
- default: NO_VALUE or any value.
- If provided, when element missing or None, return default instead of crash.
- get_elements(default=NO_VALUE)
- return list of elements in self.The implementation here just returns [self.get_element(default=default)].
- ion(q=1, **kw_specie)
- return ionized Specie of self.get_element()
q: charge in elementary charge units. (default: +1)
- is_charged()
- tells whether self is a charged fluid. i.e. self.q != 0.if self.q is None, returns None instead of bool.
- is_electron()
- tells whether self is an electron. i.e. self.q < 0.if self.q is None, returns None instead of bool.
- is_ion()
- tells whether self is an ion. i.e. self.q > 0.if self.q is None, returns None instead of bool.
- is_neutral()
- tells whether self is a neutral fluid. i.e. self.q == 0.if self.q is None, returns None instead of bool.
- lookup_dict()
- returns dict for looking up self within a DimensionValueList, given int, str, or self.(used by DimensionValueList.lookup_dict)
- property name
- alias to s
- neutral(**kw_specie)
- return neutral Specie of self.get_element().
- static register_type(cls_to_register, _serial_typename=None)
- register cls_to_register as a serializable subclass of XarrayIoSerializable.
- _serial_typename: str or None
- name to use for serialization. if None, use cls_to_register.__name__.
- saha_list(*, istart=0, **kw_specie)
- return SpecieList of neutral & once-ionized ions of self.get_element().
istart: start index for the SpecieList. Index affects conversion to int.
- serialize()
- return dict of info about self, including ‘typename’ key.
- specie_list_cls
alias of
SpecieList
- to_dict()
- return dictionary of info about self. Attribute values for keys in self._kw_def.e.g. if _kw_def={‘s’, ‘i’}: result = {‘s’: self.s, ‘i’: self.i}
- with_i(i)
- return copy of self with i=i, or self if self.i==i already.