-
Notifications
You must be signed in to change notification settings - Fork 87
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
Level specific wave tolerance #241
base: master
Are you sure you want to change the base?
Level specific wave tolerance #241
Conversation
Does this then work with only a scalar specification of the |
Yes it will work for a scalar representation since refinement_module.f90 will read the values in refinement.data file for the wave tolerances and store it in an array regardless of number of values provided. |
src/2d/shallow/flag2refine2.f90
Outdated
enddo | ||
! Check if wave tolerance array size is smaller than max level | ||
! then refine with the last wave tolerance value for the rest of the levels | ||
if (size(wave_tolerance) < mxnest-1) then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might suggest pre-processing this so that the wave_tolerance
array is always at least mxnest
so you can simplify this logic and not replicate the checks.
@mandli: This wave_tolerance logic is based on how speed_tolerance is handled, but I don't understand how this is supposed to be used exactly. I would have thought that Is this really what's intended? If the tolerances are non-decreasing then I think it has the behavior I expect but if Other minor problems with
Also we probably want to modify |
@akshaysripada Can you take care of some of these suggestions from Randy? I am a bit confused as well about the way you implemented this but I need to look at a bit more before I have a suggestion. |
So looking carefully at the code I think there are a couple of modifications and one question that @rjleveque brought up:
|
Wave tolerance is now set to be level specific, very similar to the speed refinement. If the number of wave tolerance values are less than the max amr level specified, the last value of the wave tolerance is used for the remainder of the levels.