@@ -121,7 +121,8 @@ const cache = [LazyBufferCache(), LazyBufferCache(), LazyBufferCache(), LazyBuff
121121 LazyBufferCache (), LazyBufferCache (), LazyBufferCache (), LazyBufferCache (),
122122 LazyBufferCache (), LazyBufferCache (), LazyBufferCache ()]
123123
124- const cache_base = [LazyBufferCache ()]
124+ const cache_base = [LazyBufferCache ()]
125+ const cache_solve = [LazyBufferCache ()]
125126
126127"""
127128 solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=solver.sol.gamma_distribution;
@@ -162,6 +163,7 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
162163 cm_array = solver. sol. cm_array
163164 converged = solver. lr. converged
164165 alpha_array = solver. lr. alpha_array
166+ alpha_corrected = cache_solve[1 ][alpha_array]
165167 v_a_array = solver. lr. v_a_array
166168 panels = body_aero. panels
167169
@@ -190,11 +192,10 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
190192 @. drag = cd_array * 0.5 * density * v_a_array^ 2 * solver. sol. chord_array
191193 @. moment = cm_array * 0.5 * density * v_a_array^ 2 * solver. sol. chord_array
192194
193-
194195 # Calculate alpha corrections based on model type
195- # TODO : this vector needs to be pre-allocated !!!
196- alpha_corrected = if aerodynamic_model_type == VSM # 4188 bytes
197- update_effective_angle_of_attack_if_VSM (
196+ if aerodynamic_model_type == VSM # 1568 bytes
197+ update_effective_angle_of_attack! (
198+ alpha_corrected,
198199 body_aero,
199200 gamma_new,
200201 solver. core_radius_fraction,
@@ -204,10 +205,8 @@ function solve!(solver::Solver, body_aero::BodyAerodynamics, gamma_distribution=
204205 solver. br. va_norm_array,
205206 solver. br. va_unit_array
206207 )
207- elseif aerodynamic_model_type === LLT
208- alpha_array
209- else
210- throw (ArgumentError (" Unknown aerodynamic model type, should be LLT or VSM" ))
208+ elseif aerodynamic_model_type == LLT
209+ alpha_corrected .= alpha_array
211210 end
212211
213212 # Initialize result arrays
0 commit comments