From: vince@offshore.ai (Vincent Cate)
Newsgroups: sci.space.tech
Subject: Re: Basci question about rocket shapes.
References: <80d892ce.0305160624.92479a0@posting.google.com> <6eaa11b1.0305241211.4b98df4c@posting.google.com>
NNTP-Posting-Host: 209.88.68.230
henry@spsystems.net (Henry Spencer) wrote in message news:...
> In article <6eaa11b1.0305241211.4b98df4c@posting.google.com>,
> Ian Woollard wrote:
> >Clearly the more nearly spherical your structure is the better the
> >mass efficiency would be.
>
> With metals, ignoring intertanks etc., yes. With composites, a cylinder
> is just as mass-efficient as a sphere.
I had always thought spherical was more efficient but when I wrote some
code to look at the mass of pressure tanks I found they were the same
mass for the same volume and pressure. It is true that for the same
radius a cylinder is twice as thick, but that is not the whole story.
I added pressure tank mass calculation to my "rocket equation" applet.
Sample inputs for tank mass are at the end. You can run it at:
http://www.spacetethers.com/rocketequation.html
The tank is assumed to be a half sphere at each end of a cylinder.
I seem to get about the same tank mass for the same volume tank and
pressure no matter how long the cylinder section is (0 on up). Compare
sample runs of "cylinder", "sphere", and "combo".
If either a metal or a composite did not work for these formulas, I would
have guessed a wound composite since it can have more strength in one
direction. Are you sure it is not the other way?
The relevant part of my code is below (full code is on my site).
Basically I imagine cutting a cylinder in half lengthwise and figure
out how much force there is how thick the material needs to be. Same
with a sphere. I get that the cylinder needs to be twice as thick as
the sphere of the same radius (which I remember from school).
This does make approximations that assume the tank walls are thin
compared to other dimensions. It is also assuming that the
pressure is about the same everywhere inside the tank. For a tall
rocket under several Gs acceleration, this is not true. Because of
this a sphere will have an advantage. Is this the only advantage a
sphere has? For real pressures and heights, how big a deal is this?
Do they make rocket tanks thicker at the bottom?
If anyone finds any errors in the code below, please let me know.
-- Vince
private void outputTank(double TankPSI, double TankMegaPascals,
double TankGramsPerCC, double TankRadiusMeters,
double TankCylinderMeters) throws Exception {
double PI = java.lang.Math.PI;
double PSItoMetric = 6894.757;
double Pressure = TankPSI * PSItoMetric;
double TankDiameter = 2 * TankRadiusMeters;
double GramsPerCCtoKgPerMeter2 = 1000000/1000;
double Density = TankGramsPerCC * GramsPerCCtoKgPerMeter2;
double Rsquared = TankRadiusMeters * TankRadiusMeters;
double Rcubed = Rsquared * TankRadiusMeters;
double Pascals = TankMegaPascals * 1000000;
double SplitCylinderArea = TankCylinderMeters * TankDiameter;
double SplitCylinderForce = Pressure * SplitCylinderArea;
double CylinderSplitLine = 2 * TankCylinderMeters;
double CylinderThickness = SplitCylinderForce /
(CylinderSplitLine * Pascals);
double CylinderArea = PI * TankDiameter * TankCylinderMeters;
double CylinderMass = CylinderThickness * CylinderArea * Density;
double CylinderVolume = PI * Rsquared * TankCylinderMeters;
if (TankCylinderMeters <= 0) {
CylinderThickness=0;
CylinderMass=0;
CylinderVolume=0;
}
double SplitSphereArea = PI * Rsquared;
double SplitSphereForce = Pressure * SplitSphereArea;
double SphereSplitLine = PI * TankDiameter;
double SphereThickness = SplitSphereForce /
(SphereSplitLine * Pascals);
double SphereArea = 4 * PI * Rsquared; // both halves
double SphereMass = SphereThickness * SphereArea * Density;
double TotalMass = CylinderMass + SphereMass;
double SphereVolume = 4/3 * PI * Rcubed;
double TankVolume = SphereVolume + CylinderVolume;
double TankGallons = TankVolume * 264.172048;
MyPrint("CylinderThickness in cm ", CylinderThickness*100);
MyPrint("SphereThickness in cm ", SphereThickness*100);
MyPrint("CylinderMass in Kg ", CylinderMass);
MyPrint("SphereMass in Kg ", SphereMass);
MyPrint("Total mass in Kg ", TotalMass);
MyPrint("Mass in pounds ", TotalMass * 2.2046);
MyPrint("TankVolume in meters cubed ", TankVolume);
MyPrint("TankVolume in US liquid gallons ", TankGallons);
}