Skip to content

Commit 706c21f

Browse files
committed
Now 596 allocations
1 parent 4705658 commit 706c21f

1 file changed

Lines changed: 16 additions & 17 deletions

File tree

src/solver.jl

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,23 @@ Struct for storing the solution of the [solve!](@ref) function. Must contain all
1414
- moment_coefficient_distribution::Vector{Float64}: Pitching moment coefficient around the spanwise vector of each panel. [-]
1515
- solver_status::SolverStatus: enum, see [SolverStatus](@ref)
1616
"""
17-
mutable struct VSMSolution{P}
18-
panel_width_array::Vector{Float64}
19-
cl_array::Vector{Float64}
20-
cd_array::Vector{Float64}
21-
cm_array::Vector{Float64}
22-
gamma_distribution::Union{Nothing, Vector{Float64}}
23-
aero_force::MVec3
24-
aero_moments::MVec3
25-
force_coefficients::MVec3
26-
moment_coefficients::MVec3
27-
moment_distribution::Vector{Float64}
28-
moment_coefficient_distribution::Vector{Float64}
29-
solver_status::SolverStatus
17+
@with_kw mutable struct VSMSolution{P}
18+
panel_width_array::Vector{Float64} = zeros(P)
19+
cl_array::Vector{Float64} = zeros(P)
20+
cd_array::Vector{Float64} = zeros(P)
21+
cm_array::Vector{Float64} = zeros(P)
22+
gamma_distribution::Union{Nothing, Vector{Float64}} = nothing
23+
aero_force::MVec3 = zeros(MVec3)
24+
aero_moments::MVec3 = zeros(MVec3)
25+
force_coefficients::MVec3 = zeros(MVec3)
26+
moment_coefficients::MVec3 = zeros(MVec3)
27+
moment_distribution::Vector{Float64} = zeros(P)
28+
moment_coefficient_distribution::Vector{Float64} = zeros(P)
29+
solver_status::SolverStatus = FAILURE
3030
end
3131

3232
function VSMSolution(P)
33-
VSMSolution{P}(zeros(P), zeros(P), zeros(P), zeros(P), nothing,
34-
zeros(MVec3), zeros(MVec3), zeros(MVec3), zeros(MVec3), zeros(3), zeros(3), FAILURE)
33+
VSMSolution{P}()
3534
end
3635

3736
"""
@@ -126,8 +125,8 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
126125
cd_array = solver.sol.cd_array
127126
cm_array = solver.sol.cm_array
128127
panel_width_array = solver.sol.panel_width_array
129-
solver.sol.moment_distribution = zeros(n_panels)
130-
solver.sol.moment_coefficient_distribution = zeros(n_panels)
128+
solver.sol.moment_distribution .= 0
129+
solver.sol.moment_coefficient_distribution .= 0
131130
moment_distribution = solver.sol.moment_distribution
132131
moment_coefficient_distribution = solver.sol.moment_coefficient_distribution
133132

0 commit comments

Comments
 (0)