Example_SHOCK_POLAR_R.m#

 1% -------------------------------------------------------------------------
 2% EXAMPLE: SHOCK_POLAR_REFLECTED
 3%
 4% Compute shock polar plots at T1 = 226.65 K and p1 = 0.0117 bar
 5% (altitude 30 km), a set of 39 species considered, an initial
 6% shock front Mach numbers = 20, and a deflection angle theta = 35;
 7%    
 8% Air_ions == {'O2','N2','O','O3','N','NO','NO2','NO3','N2O','N2O3',...
 9%              'N2O4','N3','eminus','Nminus','Nplus','NOplus','NO2minus',...
10%              'NO3minus','N2plus','N2minus','N2Oplus','Oplus','Ominus',...
11%              'O2plus', 'O2minus,'CO2','CO','COplus','C','Cplus',...
12%              'Cminus','CN','CNplus','CNminus','CNN','NCO','NCN','Ar',...
13%              'Arplus'}
14%   
15% See wiki or list_species() for more predefined sets of species
16%
17% @author: Alberto Cuadra Lara
18%          PhD Candidate - Group Fluid Mechanics
19%          Universidad Carlos III de Madrid
20%                  
21% Last update Jan 10 2023
22% -------------------------------------------------------------------------
23    
24LS = {'eminus', 'Ar', 'Arplus', 'N', ...
25      'Nplus', 'Nminus', 'NO', 'NOplus', 'NO2', ...
26      'NO2minus', 'NO3', 'NO3minus', 'N2', 'N2plus', ...
27      'N2minus', 'N2O', 'N2Oplus', 'N2O3', 'N2O4', ...
28      'N2O5', 'N3', 'O', 'Oplus', 'Ominus', 'O2', 'O2plus', ...
29      'O2minus', 'O3'};
30
31% LS = {'N2', 'O2', 'Ar'};
32
33%% INITIALIZE
34self = App(LS);
35
36self.TN.FLAG_FAST = false;
37self.TN.FLAG_TCHEM_FROZEN = false;
38%% INITIAL CONDITIONS
39self = set_prop(self, 'TR', 226.65, 'pR', 0.0117);
40self.PD.S_Oxidizer = {'N2', 'O2', 'Ar'};
41self.PD.N_Oxidizer = [78, 21, 1] ./ 21;
42sound_velocity = compute_sound(self.PD.TR.value, self.PD.pR.value, self.PD.S_Oxidizer, self.PD.N_Oxidizer, 'self', self);
43%% ADDITIONAL INPUTS (DEPENDS OF THE PROBLEM SELECTED)
44Mach_number = 20;
45self = set_prop(self, 'u1', sound_velocity * Mach_number, 'theta', 35);
46%% SOLVE PROBLEM
47self = solve_problem(self, 'SHOCK_POLAR_R');
48%% DISPLAY RESULTS (PLOTS)
49post_results(self);