prommis.precipitate.precipitate_liquid_properties#
Initial property package for precipitate.
Authors: Alejandro Garciadiego
- class prommis.precipitate.precipitate_liquid_properties.AqueousParameter(*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:
(AqueousParameter) New instance
- class prommis.precipitate.precipitate_liquid_properties.AqueousParameterData(component)[source]#
Property package for aqueous solution generated in oxalate precipitator.
Includes the following components:
Rare Earths: Sc, Y, La, Ce, Pr, Nd, Sm, Gd, Dy
Impurities: Al, Ca, Fe
Assumes the equilibrium reaction has a fixed rate and fixed partition coefficients based on:
Wang, Y., Ziemkiewicz, P., Noble, A., A Hybrid Experimental and Theoretical Approach to Optimize Recovery of Rare Earth Elements from Acid Mine Drainage, Minerals, 2022, 12. 236
self.split can be substituted by surrogate model
- 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.precipitate.precipitate_liquid_properties.AqueousStateBlock(*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:
(AqueousStateBlock) New instance
- class prommis.precipitate.precipitate_liquid_properties.AqueousStateBlockkData(*args, **kwargs)[source]#
State block for aqueous solution generated in oxalate precipitator.
- 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.