libgenua
Basic Geometry, Numerical Algorithms and Interfaces
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
VolWaveDrag Class Reference

Detailed Description

Utility class for wave drag estimation.

This class implements a classical method for the estimation of the zero-lift component of the wave drag, based on an integral formula for equivalent body of revolution:

\[ C_{Dw} = \frac{-1}{2 \pi A L^2} \int_0^1 \int_0^1 \frac{\partial^2 S}{\partial \eta_1^2} \frac{\partial^2 S}{\partial \eta_2^2} \log |\eta_1 - \eta_2| d \eta_1 d \eta_2 \]

where $ S(\eta) $ is the cross section area as a function of the nondimensional longitudinal coordinate, $A$ is the reference area and $L$ the body length. For efficiency, the cross section area distribution is expanded as a sine series with 48 terms for which the above integral is stored precomputed to high accuracy.

#include <volwavedrag.h>

Collaboration diagram for VolWaveDrag:
[legend]

Public Member Functions

 VolWaveDrag ()
 empty object
 
 VolWaveDrag (const TriMesh &tm)
 initialize with TriMesh
 
 VolWaveDrag (const MxMesh &mx)
 initialize with all wall surface mesh sections of mx
 
void meanAreaDistribution (const Vct3 &pn, Real Mach, int nsec, int nphi, Vector &x, Vector &S) const
 compute angular-averaged area distribution for specific Mach number
 
void areaDistribution (const Vct3 &pn, int n, Vector &x, Vector &S) const
 intermediate : compute area distribution
 

Static Public Member Functions

static Real dragCoefficient (Real Sref, const Vector &x, const Vector &S, Real Scutoff=0.01)
 return drag coefficient for known area distribution
 

Private Member Functions

void initBox ()
 initialize bounding box
 
void planeDistance (const Vct3 &pn, Vector &dst, Real &dmin, Real &dmax) const
 compute distances of all nodes from plane through origin
 
void intersectingTriangles (const Vector &dst, Real dp, Indices &itri) const
 determine triangles which intersect plane with offset dp
 
Real areaContribution (const Vct3 &pn, Real dp, uint jt) const
 cross section area contribution of triangle jt
 

Static Private Member Functions

static void sineSeries (const Vector &eta, const Vector &S, Vector &ak)
 determine sine series coefficients
 
static Real dragCoefficient (Real Sref, Real L, const Vector &ak)
 compute wave drag from series coeffiecients
 

Private Attributes

PointList< 3 > vtri
 all surface triangles as point triples
 
Vct3 bbp1
 bounding box edges
 

The documentation for this class was generated from the following files: