Advanced Question Aerodynamic Stability

Hlynkacg

Aspiring rocket scientist
Addon Developer
Tutorial Publisher
Donator
Joined
Dec 27, 2010
Messages
1,870
Reaction score
3
Points
0
Location
San Diego
Ok, I've been beating my head against this problem for 5 days no and it's time to ask for help.

I'm working on modeling blunt body reentry vehicle. To do this I have defined the capsule's heatshield as a airfoil in orbiter using a similar method to FrancisDrake's here.

Now as my capsule slows down from super sonic to subsonic it wants to tumble.

That's ok it's supposed to do that.

The problem is what comes next. To prevent the capsule from tumbling, and keep the heatshield oriented towards the direction of travel/airflow the capsule deploys a drogue chute. This chute should pull the nose of the capsule towards the vector of drag but it does not.

Initially I had the drogue defined as a variable drag element. This worked to slow the capsule down but did nothing to stabilize the capsule's orientation.

As such I decided to try using the "Addforce" function, but rather than decreasing the tumble it has exacerbated it.

picture.php


^ NOT SUPPOSED TO HAPPEN ^

What I need is some why something similar to the Pitch and Yaw moments of the legacy flight models that will allow me to but I can't use those without invalidating my existing flight model.

Ideally I want the capsule to naturally settle into an attitude where it is "Hanging" from it's chutes with the line between the CoM and Chute attachment point parallel to the vector of drag, but so far I have been at a loss to do this without cheating (SetRotationMatrix()).

My current addforce function is shown below.

Code:
	if (Drogue_Deployed)
	{
		VECTOR3 airstream;
		GetShipAirspeedVector (airstream);
		
		double rho	= GetAtmDensity ();					// density of air = [kg/m3]  
		double v	= GetAirspeed ();					// velocity [m/s]
		double Cd	= 1.5;								// drag coefficient of chute *estimated*
		double A	= CHUTE_DROGUE_CS;					// cross section of chute [m^2]
		double Drag	= 0.5 * rho * pow (v, 2) * Cd * A;	// force exerted by chute [n]

		VECTOR3 chuteforce = -airstream;
		normalise (chuteforce);
		chuteforce = chuteforce * Drag;
		
		AddForce (chuteforce, CHUTE_ATTACHPOINT);
	}
 

francisdrake

Addon Developer
Addon Developer
Joined
Mar 23, 2008
Messages
1,086
Reaction score
903
Points
128
Website
francisdrakex.deviantart.com
Maybe you could play around with the CHUTE-ATTACHPOINT location. Actually it should be located where the chute is, because the force acts there, not where the ropes are attached to the capsule.

B.t.w. I am not quite sure if the supersonic drogue produces drag according to the Bernoulli law, which is for incompressible media.
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,696
Reaction score
1,355
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
And NTRS is still down...
 

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
I think you'll need to add a dampening to the aerodynamics function you created by invoking the moment coefficient that it asks you to calculate.

Instead of just increasing it with angle of attack, you should pass the correct angular velocity component to the function using context parameter. That way you can include a moment that is also based on angular velocity and add it to that you get from angle deflection.
 
Top