GUI#

Routines to generate the app, add-ons, assets, and all the necessary functions to be compatible with the plain code and extend its functionality.

Combustion Toolbox GUI#

Figure 1: Post-process of results using the GUI of the adiabatic combustion for a lean-to-rich acetylene (C2H2)-air mixture at standard conditions (T1 = 300 K and p1 = 1 atm); labels: name of the different components of the GUI. In particular, the numerical results correspond to phi = 0.5 (selected case in the tree component) [part 1].

Figure 2: Post-process of results using the GUI of the adiabatic combustion for a lean-to-rich acetylene (C2H2)-air mixture at standard conditions (T1 = 300 K and p1 = 1 atm); labels: name of the different components of the GUI. In particular, the numerical results correspond to phi = 0.5 (selected case in the tree component) [part 2].

Figure 3: Post-process of results using the GUI of the adiabatic combustion for a lean-to-rich acetylene (C2H2)-air mixture at standard conditions (T1 = 300 K and p1 = 1 atm); labels: name of the different components of the GUI. In particular, the numerical results correspond to phi = 0.5 (selected case in the tree component) [part 3].

Routines

Utility functions#

A collection of functions for Combustion Toolbox GUI.


Routines
gui_CalculateButtonPushed(obj, event)#

Solve selected problem, update GUI with the results and generate predefined plots.

gui_ConsoleValueChanged(app, event)#

Print output of commands through GUI’s command window

gui_FrozenchemistryCheckBoxValueChanged(obj)#

Set frozen chemistry and update Listbox of species

gui_ProblemTypeValueChanged(obj)#

Clear GUI results tab (except UITree) and update GUI items for the problem selected

gui_ProductsValueChanged(obj)#

Update List of species considered as Products

gui_ReactantsValueChanged(obj, event)#

Update values of the UITable items with: - a given predefined set of reactants - the new species added in the finder

gui_UITable_RCellEdit(obj, event)#

Update values of the UITable items with the changes made

gui_add_nodes(obj_parent, results)#

Function that generate nodes in a UITree and save data on them. 1. Generate Nodes (childrens) * Category 1: new children node: Results -> ProblemType

gui_add_nodes_validations(obj, code_validation_name)#

Add nodes with the name of the validations routines

gui_check_temperature_reactants(obj, DB, species, temperature, Nspecies)#

Check if is a condensed species with a fixed temperature

gui_clear_results(obj)#

Function that clears the result tab panel, setting them to 0, or empty.

gui_compute_mach_or_velocity(obj, inputname)#

Function that computes the pre-shock Mach number of the mixture from a given pre-shock velocity or viceversa.

gui_compute_propReactants(obj, app)#

Function that compute fundamental properties (e.g., equivalence ratio, molar fractions, …) of the mixture.

gui_create_temp_app(obj, event, FLAG_COMPUTE_FROM_PHI)#

Function that creates an app required for preliminary calculations

gui_display_splash(varargin)#

Display splash using SplashScreen [1]

[1] Ben Tordoff (2022). SplashScreen (https://www.mathworks.com/matlabcentral/fileexchange/30508-splashscreen), MATLAB Central File Exchange.

Parameters:

obj (object) – App object

Returns:

splash_obj (object) – Splash object

gui_edit_phiValueChanged(obj, event)#

Update moles and mole fractions of the reactant UITables for the given equivalence ratio

gui_empty_UITables(obj)#

Clear data UITables and set to default the value of the equivalence ratio (-)

gui_fontcolor_error(app, item, MAX_ERROR)#

Change fontcolor of the given item if the value is greater than error_max

gui_generate_panel_base(obj)#

Routine that generates all the components to read the thermodynamic properties at different stages of the rocket

gui_generate_panel_rocket(obj)#

Routine that generates all the components to read the thermodynamic properties at different stages of the rocket

gui_get_parameters(self)#

GET EQUIVALENCE RATIO

gui_get_reactants(obj, event, app, varargin)#

Get the species and the number of moles of the current data in UITable_R

gui_get_tolerances(self)#

Get tolerance from GUI and update values

gui_keep_last_entry(obj, entry_obj)#

Function that keeps only the last entry, i.e., if the order is entry1 and entry2, entry1 will be set to empty value

gui_plot_custom_figures(obj)#

Function that plot custom figures based on the parameters of the GUI’s custom figures tab

gui_save_results(app, format)#

Save results as the given format (.xls or .mat)

gui_seeker_exact_value(obj, event, ListValues)#

Return the value that match with the value introduced in the finder

gui_seeker_value(obj, event, ListValues)#

Return the value that match with the value introduced in the finder

gui_update_UITable_R(obj, app)#

Update data in the UITable_R with the next order: Inert -> Oxidizer -> Fuel

gui_update_from_uitree(obj, selectedNodes)#

Update GUI with the data that correspond with the selected node from the UITree

gui_update_frozen(obj)#

Set frozen chemistry and update Listbox of species

gui_update_phi(obj, app)#

Update GUI: equivalence ratio, O/F, and percentage Fuel

gui_update_terminal(obj, app, type)#

Update GUI command window

gui_value2list(obj, value, LS, action)#

Add/remove (action) selected value to LS

gui_write_results(obj, results, i, varargin)#

Update GUI with the results of the ith case solved

Add-ons#

The Add-ons included in CT are:

  • uielements: to select and analyse the species in the database. The species from Third Millenium Database [1] are denoted with suffix _M (see Fig. 1).

  • uipreferences: to set all the preferences of Combustion Toolbox (see Fig. 2).

  • uifeedback: to report bug/inquiries of Combustion Toolbox (see Fig. 3).

  • uivalidations: to reproduce all the validations of Combustion Toolbox (see Fig. 4).

  • uiabout: to know who are the developers and get useful links (see Fig. 5).


Figure 1: Add-on uielements.

Figure 2: Add-on uipreferences.

Figure 3: Add-on uifeedback.

Figure 4: Add-on uivalidations.

Figure 5: Add-on uiabout.


Routines
  1. Burcat, A., & Ruscic, B. (2005). Third millenium ideal gas and condensed phase thermochemical database for combustion (with update from active thermochemical tables) (No. ANL-05/20). Argonne National Lab.(ANL), Argonne, IL (United States).