fuellib.gcm.core.GCMRegistry

class fuellib.gcm.core.GCMRegistry

Bases: object

Registry for Core Group Contribution Methods.

Attributes

methods

Methods

get_gcm

Retrieve a registered GCM by its name.

list_methods

List the names of all registered GCMs.

register

Register a new GCM with the given name and properties.

classmethod get_gcm(gcm_name)

Retrieve a registered GCM by its name.

Parameters:

gcm_name (str) – The name of the GCM to retrieve.

Returns:

The registered GCM instance.

Raises:

ValueError – If no GCM with the given name is registered.

Return type:

GCM

classmethod list_methods()

List the names of all registered GCMs.

Returns:

A list of names of all registered GCMs.

Return type:

list[str]

methods: ClassVar[list[GCM]] = [GCM(name='boehm', property_fns={'ds_fus': <function dS_fus>}), GCM(name='gani', property_fns={'tc': <function Tc>, 'pc': <function Pc>, 'vc': <function Vc>, 'tb': <function Tb>, 'tm': <function Tm>, 'hf': <function Hf>, 'gf': <function Gf>, 'hv_stp': <function Hv_stp>, 'omega': <function omega>, 'vm_stp': <function Vm_stp>, 'cp_stp': <function Cp_stp>, 'cp_b': <function Cp_B>, 'cp_c': <function Cp_C>, 'rd_a': <function rd_A>, 'rd_b': <function rd_B>, 'rd_d': <function rd_D>, 'alibakhshi_phi': <function alibakhshi_phi>}), GCM(name='nannoolal', property_fns={'dbv': <function dBv>, 'tv': <function Tv>})]
classmethod register(gcm_name, property_fns=None)

Register a new GCM with the given name and properties.

Parameters:
  • gcm_name (str) – The name of the GCM to register.

  • property_fns (list[PropertyProtocol] | None) – A list of property functions to associate with the GCM.

Returns:

The registered GCM instance.

Return type:

GCM