@@ -45,6 +45,13 @@ function VSMSolution(P)
4545 VSMSolution {P} ()
4646end
4747
48+ struct LoopResult
49+ converged:: Bool
50+ gamma_new:: Vector{Float64}
51+ alpha_array:: Vector{Float64}
52+ v_a_array:: Vector{Float64}
53+ end
54+
4855"""
4956 Solver
5057
@@ -125,7 +132,7 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
125132 log= false , reference_point= zeros (MVec3), moment_frac= 0.1 )
126133
127134 # calculate intermediate result
128- (converged, body_aero, gamma_new, reference_point, density, aerodynamic_model_type, core_radius_fraction,
135+ (converged, body_aero, gamma_new, reference_point, aerodynamic_model_type, core_radius_fraction,
129136 mu, alpha_array, v_a_array, va_norm_array, va_unit_array, panels,
130137 is_only_f_and_gamma_output) = solve_base (solver, body_aero, gamma_distribution; log, reference_point)
131138 if ! isnothing (solver. sol. gamma_distribution)
@@ -135,7 +142,6 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
135142 end
136143
137144 # Initialize arrays
138- n_panels = length (panels)
139145 cl_array = solver. sol. cl_array
140146 cd_array = solver. sol. cd_array
141147 cm_array = solver. sol. cm_array
@@ -144,6 +150,7 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
144150 solver. sol. moment_coefficient_distribution .= 0
145151 moment_distribution = solver. sol. moment_distribution
146152 moment_coefficient_distribution = solver. sol. moment_coefficient_distribution
153+ density = solver. density
147154
148155 # Calculate coefficients for each panel
149156 for (i, panel) in enumerate (panels) # zero bytes
@@ -286,7 +293,7 @@ function solve(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=n
286293 log= false , reference_point= zeros (MVec3))
287294 # calculate intermediate result
288295 converged,
289- body_aero, gamma_new, reference_point, density, aerodynamic_model_type, core_radius_fraction,
296+ body_aero, gamma_new, reference_point, aerodynamic_model_type, core_radius_fraction,
290297 mu, alpha_array, v_a_array, va_norm_array, va_unit_array, panels,
291298 is_only_f_and_gamma_output = solve_base (solver, body_aero, gamma_distribution; log, reference_point)
292299
@@ -295,7 +302,7 @@ function solve(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=n
295302 body_aero,
296303 gamma_new,
297304 reference_point,
298- density,
305+ solver . density,
299306 aerodynamic_model_type,
300307 core_radius_fraction,
301308 mu,
@@ -406,7 +413,6 @@ function solve_base(solver::Solver, body_aero::BodyAerodynamics, gamma_distribut
406413 body_aero,
407414 gamma_new,
408415 reference_point,
409- solver. density,
410416 solver. aerodynamic_model_type,
411417 solver. core_radius_fraction,
412418 solver. mu,
0 commit comments