Skip to content

Commit f9f6167

Browse files
authored
Add dist (#244)
1 parent 49f7e34 commit f9f6167

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

src/solver.jl

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ Struct for storing the solution of the [solve!](@ref) function. Must contain all
2929
- `moment_unrefined_dist`::MVector{U, Float64}: Averaged moments for unrefined sections [Nm]
3030
- `cl_unrefined_dist`::MVector{U, Float64}: Averaged lift coefficients for unrefined sections [-]
3131
- `cd_unrefined_dist`::MVector{U, Float64}: Averaged drag coefficients for unrefined sections [-]
32-
- `cm_unrefined_dist`::MVector{U, Float64}: Averaged moment coefficients for unrefined sections [-]
32+
- `cm_unrefined_dist`::MVector{U, Float64}: Averaged airfoil moment coefficients for unrefined sections [-]
33+
- `moment_coeff_unrefined_dist`::MVector{U, Float64}: Summed `moment_frac`-referenced pitching-moment coefficient per unrefined section [-]
3334
- `alpha_unrefined_dist`::MVector{U, Float64}: Averaged angles of attack for unrefined sections [rad]
3435
- `solver_status`::SolverStatus: enum, see [SolverStatus](@ref)
3536
"""
@@ -65,6 +66,7 @@ Struct for storing the solution of the [solve!](@ref) function. Must contain all
6566
cl_unrefined_dist::MVector{U, T} = zeros(MVector{U, T})
6667
cd_unrefined_dist::MVector{U, T} = zeros(MVector{U, T})
6768
cm_unrefined_dist::MVector{U, T} = zeros(MVector{U, T})
69+
moment_coeff_unrefined_dist::MVector{U, T} = zeros(MVector{U, T})
6870
alpha_unrefined_dist::MVector{U, T} = zeros(MVector{U, T})
6971
x_airf_unrefined_dist::Vector{MVector{3, T}} = [zeros(MVector{3, T}) for _ in 1:U]
7072
y_airf_unrefined_dist::Vector{MVector{3, T}} = [zeros(MVector{3, T}) for _ in 1:U]
@@ -418,6 +420,7 @@ function solve!(solver::Solver{P, U, T}, body_aero::BodyAerodynamics, gamma_dist
418420
cl_unrefined_dist = solver.sol.cl_unrefined_dist
419421
cd_unrefined_dist = solver.sol.cd_unrefined_dist
420422
cm_unrefined_dist = solver.sol.cm_unrefined_dist
423+
moment_coeff_unrefined_dist = solver.sol.moment_coeff_unrefined_dist
421424
alpha_unrefined_dist = solver.sol.alpha_unrefined_dist
422425
x_airf_unrefined_dist = solver.sol.x_airf_unrefined_dist
423426
y_airf_unrefined_dist = solver.sol.y_airf_unrefined_dist
@@ -431,6 +434,7 @@ function solve!(solver::Solver{P, U, T}, body_aero::BodyAerodynamics, gamma_dist
431434
cl_unrefined_dist .= 0.0
432435
cd_unrefined_dist .= 0.0
433436
cm_unrefined_dist .= 0.0
437+
moment_coeff_unrefined_dist .= 0.0
434438
alpha_unrefined_dist .= 0.0
435439
for i in eachindex(x_airf_unrefined_dist)
436440
x_airf_unrefined_dist[i] .= 0.0
@@ -457,6 +461,7 @@ function solve!(solver::Solver{P, U, T}, body_aero::BodyAerodynamics, gamma_dist
457461
cl_unrefined_dist[target_unrefined_idx] += solver.sol.cl_dist[panel_idx]
458462
cd_unrefined_dist[target_unrefined_idx] += solver.sol.cd_dist[panel_idx]
459463
cm_unrefined_dist[target_unrefined_idx] += solver.sol.cm_dist[panel_idx]
464+
moment_coeff_unrefined_dist[target_unrefined_idx] += solver.sol.moment_coeff_dist[panel_idx]
460465
alpha_unrefined_dist[target_unrefined_idx] += solver.sol.alpha_dist[panel_idx]
461466

462467
# Accumulate geometry
@@ -471,7 +476,11 @@ function solve!(solver::Solver{P, U, T}, body_aero::BodyAerodynamics, gamma_dist
471476
panel_idx += 1
472477
end
473478

474-
# Average coefficients and geometry (width stays summed)
479+
# Average coefficients and geometry. width and
480+
# moment_coeff_unrefined_dist stay summed: the latter is an
481+
# extensive per-panel contribution to the wing moment
482+
# coefficient, so a group's total moment is the sum over its
483+
# sections, not the mean.
475484
for i in 1:wing.n_unrefined_sections
476485
target_unrefined_idx = unrefined_idx + i - 1
477486
if unrefined_section_counts[i] > 0

0 commit comments

Comments
 (0)