Base classes#

class thermoextrap.core._attrs_utils.MyAttrsMixin[source]#

Bases: object

Baseclass for adding some sugar to attrs.derived classes.

Methods:

asdict()

Convert object to dictionary.

new_like(**kws)

Create a new object with optional parameters.

assign(**kws)

Alias to new_like().

asdict()[source]#

Convert object to dictionary.

new_like(**kws)[source]#

Create a new object with optional parameters.

Parameters:

**kwsattribute, value pairs.

assign(**kws)[source]#

Alias to new_like().

class thermoextrap.data.AbstractData(*, meta=None, umom_dim='umom', deriv_dim=None, x_is_u=False)[source]#

Bases: MyAttrsMixin

Abstract class for data.

Attributes:

meta

Callback

umom_dim

Energy moments dimension

deriv_dim

Derivative dimension

x_is_u

Whether the observable x is the same as energy u

order

Expansion order.

central

Whether central (True) or raw (False) moments are used.

deriv_args

Sequence of arguments to derivative calculation function.

xalpha

Whether X has explicit dependence on alpha.

Methods:

asdict()

Convert object to dictionary.

assign(**kws)

Alias to new_like().

new_like(**kws)

Create a new object with optional parameters.

meta#

Callback

umom_dim#

Energy moments dimension

deriv_dim#

Derivative dimension

x_is_u#

Whether the observable x is the same as energy u

abstract property order#

Expansion order.

abstract property central#

Whether central (True) or raw (False) moments are used.

abstract property deriv_args#

Sequence of arguments to derivative calculation function.

property xalpha#

Whether X has explicit dependence on alpha.

That is, if self.deriv_dim is not None

asdict()[source]#

Convert object to dictionary.

assign(**kws)[source]#

Alias to new_like().

new_like(**kws)[source]#

Create a new object with optional parameters.

Parameters:

**kwsattribute, value pairs.

class thermoextrap.data.DataCentralMomentsBase(*, meta=None, umom_dim='umom', deriv_dim=None, xmom_dim='xmom', rec_dim='rec', central=False, x_is_u=None, use_cache=True)[source]#

Bases: AbstractData, Generic[DataT]

Data object based on central co-moments array.

Parameters:
  • dxduave (CentralMomentsData) – Central moments object.

  • rec_dim (hashable) – Name of dimension for ‘records’, i.e., multiple observations.

  • umom_dim (str, default 'umom') – Name of dimension for moment of energy u.

  • xmom_dim (str, default 'xmom') – Name of dimension for moments of observable x.

  • deriv_dim (str, default None) – if deriv_dim is a string, then this is the name of the derivative dimension and xarray objects will have a derivative

  • central (bool) – If True, Use central moments. Otherwise, use raw moments.

  • meta (dict, optional) – extra meta data/parameters to be carried along with object and child objects. if ‘checker’ in meta, then perform a callback of the form meta[‘checker](self, meta) this can also be used to override things like deriv_args. Values passed through method resample_meta

  • x_is_u (bool, default False) – if True, treat xv = uv and do adjust u/du accordingly

  • use_cache (bool) – If True (default), cache intermediate result. Speeds up calculations, but can lead to large objects.

Attributes:

xmom_dim

Overvable moment dimension

rec_dim

Records dimension

central

Whether central or raw moments are used

x_is_u

Whether observable x is same as energy u

dxduave

Wrapped cmomy.CentralMomentsData object.

order

Order of expansion.

values

Data underlying dxduave.

xu

Averages of form x * u ** n.

u

Averages of form u ** n.

xave

Averages of form observable x.

dxdu

Averages of form dx * dx ** n.

du

Averages of du ** n.

u_selector

Indexer for u_selector[n] = u ** n.

xu_selector

Indexer for xu_select[n] = x * u ** n.

xave_selector

Selector for xave.

du_selector

Selector for du_selector[n] = du ** n.

dxdu_selector

Selector for dxdu_selector[n] = dx * du ** n.

deriv_args

Arguments to be passed to derivative function.

deriv_dim

Derivative dimension

meta

Callback

umom_dim

Energy moments dimension

xalpha

Whether X has explicit dependence on alpha.

Methods:

rmom()

Raw co-moments.

cmom()

Central co-moments.

asdict()

Convert object to dictionary.

assign(**kws)

Alias to new_like().

new_like(**kws)

Create a new object with optional parameters.

xmom_dim#

Overvable moment dimension

rec_dim#

Records dimension

central#

Whether central or raw moments are used

x_is_u#

Whether observable x is same as energy u

property dxduave#

Wrapped cmomy.CentralMomentsData object.

property order#

Order of expansion.

property values#

Data underlying dxduave.

rmom()[source]#

Raw co-moments.

cmom()[source]#

Central co-moments.

xu[source]#

Averages of form x * u ** n.

u[source]#

Averages of form u ** n.

xave[source]#

Averages of form observable x.

dxdu[source]#

Averages of form dx * dx ** n.

du[source]#

Averages of du ** n.

u_selector[source]#

Indexer for u_selector[n] = u ** n.

xu_selector[source]#

Indexer for xu_select[n] = x * u ** n.

xave_selector[source]#

Selector for xave.

du_selector[source]#

Selector for du_selector[n] = du ** n.

dxdu_selector[source]#

Selector for dxdu_selector[n] = dx * du ** n.

property deriv_args#

Arguments to be passed to derivative function.

For example, derivs(*self.deriv_args).

asdict()[source]#

Convert object to dictionary.

assign(**kws)[source]#

Alias to new_like().

deriv_dim#

Derivative dimension

meta#

Callback

new_like(**kws)[source]#

Create a new object with optional parameters.

Parameters:

**kwsattribute, value pairs.

umom_dim#

Energy moments dimension

property xalpha#

Whether X has explicit dependence on alpha.

That is, if self.deriv_dim is not None