-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
erkvar%Integrate will change the initial time and final time? #11
Comments
Oh, one more question,
|
If you are seeing this error message "Maximum integration steps reached" then it means FLINT is returning the last integrated solution in yf_test and the corresponding time or independent variable in xf_test. If you increase the max. steps allowed and still seeing the same message then it is just probably because it needs more steps to reach the final time. You can check this by comparing the returned xf_test value before and after increasing the max steps to see if the integration was advanced further at all or not. |
for setting the stiffness test option, see the FLINT documentation here what value to pass to FLINT and what it will return. Here is excerpt from that:
|
Thank you my man! In this case, do you have any suggestions? LIke perhaps this indicate it is a stiff problem or something? Or, do I decrease the integral range? Thanks much in advance! Happy new year by the way! LOL! |
Happy new year, pal! |
Thank you bro! May I ask, if it is a stiff problem, does stiffstatus have to return exactly -1? I mean, like,
You see, I set stiffstatus to 1 and send it to StiffTest in the call erkvar%Integrate(...) Now, after call erkvar%Integrate(...), stiffstatus is still 1 actually. However the error code shows "Maximum integration steps reached" or whatever. I mean does stiffstatus have to return exactly -1 so that it is a stiff system? But anyway, I can use DVODE for stiff problem. |
Can you post your differential equations here? It may be possible that your FLINT stiff test (which is basically same as in Hairers codes) is not able to detect stiffness for your equations if it is not returning -1 in stifftest.
If you use a stiff solver and it has no issues then it will be clear that yours is a stiff system and FLINT stiff test is not working as it should for these equations.
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Chen Rong ***@***.***>
Sent: Friday, January 7, 2022 5:21:26 PM
To: princemahajan/FLINT ***@***.***>
Cc: Bharat Mahajan ***@***.***>; Comment ***@***.***>
Subject: Re: [princemahajan/FLINT] erkvar%Integrate will change the initial time and final time? (Issue #11)
Thank you bro!
May I ask, if it is a stiff problem, does stiffstatus have to return exactly -1?
I mean, like,
stiffstatus = 1
call erkvar%Integrate(x0_test, y0_test, xf_test, yf_test, StepSz=stepsz, UseConstStepSz=CONST_STEPSZ, &
IntStepsOn=.false.,Xint = Xint, Yint = Yint, &
EventStates=EventStates, EventMask = EvMask,StiffTest=stiffstatus)
So set stiffstatus to 1 and send it to StiffTest in the call erkvar%Integrate(...)
So I expect that the integral should halt if stiff problem is detected.
Now, after call erkvar%Integrate(...), stiffstatus is still 1 actually. However the error code shows "Maximum integration steps reached" or whatever.
In this case, does that mean the problem is actually non-stiff?
I mean does stiffstatus have to return exactly -1 so that it is a stiff system?
But anyway, I can use DVODE for stiff problem.
—
Reply to this email directly, view it on GitHub<#11 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AMK5YH3P6JAELMGKENDQZJDUU5YPNANCNFSM5LOEOC4A>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID: ***@***.***>
|
Thank you very much. Or, you could simply save the text below as a f90 file as a drive file (combine it with all yours files in the src folder in FLINT), just like your test_CR3BP.f90.
It is just a 3 ODE system,
where all the parameters are defined below. They are initialized in subroutine my_ode_init(me).
It looks like these 3 ODEs will show status 5 error, looks like a stiff problem. Wish FLINT could handle stiff problem better :) Best regards, |
Hi bro,
A quick question, a piece of my code is like below,
You know the x0_test and xf_test are the initial time and final time for the integral.
I expect that before and after call erkvar%Integrate, x0_test and xf_test will not change.
However, I notice that sometimes x0_test and xf_test will be changed after call erkvar%Integrate .
I checked erkvar%status, and, errstr.
I found erkvar%status = 5 , and
errstr is "Maximum integration steps reached"
It looks like, in this case FLINT did not complete the intergration, so x0_test and xf_test are somehow changed.
In such case, increasing max_steps does not really help.
Thanks a lot!
Best regards,
Rong
The text was updated successfully, but these errors were encountered: