# How To Calculate Center Of Pressure (SolidWorks)

### Help Support The Rocketry Forum:

#### Gip-Gip

##### Member
From the NASA website:

Mechanically determining cp

For a model rocket, there is a simple mechanical way to determine the center of pressure for each component or for the entire rocket. Make a two dimensional tracing of the shape of the component, or rocket, on a piece of cardboard and cut out the shape. Hang the cut out shape by a string, and determine the point at which it balances. This is just like balancing a pencil with a string! The point at which the component, or rocket, is balanced is the center of pressure. You obviously could not use this procedure for a very large rocket like the Space Shuttle. But it works quite well for a model.
Sounds similar to finding the center of gravity right?

Essentially what I do is perform a "3d cutout" of the rocket I modeled (without any internal features) and use SolidWorks' mass properties to find the COG of that cutout. Pretty simple, huh?

#### mikec

##### Well-Known Member
I've always heard that the CP computed this way is much more conservative than Barrowman. A comparison would be interesting.

#### Nytrunner

##### Pop lugs, not drugs
Essentially what I do is perform a "3d cutout" of the rocket I modeled (without any internal features) and use SolidWorks' mass properties to find the COG of that cutout. Pretty simple, huh?
No you are finding the center of gravity of a solid round, not the lateral center of aerodynamic pressure. The cardboard cutout method is a drastic simplification for school children. Until you compare that solid CG position with calculated CP results from the barrowman equations, or use a simulation program (rocsim, openrocket, rasaero II), I would suspect that location as inaccurate.

CP is the point where the resultant forces from pressure and shear distributions of the airflow over the rocket. It has no relation to mass distribution. The cardboard cutout method used a simple approximation of a thin outline to lateral cross section.

#### Gip-Gip

##### Member
No you are finding the center of gravity of a solid round, not the lateral center of aerodynamic pressure. The cardboard cutout method is a drastic simplification for school children. Until you compare that solid CG position with calculated CP results from the barrowman equations, or use a simulation program (rocsim, openrocket, rasaero II), I would suspect that location as inaccurate.

CP is the point where the resultant forces from pressure and shear distributions of the airflow over the rocket. It has no relation to mass distribution. The cardboard cutout method used a simple approximation of a thin outline to lateral cross section.
I plugged all the values into a python script and did the math, Barrowman's gives me a CP of 86.08mm from the cone while my method gives a CP 80.07mm from the nosecone. I was wishing for it to be a little closer but all things considered, it's not that terribly off

Granted, now I have a Barrowman's python script calculator so I don't have to do the math all the time now, so that's somewhat of a plus

Here's the script if you want to make fun of it/use it

Python:
import math

LN = 9.00
d = 18.00
dF = 18.00
dR = 22.00
LT = 2.00
XP = 39.00
CR = 36.02
CT = 21.09
S = 14.29
LF = 15.97
XR = 13.98
XB = 104.00
R = 11.00
N = 4.00
CNN = 2.00
XN = 0.666

CNT = 2 * ((dR/d)**2-(dF/d))
XT = XP + (LT/3) * (1 + (1-dF/dR)/(1-dF/dR)**2)
CNF = (1 + R/(S+R)) * ((4 * N * (S / d) ** 2) / (1 + math.sqrt(1 + ((2*LF)/(CR + CT))**2)))
XF = XB + (XR/3)*((CR+2*CT)/(CR+CT)) + (1/6)*((CR+CT)-((CR * CT)/(CR + CT)))
CNR = CNN + CNT + CNF
X = (CNN * XN + CNT * XT + CNF * XF)/CNR

print(CNT)
print(XT)
print(CNF)
print(XF)
print(CNR)
print(X)

#### Nytrunner

##### Pop lugs, not drugs
I plugged all the values into a python script and did the math
Excellent start. A good follow-on would be to tweak it so the dimensional variables are inputs that call to the user.
Like:
*query component (user enters NC, BT, Fin, Trans, etc...)
*queries parameters (prompts variables for user to enter)
*queries next component or finished

Basically a text based version of openrocket (except without the motor selection)