Professional Documents
Culture Documents
Abstract There is a currently increasing interest in the design carry as many as eight people(including two pilots) into space.
and manufacture of civilian hypersonic vehicles, driving the SpaceShipTwo is powered by a hybrid rocket motor and this
research of methods to employ in the design process. In the spacecraft uses a unique system to safely re-enter the Earths
present work, a MATLAB program was developed using an atmosphere. With this system, SpaceShipTwo can mimic the
approximate and inverse method known as Maslens [1] method
performance of a capsule or of a winged vehicle at the
to solve the entire inviscid hypersonic flow field of different shock
waves examples. The results are discussed and compared in this appropriate parts of its trajectory. SpaceShipTwo is currently
paper along with the exact solution for one of these examples. undergoing testing before becoming available for commercial
This work aims to validate the approach of Maslens method [1] use.
for both two dimensional and axisymmetric flow in various
conditions by using non dimensional variables in equations. A present dilemma is encountered in the aerodynamic design
of these hypersonic vehicles i.e. there is a limited number of
Keywordshypersonic vehicles; shock wave; inverse method; large working section wind tunnels worldwide for testing the
I. INTRODUCTION design, besides the ones available are very expensive to
operate.
CFD (Computational Fluid Dynamics) provides an alternative
design approach, however the high accuracy techniques
applied in CFD are themselves expensive as well and are
generally employed only for final detailed design.
In the initial design phase of hypersonic vehicles, cheaper, low
accuracy methods are more desirable considering these
methods allow a rapid sweeping of parameter spaces. Maslens
method [1] for example is among this class of methods and
produces satisfying results and simple approach when solving
Figure 1. SKYLON space plane hypersonic flow past smooth symmetric bodies in both
axisymmetric or planar cases.
The increased research of technologies in aerodynamics field
lead to the design of civilian hypersonic vehicles such as the
SKYLON (Figure 1) [2] and Virgin Galactics SpaceShipTwo
(Figure 2) [3].
SKYLON is a design for a single-stage-to-orbit space
plane(STTO) by the British company Reaction Engines
Limited(REL), able to achieve orbit without staging.
The vehicle design is for a hydrogen-fuelled aircraft that
would take off from a purpose-built runway, and accelerate to
Mach 5.4 at 26 kilometers (16 mi) altitude using
the atmosphere's oxygen before switching the engines to use Figure 2. SpaceShipTwo by Virgin Galactic
the internal liquid oxygen (LOX) supply to take it into
orbit. Once in orbit it would release its payload (of up to 15
tonnes). The vehicle will be unpiloted, but also be certified to II. LITERATURE SURVEY
carry passengers.
The method chosen in the present work was Maslens [1] and
it consists in a simple inverse problem method considering the
SpaceShipTwo is the second stage of a two stage to orbit
shock shape is assumed and the calculations start right behind
(TSTO) reusable, winged spacecraft, designed to repeatedly
the shock, followed by the computation of the flow field and
determination of the corresponding body shape.
The method relies on the assumption that the layer between
the shock and the body is very thin, creating a thin shock layer
in which the flow is approximately parallel to the shock, with
exception of the stagnation region near the stagnation point.
Such approximations are the basis of the thin shock layer
theory and this method relies strongly on this analysis.
III. METHOD
Maslens method [1] solves an inverse problem. A shock wave
shape is assumed and the body shape that supports this shock Figure 3. Flow variables through shock
is calculated along with the flow field between the shock and
the body. 1u1 2u2 ( 0 )
The steps taken are derived from Andersons book[4] and
Maslens scientific article[1]. p1 1u12 p2 2u2 2 ( 0 )
A. Nomenclature 1 1
h1 u12 h2 u2 2
Subscripts : 2 2 (0)
freestream value
, x = partial derivatives with respect to or x Continuity equation ahead of shock is defined as in Eq.(4) :
Dimensional variables - marked with an over bar: ( u1 ) + ( v1 ) 0
x y (0)
x , y = distance along and normal(inward) to the
shock The stream function across a normal shock can be found
p = pressure with Equations (5) and (6) :
= density a
u, v = velocities in x, y direction 1u1
y ( 0 )
= stream function
h enthalpy a
L = characteristic length 1v1 0
x (0)
V = freestream velocity
= shock curvature
Since
1,u1 are constant, the stream function across a
Dimensionless variables : normal shock is defined as :
1
h h / ( V2 ) a 1u1 y ( 0 )
2
X X/L Behind the shock :
p p/ ( pV2 ) b
Y Y /L 2u2
y ( 0 )
U U / V
V V / V b
2 v2 0
/ pV L x (0)
b a( 0 )
CNPq Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico is the funding agency that provided the author with a scholarship inside the Science
Without Borders program.
C. Oblique Shock Relations
u
y (0)
.
u1 cos u2 cos v2 sin ( 0 )
p2 2
1 (M12 sin 2 1)
p1 ( 1) (0)
and
2 ( 1) (M 2 sin 2 1)
a. Detail for the analysis by Maslen
( 1) (M 2 sin 2 2) ( 0 )
D. Change Coordinate System Since the stream value = constant across the shock,
From (X,Y) to (x,y). taking Figure 4 as an example to go through the method, the
Let (x) denote the curvature of the bow shock. stream value at point 2 is:
2 2' Y2' ( 0)
The shock curvature can be calculated by the formula (16)
from M. M. Schulreich and D. Breitschwerdts article [5] :
From Eq.(21), if Y 1 is known so is 1 .
: If 2 ' is known so is Y 2 ' .
d2 r
dz2 Since 2-2 is a streamline then from isentropic relations and
dr 2
3/2
knowing that the flow is isentropic along any streamline i.e.
1 ( dz) s 2=s2 ' :
(0)
1 1
h2 (U 2 2 V2 2 ) h V 2
The mass conservation equation then becomes: 2 2 (0)
( u) (1 y) v 0
x y 1 2 1 1 1
(0) V h2 V 2 (U 2 2 V2 2 ) V 2 h V 2
i.e. 2 2 2 2 (0)
in dimensionless form.
Stream function in (x,y) is then such that :
It can be demonstrated that:
(1 y) v
x (0)
1 2 1 2 2 1 2 2 1
V V V2 V u2 C A AuA CuC yC yA
2 2 2 (0) 2 (0)
Then
2 C A
Hence, Eq.(24) can be approximated as : yC yA
AuA CuC ( 0 )
(0)
u
Consider a perfect gas with =1.4 and M = . (0)
From this, at the shock, the exact solution can be found with The result of this exact solution example in axisymmetric fow
the equation used in Maslens [1], using Rankine-Hugoniot is shown in Figure 8 at section VI of this paper.
conditions :
2 1
ps
1 2z 1 ( 0 )
1
s
1( 0 )
1/2
2z
us
1 2z (0)
s z( 0 )
V. PROGRAM DEVELOPED
The MATLAB code presented below is for the axisymmetric example with a shock shape assumed of r= 2 z at free stream
Mach Number and =1.4 The code was developed in a way that makes it easy to be adjusted for different shock shape
examples, because it only needs the sub-functions to be edited.
%==========================================================================
functionmaslen_axi
%==========================================================================
clearall;
closeall;
clc;
%==========================================================================
%flowdata
%==========================================================================
gamma=1.4;%Cp/Cv
Mach=5*10^10;%freestreamMachnumber
w=1;%w=1:axisymmetricflow
%w=0:planeflow
%==========================================================================
%definenumberofsolutionlines,ns,andnumberofpointsoneachline,np
%==========================================================================
ns=100;
np=200;
nsh=100;%numberofshockpoints
%==========================================================================
%initialisevectorsnondimensionalvariables
%==========================================================================
u=zeros(ns,np);%tangentialvelocity
p=zeros(ns,np);%pressure
rho=zeros(ns,np);%density
psi=zeros(ns,np);%streamfunction
beta=zeros(1,ns);%anglebeta
sin2b=zeros(1,ns);%squaredsineofbeta
cos2b=zeros(1,ns);%squaredcosineofbeta
zs=zeros(1,nsh);%shockshapezcoordinate
rs=zeros(1,nsh);%shockshapercoordinate
k=zeros(1,ns);%shockcurvature
y=zeros(ns,np);%
y2=zeros(ns,np);%bodyshapeycoordinate
x2=zeros(ns,np);%bodyshapexcoordinate
dn=zeros(ns,np);%
beta1=zeros(ns,np);%anglebetaatpoint1
p1=zeros(ns,np);%pressureatpoint1
rho1=zeros(ns,np);%densityatpoint1
%==========================================================================
%computeshockpointsforplotting
%==========================================================================
X0=0.01;
Xf=10;
foris=1:nsh
zs(is)=X0+(XfX0)*(is1)/(nsh1);
rs(is)=shock_eq(zs(is),1);
end
%==========================================================================
%computesolutionalongeachnormal
%==========================================================================
fori=1:ns
%======================================================================
%conditionsimmediatelybehindtheshock
%======================================================================
[beta(i)]=slope(zs(i));
cos2b(i)=(cos(beta(i)))^2;
sin2b(i)=(sin(beta(i)))^2;
u(i,1)=sqrt(cos2b(i));
r1=(gamma+1)*(Mach^2)*sin2b(i);
r2=(((gamma1)*(Mach^2)*sin2b(i))+2);
rho(i,1)=r1/r2;
sp=(2*gamma)*((Mach^2)*sin2b(i)1)/(gamma+1);
p(i,1)=(1+sp)/(gamma*Mach^2);
psi(i,1)=(rs(i)^(1+w))/(1+w);%streamfunctionnormalized
k(i)=curvat(zs(i));
y(i,1)=0;
x2(i,1)=zs(i);
y2(i,1)=rs(i);
%======================================================================
%computesolutionateachotherpoint
%======================================================================
forj=2:np
ifj==np
psi(i,j)=0;
else
psi(i,j)=psi(i,1)(j1)*(psi(i,1)/(np1));
end
p(i,j)=p(i,j1)+(u(i,1)*k(i)*(psi(i,j)psi(i,j1)))/((rs(i))^w);
x1=shock_eq(psi(i,j),0);
beta1(i,1)=beta(i);
[beta1(i,j)]=slope(x1);
s2b=(sin(beta1(i,j)))^2;
sp1=(2*gamma)*((Mach^2)*s2b1)/(gamma+1);
p1(i,1)=p(i,1);
p1(i,j)=(1+sp1)/(gamma*Mach^2);
rho1(i,1)=rho(i,1);
rho1(i,j)=((gamma+1)*(Mach^2)*s2b)/(((gamma1)*(Mach^2)*s2b)+2);
%h1=2*gamma*p1/((gamma1)*rho1);
%u1=sqrt(c2b);
h0=(2/((gamma1)*Mach^2))+1;%totalenthalpy
rho(i,j)=rho1(i,j)*(p(i,j)/p1(i,j))^(1/gamma);
hp=(2*gamma/(gamma1))*(p(i,j)/rho(i,j));
u(i,j)=((h0hp))^(1/2);
dn(i,j)=(2*(psi(i,j)psi(i,j1)))/(rho(i,j)*u(i,j)+rho(i,j1)*u(i,j1));
y(i,j)=y(i,j1)dn(i,j);
y2(i,j)=((rs(i))^2(2*u(i,1)*y(i,j)))^(0.5);
x2(i,j)=zs(i)+(rs(i)y2(i,j))*tan(beta(i));
end
end
%==========================================================================
%plotresults
%==========================================================================
ifw==1
%==========================================================================
%axisymmetricflow
%==========================================================================
figure(1)
holdon
contourf(x2,y2,p,100,'EdgeColor','none')
plot(zs,rs,'b',x2(:,np),y2(:,np),'r');
gridon
xlabel('Zcoordinate','FontSize',16);
ylabel('Rcoordinate','FontSize',16);
legend('pressureprofile','shockshape','body');
%==========================================================================
%pressureplotoverbody
%==========================================================================
figure(2)
plot(zs,p(:,np),'b');
set(gca,'FontSize',16)
xlabel('ZAXIS','FontSize',16);
ylabel('Pressureatthebody','FontSize',16)
end
ifw==0
%==========================================================================
%twodimensional(plane)flow
%==========================================================================
figure(1)
plot(zs,rs,'b',x2(:,np),y2(:,np),'r');
gridon
xlabel('Xcoordinate');
ylabel('Ycoordinate');
legend('shockwave','body');
%==========================================================================
%pressureplotoverbody
%==========================================================================
figure(2)
plot(zs,p(:,np),'b');
xlabel('XAXIS');
ylabel('Pressureatthebody');
end
%==========================================================================
%SUBFUNCTIONS
functionY=shock_eq(X,imark)
%==========================================================================
%shockequationY^2=X
%==========================================================================
ifimark==1
Y=sqrt(2*X);
end
ifimark==1
Y=(X^2)/2;
end
ifimark==0
Y=X;
end
return
%==========================================================================
%tan(beta)=dy/dx
%==========================================================================
function[beta]=slope(X)
beta=atan((2*X)^(0.5));
return
%==========================================================================
%shockcurvaturek
%==========================================================================
functionk=curvat(X)
dydx=(2*X)^(0.5);%firstderivativeofshockequation
d2ydx2=(1/((2*X)^(1.5)));%secondderivativeofshockequation
k=(abs(d2ydx2))/((1+(dydx)^2)^(1.5));
%Rs=k^1;
return
VI. RESULTS
The results are shown for several tests made to solve the
flow and body shape of different shock wave shapes stated
on the code in both two dimensional and axisymmetric flow.
The comparison of results is made, validating the accuracy
of this Maslens approximate approach.
solid unit sphere. A perfect monoatomic gas is assumed ( = 5/3). The (dimensionless) density profile shown is colour-coded, with red the high
analytical body prediction is represented by the red line. The bow shock and blue the low density. Example taken from [5].
wave is parametrized by r = (2.620 z)0.471 with w= 1. The
VII. CONCLUSIONS solution in the region behind the shock that is near the axis
The MATLAB code was validated by comparison with and the stagnation point.
the exact solution for the case of infinite free stream Mach location appropriately and repeating this process to
number. convergence.
Maslens method is currently an indirect method and for
future applications it should be extended to create a direct
method in which the body shape is prescribed and the ACKNOWLEDGMENTS
problem is iteratively solved by comparing a computed B. Schlottfeldt Maia thanks Kenneth Morgan for taking
body shape with the defined shape, adjusting the shock part as a supervisor in this research project and providing
There is also a uniformly valid extension that wasnt used in assistance from its start to finish.
this project and should be pursued to naturally provide the