prommis.properties.coal_refuse_properties#

Initial property package for West Kentucky No. 13 coal refuse.

Authors: Andrew Lee, Douglas Allan

class prommis.properties.coal_refuse_properties.CoalRefuseParameterData(component)[source]#

Solid phase property package for West Kentucky No. 13 coal waste.

Based on assay provided in:

RESEARCH PERFORMANCE FINAL REPORT, Pilot-Scale Testing of an Integrated Circuit for the Extraction of Rare Earth Minerals and Elements from Coal and Coal Byproducts Using Advanced Separation Technologies, Honaker, R.Q., et al., DE-FE0027035

Includes the following components:

  • Inerts

  • Rare Earth Oxides: Sc2O3, Y2O3, La2O3, Ce2O3, Pr2O3, Nd2O3, Sm2O3, Gd2O3, Dy2O3

  • Impurities: Al2O3, CaO, Fe2O3

build()[source]#

General build method for PropertyParameterBlocks. Inheriting models should call super().build.

Parameters:

None

Returns:

None

classmethod define_metadata(obj)[source]#

Set all the metadata for properties and units.

This method should be implemented by subclasses. In the implementation, they should set information into the object provided as an argument.

Parameters:

pcm (PropertyClassMetadata) – Add metadata to this object.

Returns:

None

class prommis.properties.coal_refuse_properties.CoalRefuseParameters(*args, **kwds)#
Parameters:
  • rule (function) – A rule function or None. Default rule calls build().

  • concrete (bool) – If True, make this a toplevel model. Default - False.

  • ctype (class) –

    Pyomo ctype of the block. Default - pyomo.environ.Block

    Config args

    default_arguments

    Default arguments to use with Property Package

  • initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries with config arguments as keys.

  • idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to override the default behavior of matching the BlockData index exactly to the index in initialize.

Returns:

(CoalRefuseParameters) New instance

class prommis.properties.coal_refuse_properties.CoalRefusePropertiesScaler(**kwargs)[source]#

Scaler for coal refuse solids.

zero_tolerance

Value at which a variable will be considered equal to zero for scaling.

max_variable_scaling_factor

Maximum value for variable scaling factors.

min_variable_scaling_factor

Minimum value for variable scaling factors.

max_constraint_scaling_factor

Maximum value for constraint scaling factors.

min_constraint_scaling_factor

Minimum value for constraint scaling factors.

max_expression_scaling_hint

Maximum value for expression scaling hints.

min_expression_scaling_hint

Minimum value for constraint scaling hints.

overwrite

Whether to overwrite existing scaling factors.

constraint_scaling_routine(model, overwrite: bool = False, submodel_scalers: dict = None)[source]#

Routine to apply scaling factors to constraints in model.

Derived classes must overload this method.

Parameters:
  • model – model to be scaled

  • overwrite – whether to overwrite existing scaling factors

  • submodel_scalers – ComponentMap of Scalers to use for sub-models

Returns:

None

variable_scaling_routine(model, overwrite: bool = False, submodel_scalers: dict = None)[source]#

Routine to apply scaling factors to variables in model.

Derived classes must overload this method.

Parameters:
  • model – model to be scaled

  • overwrite – whether to overwrite existing scaling factors

  • submodel_scalers – ComponentMap of Scalers to use for sub-models

Returns:

None

class prommis.properties.coal_refuse_properties.CoalRefuseStateBlock(*args, **kwds)#
Parameters:
  • rule (function) – A rule function or None. Default rule calls build().

  • concrete (bool) – If True, make this a toplevel model. Default - False.

  • ctype (class) –

    Pyomo ctype of the block. Default - pyomo.environ.Block

    Config args

    parameters

    A reference to an instance of the Property Parameter Block associated with this property package.

    defined_state

    Flag indicating whether the state should be considered fully defined, and thus whether constraints such as sum of mass/mole fractions should be included, default - False. Valid values: { True - state variables will be fully defined, False - state variables will not be fully defined.}

    has_phase_equilibrium

    Flag indicating whether phase equilibrium constraints should be constructed in this state block, default - True. Valid values: { True - StateBlock should calculate phase equilibrium, False - StateBlock should not calculate phase equilibrium.}

  • initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries with config arguments as keys.

  • idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to override the default behavior of matching the BlockData index exactly to the index in initialize.

Returns:

(CoalRefuseStateBlock) New instance

class prommis.properties.coal_refuse_properties.CoalRefuseStateBlockData(*args, **kwargs)[source]#

State block for solid West Kentucky No. 13 coal waste.

build()[source]#

General build method for StateBlockDatas.

Parameters:

None

Returns:

None

default_scaler#

alias of CoalRefusePropertiesScaler

define_state_vars()[source]#

Method that returns a dictionary of state variables used in property package. Implement a placeholder method which returns an Exception to force users to overload this.

get_material_density_terms(p, j)[source]#

Method which returns a valid expression for material density to use in the material balances .

get_material_flow_basis()[source]#

Method which returns an Enum indicating the basis of the material flow term.

get_material_flow_terms(p, j)[source]#

Method which returns a valid expression for material flow to use in the material balances.