Skip to content
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

editing defaults for consistency #88

Merged
merged 2 commits into from
Dec 16, 2024
Merged

Conversation

CarrieFilion
Copy link
Contributor

I edited some of the defaults in gendisk and exp to ensure that they match

Copy link
Member

@michael-petersen michael-petersen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea matching these up. I think we probably want to reduce lmaxfid everywhere (see specific comment), but otherwise great!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lmaxfid=128 will be really computationally expensive -- I wonder if we want to go the other way and change the defaults elsewhere to a lower value?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, lmaxfid=128 is a lot. Do you have a suggestion? 72 or 96 maybe?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the past I found diminishing returns after 72 unless really going for it on the other parameters (it takes a lot of integration points to resolve even 96!). Unless we want this to be super-production-ready code, I'd set at 72.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, let's do 72.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lmaxfid is set to 128 in src/cylinder.cc and expui/BiorthBasis.H - I'll change it to 72 throughout.

@@ -518,7 +518,7 @@ main(int ac, char **av)
("SCSPH", "Scale for Spherical SL coordinate mapping",
cxxopts::value<double>(SCSPH)->default_value("1.0"))
("RSPHSL", "Maximum halo expansion radius",
cxxopts::value<double>(RSPHSL)->default_value("47.5"))
cxxopts::value<double>(RSPHSL)->default_value("1.95"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another strategy here would be to accept whatever the maximum radius in the input table is. That is probably more user-error proof?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The main reason for RSPHSL (which could have a better name?) is to guide SLGridSph for tabled models whose density gets close to machine zero, which will break the SL solver. I suppose that choice could be selected from the table itself automatically with some heuristic.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, I guess my hope is that users will have good density models, especially if they are making a set of ICs. But I guess this is a way out if a user had a table they couldn't change (for some weird reason).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm. I'm okay with forcing the user to change their table to something consistent with SL. I'm in favor of reducing the number of free parameters generally. So I'm in favor of your first proposal: get rid of RSPHSL and use the rmax value from the table.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how to implement this suggestion but it probably is the best fix

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we still using this file? We might flag this up for future jettisoning (or absorption into a pyEXP tool).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a translation test for basis creation. It's a diagnostic for centering.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but my thinking is that this won't get exercised as the intended command line tool unless we (a) write instructions, or (b) bring it directly into Python. Or both. Not suggesting we do this now; maybe something to tag in an issue along with the rest of the diagnostic tools. They are good work, and useful!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh. That's what you meant by pyEXP... I'm in favor of keeping this available somewhere. It's an instructive demo. But I don't feel strongly about it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah - this is not the most relevant file. I percolated nmax = 18 through to the other files, I think (?) that I got all of the relevant files this time

Copy link
Member

@michael-petersen michael-petersen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All welcome changes; I've built some ICs with these updates and everything is a bit more smooth now. Thanks!

@michael-petersen michael-petersen merged commit 1f1aa8b into EXP-code:main Dec 16, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants