prommis.nanofiltration.multi_component_diafiltration_solute_properties#

Property package for the multi-component diafiltration membrane.

Author: Molly Dougher

class prommis.nanofiltration.multi_component_diafiltration_solute_properties.MultiComponentDiafiltrationSoluteParameter(*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

    cation_list

    List of cations present in the system

    anion_list

    List of anions present in the system

  • 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:

(MultiComponentDiafiltrationSoluteParameter) New instance

class prommis.nanofiltration.multi_component_diafiltration_solute_properties.MultiComponentDiafiltrationSoluteParameterData(component)[source]#

Property Package for the multi-component diafiltration membrane.

Currently includes the following solutes:

Li (lithium ion, +) Co (cobalt ion, 2+) Al (aluminum ion, 3+) Cl (chloride ion, -)

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.nanofiltration.multi_component_diafiltration_solute_properties.MultiComponentDiafiltrationSoluteStateBlock(*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:

(MultiComponentDiafiltrationSoluteStateBlock) New instance

class prommis.nanofiltration.multi_component_diafiltration_solute_properties.MultiComponentDiafiltrationSoluteStateBlockData(*args, **kwargs)[source]#

State block for multi-component diafiltration membrane

build()[source]#

General build method for StateBlockDatas.

Parameters:

None

Returns:

None

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_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.