Example_SHOCK_OBLIQUE_THETA.m#

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