PlasmaCalcs.multi_run_analysis.multi_calculator.MultiCalculator

class PlasmaCalcs.multi_run_analysis.multi_calculator.MultiCalculator

Bases: DictOfSimilar

a 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 calcs
mc[‘slices’, ‘x’] = 7 # sets calc.slices[‘x’] = 7 for all calcs
mc(‘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

SIMILAR_ATTRS

ca

do

ga

gi

sa

si

title

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)
return func(obj, *args, **kw) for each object in self.
property ca
alias to callattrs
callattrs(attr, *args, **kw)
call obj.attr(*args, **kw) for each object in self.
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] = v
In either case, this is followed by: for k in F: D[k] = F[k]
values() an object providing a view on D's values