<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Aerodynamic_potential-flow_code</id>
	<title>Aerodynamic potential-flow code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Aerodynamic_potential-flow_code"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Aerodynamic_potential-flow_code&amp;action=history"/>
	<updated>2026-04-23T22:29:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Aerodynamic_potential-flow_code&amp;diff=6752007&amp;oldid=prev</id>
		<title>129.123.61.137: /* Potential flow software */  Added USU AeroLab link.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Aerodynamic_potential-flow_code&amp;diff=6752007&amp;oldid=prev"/>
		<updated>2022-09-13T20:59:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Potential flow software: &lt;/span&gt;  Added USU AeroLab link.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[fluid dynamics]], &amp;#039;&amp;#039;&amp;#039;aerodynamic potential flow codes&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;panel codes&amp;#039;&amp;#039;&amp;#039; are used to determine the fluid velocity, and subsequently the pressure distribution, on an object.  This may be a simple two-dimensional object, such as a circle or wing, or it may be a three-dimensional vehicle.&lt;br /&gt;
&lt;br /&gt;
A series of singularities as sources, sinks, vortex points and [[doublet (potential flow)|doublets]] are used to model the panels and wakes.  These codes may be valid at subsonic and supersonic speeds.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
Early panel codes were developed in the late 1960s to early 1970s.  Advanced panel codes, such as Panair (developed by [[Boeing]]), were first introduced in the late 1970s, and gained popularity as computing speed increased.  Over time, panel codes were replaced with higher order panel methods and subsequently CFD ([[Computational Fluid Dynamics]]).  However, panel codes are still used for preliminary aerodynamic analysis as the time required for an analysis run is significantly less due to a decreased number of elements.&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
These are the various assumptions that go into developing potential flow panel methods:&lt;br /&gt;
* [[Inviscid flow|Inviscid]]&lt;br /&gt;
* [[Incompressible flow|Incompressible]] &amp;lt;math&amp;gt; \nabla \cdot V=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
* Irrotational &amp;lt;math&amp;gt;\nabla \times V=0&amp;lt;/math&amp;gt;&lt;br /&gt;
* [[Steady state|Steady]] &amp;lt;math&amp;gt; \frac{\partial}{\partial t}=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, the incompressible flow assumption may be removed from the potential flow derivation leaving: &lt;br /&gt;
* Potential flow (inviscid, irrotational, steady) &amp;lt;math&amp;gt;\nabla^2 \phi=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Derivation of panel method solution to potential flow problem ==&lt;br /&gt;
* From Small Disturbances&lt;br /&gt;
:&amp;lt;math&amp;gt; (1-M_\infty^2) \phi_{xx} + \phi_{yy} + \phi_{zz} = 0 &amp;lt;/math&amp;gt; (subsonic)&lt;br /&gt;
&lt;br /&gt;
* From [[Divergence theorem|Divergence Theorem]]&lt;br /&gt;
:&amp;lt;math&amp;gt;\iiint\limits_V\left(\nabla\cdot\mathbf{F}\right)dV=\iint\limits_{S}\mathbf{F}\cdot\mathbf{n}\, dS&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Let Velocity U be a twice continuously differentiable function in a region of volume V in space.  This function is the stream function &amp;lt;math&amp;gt; \phi &amp;lt;/math&amp;gt;.&lt;br /&gt;
* Let P be a point in the volume V&lt;br /&gt;
* Let S be the surface boundary of the volume V.&lt;br /&gt;
* Let Q be a point on the surface S, and &amp;lt;math&amp;gt; R = |P-Q|&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
As Q goes from inside V to the surface of V, &lt;br /&gt;
* Therefore:&lt;br /&gt;
:&amp;lt;math&amp;gt;U_p= -\frac{1} {4 \pi} \iiint\limits_V\left(\frac{\nabla^2\cdot\mathbf{U}}{R}\right) dV_Q&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;   -\frac{1} {4 \pi} \iint\limits_S\left(\frac{\mathbf{n}\cdot \nabla \mathbf{U}  }{R}\right) dS_Q&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;   +\frac{1} {4 \pi} \iint\limits_S\left(\mathbf{U}\mathbf{n} \cdot\nabla \frac{1}{R}\right) dS_Q&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For :&amp;lt;math&amp;gt;\nabla^2 \phi=0&amp;lt;/math&amp;gt;, where the surface normal points inwards.&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi_p = -\frac{1} {4 \pi} \iint\limits_S\left(\mathbf{n} \frac{  \nabla \phi_{U} - \nabla \phi_{L}}{R} - \mathbf{n} \left( \phi_{U} - \phi_{L}\right) \nabla \frac{1}{R} \right) dS_Q&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This equation can be broken down into both a source term and a doublet term.&lt;br /&gt;
&lt;br /&gt;
The Source Strength at an arbitrary point Q is:&lt;br /&gt;
:&amp;lt;math&amp;gt; \sigma = \nabla \mathbf{n} (\nabla \phi_U-\nabla \phi_L )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Doublet Strength at an arbitrary point Q is:&lt;br /&gt;
:&amp;lt;math&amp;gt; \mu =\phi_U - \phi_L &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The simplified potential flow equation is:&lt;br /&gt;
:&amp;lt;math&amp;gt;\phi_p = -\frac{1} {4 \pi} \iint\limits_S\left(\frac{\sigma}{R} - \mu \cdot \mathbf{n}  \cdot \nabla \frac{1}{R} \right) dS&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this equation, along with applicable boundary conditions, the potential flow problem may be solved.&lt;br /&gt;
&lt;br /&gt;
== Required boundary conditions ==&lt;br /&gt;
The velocity potential on the internal surface and all points inside V (or on the lower surface S) is 0.&lt;br /&gt;
:&amp;lt;math&amp;gt; \phi_L = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Doublet Strength is:&lt;br /&gt;
:&amp;lt;math&amp;gt; \mu =\phi_U - \phi_L &amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt; \mu = \phi_U  &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The velocity potential on the outer surface is normal to the surface and is equal to the freestream velocity.&lt;br /&gt;
:&amp;lt;math&amp;gt; \phi_U = -V_\infty \cdot \mathbf{n} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These basic equations are satisfied when the geometry is a &amp;#039;watertight&amp;#039; geometry.  If it is watertight, it is a well-posed problem.  If it is not, it is an ill-posed problem.&lt;br /&gt;
&lt;br /&gt;
== Discretization of potential flow equation ==&lt;br /&gt;
The potential flow equation with well-posed boundary conditions applied is:&lt;br /&gt;
:&amp;lt;math&amp;gt;\mu_P = \frac{1} {4 \pi} \iint\limits_S\left(\frac{V_\infty \cdot \mathbf{n}}{R}  \right) dS_U + \frac{1} {4 \pi} \iint\limits_S\left(\mu \cdot \mathbf{n}  \cdot \nabla \frac{1}{R} \right) dS&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Note that the &amp;lt;math&amp;gt; dS_U &amp;lt;/math&amp;gt; integration term is evaluated only on the upper surface, while th &amp;lt;math&amp;gt;dS&amp;lt;/math&amp;gt; integral term is evaluated on the upper and lower surfaces.&lt;br /&gt;
&lt;br /&gt;
The continuous surface S may now be discretized into discrete panels.  These panels will approximate the shape of the actual surface.  This value of the various source and doublet terms may be evaluated at a convenient point (such as the centroid of the panel).  Some assumed distribution of the source and doublet strengths (typically constant or linear) are used at points other than the centroid.  A single source term s of unknown strength &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; and a single doublet term m of unknown strength &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt; are defined at a given point.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;\sigma_Q = \sum_{i=1}^n \lambda_i s_i(Q)=0&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;\mu_Q = \sum_{i=1}^n \lambda_i m_i(Q)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where:&lt;br /&gt;
:&amp;lt;math&amp;gt;s_i = ln(r)&amp;lt;/math&amp;gt;&lt;br /&gt;
:&amp;lt;math&amp;gt;m_i = &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These terms can be used to create a system of linear equations which can be solved for all the unknown values of &amp;lt;math&amp;gt;\lambda&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Methods for discretizing panels ==&lt;br /&gt;
* constant strength - simple, large number of panels required&lt;br /&gt;
* linear varying strength - reasonable answer, little difficulty in creating well-posed problems&lt;br /&gt;
* quadratic varying strength - accurate, more difficult to create a well-posed problem&lt;br /&gt;
&lt;br /&gt;
Some techniques are commonly used to model surfaces.&amp;lt;ref&amp;gt;Section 7.6&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Body Thickness by line sources&lt;br /&gt;
* Body Lift by line doublets&lt;br /&gt;
* Wing Thickness by constant source panels&lt;br /&gt;
* Wing Lift by constant pressure panels&lt;br /&gt;
* Wing-Body Interface by constant pressure panels&lt;br /&gt;
&lt;br /&gt;
== Methods of determining pressure ==&lt;br /&gt;
Once the Velocity at every point is determined, the pressure can be determined by using one of the following formulas.  All various [[Pressure coefficient]] methods produce results that are similar and are commonly used to identify regions where the results are invalid.&lt;br /&gt;
&lt;br /&gt;
Pressure Coefficient is defined as:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = \frac{p-p_\infty}{q_\infty}=\frac{p-p_\infty}{\frac{1}{2} \rho_\infty V_\infty^2} = \frac{p-p_\infty}{\frac{\gamma}{2}  p_\infty M_\infty^2 }&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Isentropic Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = \frac{2} {\gamma M_\infty^2} \left( \left(1+\frac{\gamma-1} {2} M_\infty^2 \left[\frac{1-|\vec{V}|^2}{|\vec{V_\infty}|^2}\right]\right)^{ \frac{\gamma}{\gamma-1} } -1   \right) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Incompressible Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = 1 - \frac{|\vec{V}|^2}{|\vec{V_\infty}|^2} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Second Order Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = 1-|\vec{V}|^2 + M_\infty^2 u^2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Slender Body Theory Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = -(2u +v^2 +w^2) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Linear Theory Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = -2u &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Reduced Second Order Pressure Coefficient is:&lt;br /&gt;
:&amp;lt;math&amp;gt;C_p = 1-|\vec{V}|^2 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What panel methods cannot do ==&lt;br /&gt;
&lt;br /&gt;
*Panel methods are inviscid solutions. You will not capture viscous effects except via user &amp;quot;modeling&amp;quot; by changing the geometry.&lt;br /&gt;
*Solutions are invalid as soon as the flow changes locally from subsonic to supersonic (i.e. the critical Mach number has been exceeded) or vice versa.&lt;br /&gt;
&lt;br /&gt;
== Potential flow software ==&lt;br /&gt;
{{See also|Computational fluid dynamics#Background and history}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;font-size:90%;&amp;quot; &lt;br /&gt;
! rowspan=2 | Name !! rowspan=2 | License !! rowspan=2 | Lan !! colspan=3 | Operating system !! rowspan=2 | Geometry import !! colspan=3 | Meshing !! rowspan=2 | Body Representation !! rowspan=2 | Wake model !! rowspan=2 | Developer&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux]] || [[OS X]] || [[Microsoft Windows]] || Structured || Unstructured || Hybrid&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.aeolus-aero.com Aeolus ASP]|| {{proprietary}} || Java / [[Fortran]] || {{yes}} || || {{yes}} || || {{yes}} || || || Quadrilaterals|| || [http://www.aeolus-aero.com Aeolus Aero Sketch Pad]&lt;br /&gt;
|-&lt;br /&gt;
| CMARC      || {{proprietary}} || [[C (programming language)|C]] || {{yes}} || || {{yes}} || || || || || || || {{URL|http://www.aerologic.com/cmarc.html|Homepage}}, AeroLogic, based on PMARC-12&lt;br /&gt;
|-&lt;br /&gt;
| DesignFOIL || {{proprietary}} || || {{no|[[Wine (software)|Wine]]}} || || {{yes}} || || || || || || || {{URL|http://www.dreesecode.com/}}, DreeseCode Software LLC&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.researchinflight.com/products.html FlightStream] || {{proprietary}} || Fortran / C++ || || || {{yes}} || CAD, Discrete || || {{Yes}} || {{Yes}} || Solids || || [http://www.researchinflight.com Research in Flight Company] &lt;br /&gt;
|-&lt;br /&gt;
| HESS       || {{proprietary}} || || || || || || || || || || || [[Douglas Aircraft Company]]&lt;br /&gt;
|-&lt;br /&gt;
| LinAir    || {{proprietary}} || || {{yes}} || || || || || || || || || [[Desktop Aeronautics]]&lt;br /&gt;
|-&lt;br /&gt;
| MACAERO   || {{proprietary}} || || || || || || || || || || || [[McDonnell Aircraft]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.flowsol.co.uk/products/newpan NEWPAN] || {{proprietary}} || [[C++]] || {{yes}} || || || || {{yes}} || {{yes}} || || || || [http://www.flowsol.co.uk Flow Solutions Ltd.]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.openvogel.org Tucan] || {{free|[[GPLv3]]}} || [[VB.NET]]/[[C Sharp (programming language)|C#.NET]] || {{yes}} (Console) || || {{yes}} || STL || {{yes}}|| || || Quadrilaterals &amp;amp; triangles || Free || G. Hazebrouck &amp;amp; contributors&lt;br /&gt;
|-&lt;br /&gt;
| [[QBlade]] || {{free|[[GPLv2]]}} || [[C (programming language)|C]]/[[C++]] || {{yes}} || ||   || || || || || || || [[Technical University of Berlin|TU Berlin]]&lt;br /&gt;
|- &lt;br /&gt;
| Quadpan    || {{proprietary}} || |||| || || || || || || || || [[Lockheed Corporation|Lockheed]]&lt;br /&gt;
|-&lt;br /&gt;
| PanAir a502 || {{free|[[Public domain software]]}} || [[Fortran]] || {{yes}} || {{yes}} || {{yes}} || || || || || || || {{URL|http://www.pdas.com/panair.html|Homepage}}, [[Boeing]]?&lt;br /&gt;
|-&lt;br /&gt;
| [https://www.meil.pw.edu.pl/add/ADD/Teaching/Software/PANUKL PANUKL] || {{proprietary|[[freeware]]}} || [[C++]]/[[Fortran]] || {{yes}} || || {{yes}} || NX - partially || {{yes}} || || || Quadrilaterals || || [[Warsaw University of Technology]], {{URL|https://www.meil.pw.edu.pl/add/ADD/Teaching/Software/PANUKL|PANUKL}} exports data to {{URL|https://www.meil.pw.edu.pl/add/ADD/Teaching/Software/SDSA|SDSA}} and to [[Calculix]] &lt;br /&gt;
|-&lt;br /&gt;
| PMARC       || {{URL|https://software.nasa.gov/software/ARC-14407-1|Free On Request}} || [[Fortran 77]] || {{yes|UNIX}} || {{yes}} || {{yes}} || || || || || || || [[NASA]], descendant of VSAERO&lt;br /&gt;
|-&lt;br /&gt;
| [[VSAero]]    || {{proprietary}} || || {{yes|UNIX}} || || || || || || || || || {{URL|https://starkaerospace.com/products-services/ami/software/|Homepage}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Vortexje]] || {{free|[[GPLv2]]}} || [[C++]] || {{yes}} || || || || || || || || || Baayen &amp;amp; Heinz GmbH&lt;br /&gt;
|-&lt;br /&gt;
| [[XFOIL]]   || {{free|[[GPLv2]]}} || [[Fortran]] || {{yes}} || {{yes}} || {{yes}} || || || || || || || {{URL|http://web.mit.edu/drela/Public/web/xfoil/}}&lt;br /&gt;
|-&lt;br /&gt;
| [[XFLR5]]   || {{free|[[GPLv2]]}} || [[C (programming language)|C]]/[[C++]] || {{yes}} || ||  || || || || || || || {{URL|http://www.xflr5.com}}&lt;br /&gt;
|-&lt;br /&gt;
| VSPAERO Packaged with [[OpenVSP]]   || {{free|[[NASA Open Source Agreement|NOSA]]}} || [[C++]] || {{yes}} || {{yes}} || {{yes}} || || || {{yes}} || || Polygons, typically quad &amp;amp; tri dominated || Free &amp;amp; rigid || {{URL|http://openvsp.org}}&lt;br /&gt;
|-&lt;br /&gt;
| MachLine   || {{free|[[MIT License]]}} || [[Fortran]] || {{yes}} || untested || untested || STL, VTK, TRI || || {{yes}} || || Solid bodies using surface tris || Rigid || Utah State University AeroLab {{URL|aerolab.usu.edu}} {{URL|http://github.com/usuaero/MachLine}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Stream function]]&lt;br /&gt;
*[[Conformal mapping]]&lt;br /&gt;
*[[Velocity potential]]&lt;br /&gt;
*[[Divergence theorem]]&lt;br /&gt;
*[[Joukowsky transform]]&lt;br /&gt;
*[[Potential flow]]&lt;br /&gt;
*[[Circulation (fluid dynamics)|Circulation]]&lt;br /&gt;
*[[Biot–Savart law#Aerodynamics applications|Biot–Savart law]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://www.pdas.com/ Public Domain Aerodynamic Software], A Panair Distribution Source, Ralph Carmichael&lt;br /&gt;
* [http://hdl.handle.net/2060/19920013405 Panair Volume I, Theory Manual, Version 3.0], Michael Epton, Alfred Magnus, 1990 [[Boeing]]&lt;br /&gt;
* [http://hdl.handle.net/2060/19920013622 Panair Volume II, Theory Manual, Version 3.0], Michael Epton, Alfred Magnus, 1990 [[Boeing]]&lt;br /&gt;
* [http://hdl.handle.net/2060/19850002614 Panair Volume III, Case Manual, Version 1.0], Michael Epton, Kenneth Sidewell, Alfred Magnus, 1981 [[Boeing]]&lt;br /&gt;
* [http://hdl.handle.net/2060/19920013399 Panair Volume IV, Maintenance Document, Version 3.0], Michael Epton, Kenneth Sidewell, Alfred Magnus, 1991 [[Boeing]]&lt;br /&gt;
* [https://wayback.archive-it.org/all/20100424140724/http://hdl.handle.net/2060/19710009882 Recent Experience in Using Finite Element Methods For The Solution Of Problems In Aerodynamic Interference], Ralph Carmichael, 1971 [[NASA Ames Research Center]]&lt;br /&gt;
* [https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/19910009745_1991009745.pdf]&lt;br /&gt;
&lt;br /&gt;
[[Category:Fluid dynamics]]&lt;/div&gt;</summary>
		<author><name>129.123.61.137</name></author>
	</entry>
</feed>