Hello all,<div><br></div><div>I have a fairly large aerodynamic shape optimization code, written in Fortran, which is currently using SNOPT. I am trying to implement IPOPT as well to see if we can get improved performance for some of our more difficult problems. Since we are already using a gradient based optimization code, all the required functions and gradients are already coded, and just need to be interfaced with IPOPT. My issue comes down to how to best implement the flow solve component. After each optimization iteration, a flow solve must be performed using the new design variables, and the resulting functions and gradients are calculated based on this flow solve. Therefore each subroutine (EV_F, EV_GRAD_F, EV_G, EV_JAC_G) depend on the results of this flow solve. SNOPT only requires a single user generated subroutine that calculates the functions and gradients, and the flow solve is currently called within this subroutine. I was wondering if anybody has any suggestions on how to best call the flow solve after each optimization iteration, such that all 4 subroutines can then use the information.</div>
<div><br></div><div>Thanks,</div><div><br></div><div>Karla Telidetzki</div><div>University of Toronto</div>