SNOPT EXIT 40, INFO 41: termination due to numerical difficulties, current point could not be improved

45 views
Skip to first unread message

Joshua Fontana

unread,
Jun 21, 2024, 11:04:04 AM6/21/24
to SNOPT
Hi All,

I am wondering if anyone could offer any tips on SNOPT exit code 40, INFO 41, where SNOPT terminates due to numerical difficulties because the current point could not be improved.

I should mention that I am working with complicated functions - I am running a high-fidelity computational fluid dynamics(CFD) simulation in a complex toolchain of other codes, and I am using the adjoint method to obtain gradients for SNOPT.

I've read the manual section regarding EXIT 40, INFO 41, and I understand that function precision may be to blame, and it is understandable that it would reach that limit at some point, but I also notice that if I don't converge the CFD flow solution as well, SNOPT terminates with this message earlier (and with an inferior objective value) than if I converge the CFD flow solution to a tight tolerance, all else being equal.

I realize this likely has to do with my complicated function, but I am just wondering: Are any settings in SNOPT that might help prevent SNOPT from terminating early due to EXIT 40, INFO 41?

Thanks,
Josh

Michael Saunders

unread,
Jun 21, 2024, 2:02:02 PM6/21/24
to Joshua Fontana, SNOPT
Josh, let’s know if you are setting Function Precision to a nonstandard value to match your CFD accuracy. Which value?

Michael 

Sent from my iPhone


--
You received this message because you are subscribed to the Google Groups "SNOPT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snopt+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/snopt/66c856e6-5982-4f5a-9d44-ea2a433d5f6bn%40googlegroups.com.
Message has been deleted
Message has been deleted

Joshua Fontana

unread,
Jun 25, 2024, 10:30:11 AM6/25/24
to SNOPT
Hi Michael,

I set the function precision to 1e-5, because the drag value from the CFD is supposed to be accurate to the 5th decimal place, but then the drag value gets used in another function which is the actual objective function, calculating the fuel burn and total aircraft weight, and a couple of other things, so maybe I should propagate the accuracy through the objective function?

Thanks,
Josh

Joshua Fontana

unread,
Jun 25, 2024, 10:30:14 AM6/25/24
to SNOPT
Hi Michael,

I set the Function Precision to 1e-5, since the drag value from the CFD is supposed to be accurate to the 5th decimal place, but the drag value gets used in another function afterward, which is the objective, calculating fuel burn, total aircraft weight and a couple of other things. Should I propagate the 1e-5 precision through that objective function to get the accuracy of the objective? (It would be a little more complicated than that since some other things influence the objective function, but I could try to propagate them through).

Thanks,
Josh

On Friday, June 21, 2024 at 2:02:02 PM UTC-4 Michael Saunders wrote:
Reply all
Reply to author
Forward
0 new messages