1% -------------------------------------------------------------------------
2% EXAMPLE: SHOCK_I_IONIZATION
3%
4% Compute pre-shock and post-shock state for a planar incident shock wave
5% at standard conditions, a set of 51 species considered and a set of
6% initial shock front velocities (u1) contained in (360, 13000) [m/s]
7%
8% Air_ions == {'eminus', 'Ar', 'Arplus', 'C', 'Cplus', 'Cminus', ...
9% 'CN', 'CNplus', 'CNminus', 'CNN', 'CO', 'COplus', ...
10% 'CO2', 'CO2plus', 'C2', 'C2plus', 'C2minus', 'CCN', ...
11% 'CNC', 'OCCN', 'C2N2', 'C2O', 'C3', 'C3O2', 'N', ...
12% 'Nplus', 'Nminus', 'NCO', 'NO', 'NOplus', 'NO2', ...
13% 'NO2minus', 'NO3', 'NO3minus', 'N2', 'N2plus', ...
14% 'N2minus', 'NCN', 'N2O', 'N2Oplus', 'N2O3', 'N2O4', ...
15% 'N2O5', 'N3', 'O', 'Oplus', 'Ominus', 'O2', 'O2plus', ...
16% 'O2minus', 'O3'}
17%
18% See wiki or list_species() for more predefined sets of species
19%
20% @author: Alberto Cuadra Lara
21% PhD Candidate - Group Fluid Mechanics
22% Universidad Carlos III de Madrid
23%
24% Last update July 22 2022
25% -------------------------------------------------------------------------
26
27%% INITIALIZE
28self = App('Air_ions');
29%% INITIAL CONDITIONS
30self = set_prop(self, 'TR', 300, 'pR', 1 * 1.01325);
31self.PD.S_Oxidizer = {'N2', 'O2', 'Ar', 'CO2'};
32self.PD.N_Oxidizer = [78.084, 20.9476, 0.9365, 0.0319] ./ 20.9476;
33%% ADDITIONAL INPUTS (DEPENDS OF THE PROBLEM SELECTED)
34u1 = logspace(2, 5, 500); u1 = u1(u1<20000); u1 = u1(u1>=347.25);
35self = set_prop(self, 'u1', u1);
36%% SOLVE PROBLEM
37self = solve_problem(self, 'SHOCK_I');
38%% DISPLAY RESULTS (PLOTS)
39post_results(self);