Skip to content

Gas Composition Preset Interface

  • gas compositions presets should have this Format:

the only difference to the old value dtype is the addition of a preset name

{"name": "my_awesome_process_gas", "gas_list":["N2", "H2", "CO", "O2"], "composition":[20, 20, 30, 30], "total_flow":100 }
  • The main value Parameter is an Enum with maybe ten Enum members, instead of the gas composition struct. It represents the currently selected gas composition.

{

"UNDEFINED": 0,

"PRESET_1": 1,

"PRESET_2": 2,

...

}

  • there should be Parameter, that holds a dictionary containing the mapping of an Enum member to a concrete gas composition. The datatype, might also be an array. In any case it will be possible to see which preset is representing which Gas Composition.

{

"PRESET1": {"name": "my_awesome_process_gas", "gas_list":["N2", "H2", "CO", "O2"], "composition":[20, 20, 30, 30], "total_flow":100 },

"PRESET2": {"name": "my_super_process_gas"       , "gas_list":["N2", "H2", "CO", "O2"], "composition":[70, 0, 0, 30], "total_flow"500 },

"PRESET3": None

....

}

  • an additional command, that allows setting the gas composition of a Preset at runtime:

    set_preset(preset, gas_composition)

    • returns an error if you try to change the currently loaded preset

    • does not accept presets, that contain gases that are not available

    • also checks limits on total flows and rejects compositions that would violate MFC limits

    --> presets that were added using set_preset() should not lead to errors, unless the gas operation module is in an incompatible mode