Library
Public API
DLM.influence_matrix
— Functioninfluence_matrix(ω, U, M, xyz::AbstractVector{<:AbstractArray{<:Number, 3}}, symmetric::AbstractVector; kernel=QuarticKernel())
influence_matrix(ω, U, M, xyz::AbstractArray{<:Number, 3}, symmetric; kernel=QuarticKernel())
influence_matrix(ω, U, M, xyzr::AbstractArray{<:Number, 3}, xyzs::AbstractArray{<:Number, 3}, symmetric; kernel=QuarticKernel())
Fills in aerodynamic influence coefficient matrix. Returns aerodynamic influence coefficient matrix AIC with shape (nir, njr, nis, njs). For a non-allocating version, see influence_matrix!
.
Receiving and sending panel points must be aligned with the x-direction. The freestream velocity must also be aligned in the x-direction.
Arguments
ω
: oscillation frequencyU
: freestream velocityM
: Mach number (for Prandtl-Glauert compressibility correction)xyzr
: definition of receiving panel points with shape: (3, nir, njr)xyzs
: definition of sending panel points with shape: (3, nis, njs)symmetric
: flag indicating symmetry of each sending panelkernel
: indicates which approximation of the kernel should be used
DLM.influence_matrix!
— Functioninfluence_matrix!(AIC, ω, U, M, xyz::AbstractVector{<:AbstractArray{<:Number, 3}}, symmetric::AbstractVector; kernel=QuarticKernel())
influence_matrix!(AIC, ω, U, M, xyz::AbstractArray{<:Number, 3}, symmetric; kernel=QuarticKernel())
influence_matrix!(AIC, ω, U, M, xyzr::AbstractArray{<:Number, 3}, xyzs::AbstractArray{<:Number, 3}, symmetric; kernel=QuarticKernel())
Non-allocating version of influence_matrix
DLM.pressure_coefficients
— Functionpressure_coefficients(AIC, w)
Compute pressure coefficients Cp
on each panel, given the downwash w.
Arguments:
AIC
: aerodynamic influence coefficient matrix with shape (nir, njr, nis, njs)w
: downwash on each panel, with shape (nir, njr)
DLM.AbstractKernel
— TypeAbstractKernel()
Abstract type for approximation of the planar and nonplanar influence terms in the numerator of the doublet lattice method kernel
DLM.ParabolicKernel
— TypeParabolicKernel()
Parabolic approximation for the planar and nonplanar influence terms in the numerator of the doublet lattice method kernel.
DLM.QuarticKernel
— TypeQuarticKernel()
Quartic approximation for the planar and nonplanar influence terms in the numerator of the doublet lattice method kernel.
Private API
DLM.approximate_kernel_integrals
— Functionapproximate_kernel_integrals(u, k)
Solves for the integrals I0 and J0 using a 12-term exponential approximation given by Desmarais in "AN ACCURATE METHOD FOR EVALUATING THE KERNEL OF THE INTEGRAL EQUATION RELATING LIFT TO DOWNWASH IN UNSTEADY POTENTIAL FLOW".
Arguments
- u = (MR - x0)/(β^2x0)
- k = ω*r/U
DLM.kernel_coefficients
— Functionkernel_coefficients(x0, y0, z0, ω, U, M)
Solves for the kernel coefficients K1 and K2 and their steady state counterparts K10 and K20.
See "A Doublet-Lattice Method for Calculating Lift Distributions on Oscillating Surfaces in Subsonic Flows" by Edward Albano and William P Rodden.
Arguments
- x0 = x-ξ
- y0 = y-η
- z0 = z-ζ
- ω = frequency
- U = Velocity
- M = Mach Number
DLM.kernel_numerator
— Functionkernel_numerator(ω, U, M, x0, y0, z0, γr, γs)
Solves for the numerator terms of the kernel and subtracts out the steady-state components of these terms.
See "Further Refinement of the Subsonic Doublet-Lattice Method" by William P. Rodden, Paul F. Taylor and Samuel C. McIntosh Jr.
DLM.influence_coefficient
— Functioninfluence_coefficient(ω, U, M, (xr, yr, zr), (xi, yi, zi), (xo, yo, zo), chord, λ, γr, γs, kernel)
Solves for the influence coefficient of the sending panel on the receiving panel.
The planar and nonplanar influence terms in the numerator are approximated using the approximation specified by kernel
.
See "Further Refinement of the Subsonic Doublet-Lattice Method" by William P. Rodden, Paul F. Taylor and Samuel C. McIntosh Jr.
DLM.steady_influence_coefficient
— Functionsteady_influence_coefficient(M, x0i, y0i, z0i, x0o, y0o, z0o, sγr, cγr)
Solves for the steady component of the influence of the sending panel on the receiving panel using the vortex lattice method.