[mesa-users] mesa 4941 -- bug fix release
Bill Paxton
paxton at kitp.ucsb.edu
Tue Apr 30 23:09:48 EDT 2013
Hi,
I mentioned in the last release message that I'd converted the fake electron capture reactions used by approx21.net and friends to use the rates from weaklib. Well, now I've fixed a bug I introduced in the process.
I also found and fixed a bug that had disabled time smoothing for rotational mixing coefficients.
In addition to fixing up previous mistakes, I've made a few small changes (hopefully without more mistakes!).
As a continuation of the move toward more "vanilla" choices for defaults, I changed the default for use_artificial_viscosity to .false.
Dennis Stello and I continue to work on the star/astero package, and that has led to a few tweaks to the options controlling when to evaluate chi^2. I'm learning the hard way that this isn't a simple problem! Looks like users will actually need to think (sorry about that). These search controls need to be tuned to different situations. I've added some more controls, but the job of picking appropriate values for them will need to be done on a case by case basis -- at least until someone comes up with a significantly smarter search scheme or a much faster way to evaluate pulsation frequencies! Here are the parts of astero_search_controls.defaults I'm talking about.
Cheers,
Bill
! calculating mode frequencies is a relatively costly process,
! so we don't want to do it for models that are not good candidates.
! i.e., we want to filter out the bad candidates using the following
! less expensive tests whenever possible.
! NOTE: if none of the models in a run pass these tests,
! then you will not get any total chi2 result for that run.
! in some situations that might not matter,
! but if you are eliminating too many candidates in this way,
! the search routines might not be getting enough valid results to work properly.
! So watch what you are doing! If your search or scan is getting lots of
! runs that fail to give chi^2 results, you'll need to adjust the limits.
! don't consider models that aren't old enough
min_age_limit = 1d6
! don't consider models with L_nuc/L less than this limit
Lnuc_div_L_limit = 0.95 ! this rules out pre-zams models
! don't consider models with chi2_spectroscopic above this limit
chi2_spectroscopic_limit = 1000
! don't consider models with chi2_delta_nu above this limit
chi2_delta_nu_limit = 1000
! we calculate radial modes only if pass the previous checks
! calculating nonradial modes is much more expensive than radial ones.
! so we skip the nonradial calculation if the radial results are poor.
! don't consider models with chi2_radial above this limit
chi2_radial_limit = 100
! only calculate full chi^2 if pass all these limit checks
! adjust max timestep depending on how close to target
! NOTE: if you set the timestep limits too large you run the risk of missing good chi^2 cases.
! but if they are very small, you will spend a lot of runtime calculating lots of frequencies
! for lots of models. There is no standard set of best values for this.
! The choice will depend on the stage of evolution and how fast things are changing
! in the general region of the models with good chi2 values.
! There is no alternative to trying things and tuning the controls for your problem.
! these are just default values -- you will undoubtedly need to adjust them for your problem.
max_yrs_dt_when_cold = 1d8 ! when fail Lnuc/L, chi2_spectro, or ch2_delta_nu
max_yrs_dt_when_warm = 1d7 ! when pass previous but fail chi2_radial; < max_yrs_dt_when_cold
max_yrs_dt_when_hot = 1d6 ! when pass chi2_radial; < max_yrs_dt_when_warm
chi2_limit_for_small_timesteps = 50
max_yrs_dt_chi2_small_limit = 3d5 ! < max_yrs_dt_when_hot
chi2_limit_for_smaller_timesteps = 20 ! < chi2_limit_for_small_timesteps
max_yrs_dt_chi2_smaller_limit = 1d5 ! < max_yrs_dt_chi2_small_limit
chi2_limit_for_smallest_timesteps = 10 ! < chi2_limit_for_smaller_timesteps
max_yrs_dt_chi2_smallest_limit = 5d4 ! < max_yrs_dt_chi2_smaller_limit
More information about the Mesa-users
mailing list