Welcome to the COE Discussion Forum! 

 

To participate in the discussion forum, you must be logged in to the website.  If you forget your login information, please contact COE Headquarters at coe@coe.org or (800) 263-2255.

If you are new to the COE Discussion Forum and would like to participate, please register.


Forum Highlight: CATIA V6

 

Get Answers to Your V6 Questions
Dassault Systèmes answers user questions about CATIA V6.  Discuss these answers and propose new questions with end users from around the world in the CATIA V6 Forum.

COE DISCUSSION FORUM
Subject: Airfoil Generation

You are not authorized to post a reply.   
Author Messages
TPARKER

29 Aug 2008 01:51 PM

Hi,

In order to help our student design teams and for a project for the freshman, I've been working on a parameterized part file, that can be modified from a table to allow for a large variety of aircraft with a small amount of user input. The airfoils have been presenting problems. The best solution I've come up with so far is to parameterize each point, with respect to chord line, thickness, etc as appropriate, then make them into power copies. Once produced, using them is quick and painless. The problem with this is that it's very time consuming to write two formulas for each point on the airfoil, and as a result, my available catalog of airfoils is rather small. There has to be a better way. I've thought of having it source the point coordinates from a design table, but that would require each airfoil data set to have the same number of points, which isn't always possible or adequate. Can anyone in the industry tell me how their company does it? Any additional ideas or suggestions would be very much appreciated. Thank you.

-Trevor


Trevor Parker
Graduate Teaching Assistant
Aerospace Engineering
Mississippi State University
CLIFFJOHNSON


02 Sep 2008 08:24 AM

One way to attack this is to use a fog law to define your equation, then use a loop to create the points.

One reason fog laws are cool is that you can define discontinuous functions.

For example, a fog law defining the camber line for a NACA 4 digit series airfoil looks like this:

Formal Real parameters are x and y

Real parameters in the tree are P_Law and M_Law

the body of the law is:

if ( x <= P_Law )
{
   
     y =   (M_Law /(P_Law **2)) * ( 2 * P_Law   * x - x**2)
}
else
{
   
     y = (M_Law / ((1 - P_Law ) ** 2)) * (( 1 -(2 *P_Law ) ) + (2 * P_Law  * x) - x**2)
}

This describe the curve you want. To create the points you can use a KWA loop.

One input to the loop is your fog law, here locally named MCL.

A second input is LawStep which is the step in x along the chord line.

the body of the loop is:


Point_$i$ isa GSMPoint
{
    PointType = 0;
    TypeObject isa GSMPointCoord
    {
        X = $i$ * LawStep * 1in;
        Y = MCL.Evaluate($i$ * LawStep) * 1in;
        Z = 0in;
    }
}

Which generates all the points with all the formulas in one shot.

 

Finally a spline can be generated through all the points by starting with a Parameter Curve (f(x) tool -> Add new parameter of type curve) and assigning the formula:

spline(CamberPoints->Query("GSMPoint","" ) )

 

I am not sure my fog law is actually correct but the results look right.  I got the formula from here:  www.aerospaceweb.org/question/airfoils/q0041.shtml

I attach my experiment for your reference.

 

 

 

 


Attachment: 192243265223.zip

knowledgeds

02 Sep 2008 08:28 AM
Better use a Knowledge Pattern to create the points. Loops are no more supported in CATIA V6 release.

In the first post I don't understand why using a table implies that each airfoil data set contains the same number of points?
TPARKER

02 Sep 2008 09:20 AM

CliffJohnson,

Thanks for your reply. I had tried the law curves before, and couldn't get it to work. I'll give it another shot. Ultimately though, most airfoils do not have defining equations.

 

knowledgeds,

Correct me if I'm wrong, but in order to use a design table, the points would already have to be defined in a sketch, with parameters relating their x and y coordinates. For example, the nth point would have a (xn*c,yn*c) value, with c being the chord line, and x&y being the distance for a unit airfoil. The x&y values from 0 to n would be parsed from the table, but there would be a fixed number of points available in the sketch. If an airfoil has fewer points, some points in the sketch will have zeros, which will impact the spline. If it has more, it won't be fully defined.

Thanks for your help

-Trevor


Trevor Parker
Graduate Teaching Assistant
Aerospace Engineering
Mississippi State University
knowledgeds

02 Sep 2008 09:29 AM
Knowledge objects offers generative solutions also.

For example, use a Knowledge Pattern that reads cells of a design table and create points while those cells are not empty (it is pseudo code, here):

let i (integer)
let p (Point)

i = 1
/* replace designtable by your design table path */
/* i + 1 because of the design table column title that uses the first row */
for i while designtable->CellAsString(i + 1, 1) <> ""
{
/* patternList is a ... pattern list */
set p = CreateOrModifyDatum("Point", patternList, i)
p = point(designtable->CellAsReal(i + 1, 1) * 1mm, designtable->CellAsReal(i + 1, 2) * 1mm, designtable->CellAsReal(i + 1, 3) * 1mm)
}

/* now we have as many points as non empty lines in the excel file. Those points are referred by the patternList. if the table is modified, the next pattern execution will take it into account (it can delete obsolete points, create new ones, and modify those whose row have been modified */
TPARKER

03 Sep 2008 11:33 AM

knowledgeds,

Thanks, I'll give that a try.  Is it possible to then parametrically modify that pattern? For it to really be useful, it would need to parameterize each point with respect to the chord line, so that once the airfoil is in Catia, it can be modified in context with respect to changes in chord line, thickness, etc as appropriate.


Trevor Parker
Graduate Teaching Assistant
Aerospace Engineering
Mississippi State University
knowledgeds

04 Sep 2008 03:47 AM
The Knowledge Patterns are actually "Generative rules". They are close to Advisor rules but provide additionnally generated objects life cycle management and have a specific update process.

The code they contain specify the way the generation has to be performed. All parameters and objects used in this code impact the pattern, so if a parameter or an object is modified, the pattern becomes out of date. Its execution (manual or automatic) so takes into account those modifications.
You are not authorized to post a reply.
Forums > COE Forums > KBE > Airfoil Generation



ActiveForums 3.6

    

401 North Michigan Avenue, Chicago, IL 60611-4267 | (312) 321-5153 | (800) COE-CALL (U.S.)