PlasmaCalcs.multi_run_analysis.multi_calculator.MultiCalculator
- class PlasmaCalcs.multi_run_analysis.multi_calculator.MultiCalculator
Bases:
DictOfSimilara class to handle multiple calculators.Example:calc1 = PlasmaCalculator(…)calc2 = PlasmaCalculator(…)mc = MultiCalculator({‘c1’:calc1, ‘c2’:calc2})mc.snap = 0 # sets calc.snap=0 for all calcsmc[‘slices’, ‘x’] = 7 # sets calc.slices[‘x’] = 7 for all calcsmc(‘Eheat’) # returns list of calc(‘Eheat’) for all calcs- __init__(*args, **kwargs)
Methods
__init__(*args, **kwargs)apply(func, *args, **kw)callattrs(attr, *args, **kw)clear()copy()from_canon(makecalc, *[, dir, exclude, ...])fromkeys([value])get(key[, default])getattrs(attr[, default])getitems(i)items()keys()pop(k[,d])popitem()setattrs(attr, value)setdefault(key[, default])setitems(i, value)update([E, ]**F)values()Attributes
REPR_ITEM_MAXLEN- property SIMILAR_ATTRS
- SIMILAR_ATTRS for self; operations on self will be broadcasted to these attrs,e.g. self.snap = 0 –> [calc.snap for calc in self.values()], if ‘snap’ in SIMILAR_ATTRS.
- apply(func, *args, **kw)
- property ca
- alias to callattrs
- callattrs(attr, *args, **kw)
- clear() None. Remove all items from D.
- cls_new
alias of
DictOfSimilar
- copy() a shallow copy of D
- property do
- alias to apply
- classmethod from_canon(makecalc, *, dir='.', exclude=[], singles=True, abbrv=True)
- return MultiCalculator from canonical runs within directory (and subdirectories).A run is “canonical” if in a ‘run’ or ‘runs’ parameter in a _canon.txt file.Paths in _canon.txt file are relative to the same directory as the _canon.txt file.
- makecalc: callable
- function to make a calculator, given abspath of run’s directory.
- dir: str
- directory to search for _canon.txt files.
- exclude: str, or list of strs
- exclude any subdirectories whose name equals one of these strings or re.fullmatch one of these strings.E.g. exclude=’*[.]io’ will exclude all subdirectories whose name ends with ‘.io’;exclude=’parallel’ will exclude all subdirectories whose name equals ‘parallel’.
- singles: bool
- if True, assert all run lists from _canon.txt files have length 1,and replace each runlist with runlist[0].
- abbrv: bool
- whether to use abbreviated names for result keys and calculator titles.abbreviated names determined by removing os.path.commonpath() of run dirs.calculator titles set via calculator.title = abbrv_name, for each calculator.
- fromkeys(value=None, /)
- Create a new dictionary with keys from iterable and values set to value.
- property ga
- alias to getattrs
- get(key, default=None, /)
- Return the value for key if key is in the dictionary, else default.
- getattrs(attr, default=UNSET)
- get obj.attr for each object in self.
- getitems(i)
- get obj[i] for each object in self.
- property gi
- alias to getitems
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- pop(k[, d]) v, remove specified key and return the corresponding value.
- If key is not found, default is returned if given, otherwise KeyError is raised
- popitem()
- Remove and return a (key, value) pair as a 2-tuple.Pairs are returned in LIFO (last-in, first-out) order.Raises KeyError if the dict is empty.
- property sa
- alias to setattrs
- setattrs(attr, value)
- set obj.attr = value for each object in self.
- setdefault(key, default=None, /)
- Insert key with a value of default if key is not in the dictionary.Return the value for key if key is in the dictionary, else default.
- setitems(i, value)
- set obj[i] = value for each object in self.
- property si
- alias to setitems
- property title
- return a title for self: f’{calc1.title}|{calc2.title}|…|{calcN.title}’.
- update([E, ]**F) None. Update D from dict/iterable E and F.
- If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = vIn either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values