Question

Reference of Book title: Fundamentals of Aerodynamics, Fifth Edition by John D. Anderson, Jr.

section, 3.17, with example, 3.19. i want the solution of this question and its subquestions, professor say, you can use matalb code as well to give answer of these questions.

# Obtain the Cp distribution along the surface of a NACA0012 airfoil at 0° angle of attack with constant-strength source panel method (Refer to Section 3.17 and Example 3.19) Fig. 1 NACA 0012 e) Explain the procedure to solvethis problem in detail 2ps) (b) Obtain the source strength, λ, for each panel. (20pts) (c) Explain how you check the accuracy of the source strength obtained above. (10pts) (d) Plot the Cp distribution along the surface: Cp vs. x/c. (30pts) (e) Explain the meaning of the Cp distribution obtained above. (20pts)

0 0
Add a comment Improve this question Transcribed image text
Answer #1

package com;
import java.util.ArrayList;

public class ArrayWithExponentAsIndexPolynomial implements PolynomialInterface

{

int polynomial[];

int highExp;

ArrayWithExponentAsIndexPolynomial()

{

polynomial=new int[200];

}

ArrayWithExponentAsIndexPolynomial(String pol)

{

polynomial=new int[200];

highExp=0;

int co=0;//Coefficient

int exp=0;//exponent

//Convert the polynomial string into linked list of polynomial terms

for(int i=0;i<pol.length();i++)

{

co=0;

exp=0;

//Find coefficient

while(pol.charAt(i)!='x' && pol.charAt(i)!='X' )

{

if(pol.charAt(i)=='-')

{

i++;

while(i<pol.length())

{

if(pol.charAt(i)!='x' && pol.charAt(i)!='X' )

{

String sub=pol.substring(i,i+1);

co=co*10+Integer.parseInt(sub);

}

else

break;

i++;

}

co=co*-1;

}

else if (pol.charAt(i)=='+')

{

i++;

}

else

{

String sub=pol.substring(i,i+1);

co=co*10+Integer.parseInt(sub);

i++;

}

if(i>=pol.length())

break;

}

i++;//skip x

if(i==pol.length())

{

if(pol.charAt(i-1)=='x' || pol.charAt(i-1)=='X')

exp=1;

}

i++;//skip ^

if(i<pol.length())

while(pol.charAt(i)!='-' && pol.charAt(i)!='+' )

{

String sub=pol.substring(i,i+1);

exp=exp*10+Integer.parseInt(sub);

i++;

if(i>=pol.length())

break;

}

if(highExp<exp)

highExp=exp;

addATerm(exp,co);

i--;

}

}

// stores the coefficient at index(exp)

void addATerm(int exp,int co)

{

// store the coefficient at index(exp)

polynomial[exp]=co;

}

int getHigh()

{

return highExp;

}

@Override

//Adds two polynomials and returns the resultant polynomial

public PolynomialInterface add(PolynomialInterface other)

{

int high;

ArrayWithExponentAsIndexPolynomial temp=new ArrayWithExponentAsIndexPolynomial();

ArrayWithExponentAsIndexPolynomial otherPoly=(ArrayWithExponentAsIndexPolynomial)other;

if(this.getHigh()<otherPoly.getHigh())

{

high=otherPoly.getHigh();

temp.highExp=otherPoly.getHigh();

}

else

{

high=this.getHigh();

temp.highExp=this.getHigh();

}

for(int i=0;i<=high;i++)

{

if(this.polynomial[i]!=0 && otherPoly.polynomial[i]!=0)

{

temp.polynomial[i]=this.polynomial[i]+otherPoly.polynomial[i];

}

else if (this.polynomial[i]==0 && otherPoly.polynomial[i]!=0)

{

temp.polynomial[i]=otherPoly.polynomial[i];

}

else if (this.polynomial[i]!=0 && otherPoly.polynomial[i]==0)

{

temp.polynomial[i]=this.polynomial[i];

}

}

return temp;

}

@Override

//Substracts one polynomial from another and returns the resultant polynomial

public PolynomialInterface subtract(PolynomialInterface other)

{

int high;

ArrayWithExponentAsIndexPolynomial temp=new ArrayWithExponentAsIndexPolynomial();

ArrayWithExponentAsIndexPolynomial otherPoly=(ArrayWithExponentAsIndexPolynomial)other;

if(this.getHigh()<otherPoly.getHigh())

{

high=otherPoly.getHigh();

temp.highExp=otherPoly.getHigh();

}

else

{

high=this.getHigh();

temp.highExp=this.getHigh();

}

for(int i=0;i<=high;i++)

{

if(this.polynomial[i]!=0 && otherPoly.polynomial[i]!=0)

{

temp.polynomial[i]=this.polynomial[i]-otherPoly.polynomial[i];

}

else if (this.polynomial[i]==0 && otherPoly.polynomial[i]!=0)

{

temp.polynomial[i]=0-otherPoly.polynomial[i];

}

else if (this.polynomial[i]!=0 && otherPoly.polynomial[i]==0)

{

temp.polynomial[i]=this.polynomial[i];

}

}

return temp;

}

public String toString()

{

String poly="";

//Convert the linked list into polynomial string

for(int i=this.getHigh();i>=0;i--)

{

if(polynomial[i]!=0)

{

if(i==1)

{

if(polynomial[i]<0)

poly=poly+"-"+polynomial[i]*-1+"x";

else

poly=poly+polynomial[i]+"x";

}

else if(i!=0)

{

if(polynomial[i]<0)

poly=poly+"-"+polynomial[i]*-1+"x^"+i;

else

{

if(i!=this.getHigh())

poly=poly+"+"+polynomial[i]+"x^"+i;

else

poly=poly+polynomial[i]+"x^"+i;

}

}

else

{

if(polynomial[i]<0)

poly=poly+"-"+polynomial[i]*-1;

else

poly=poly+"+"+polynomial[i];

}

}

}

return poly;

}


}

Add a comment
Know the answer?
Add Answer to:
Reference of Book title: Fundamentals of Aerodynamics, Fifth Edition by John D. Anderson, Jr. section, 3.17,...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT