clwainwright / CosmoTransitions

A package for analyzing finite or zero-temperature cosmological phase transitions driven by single or multiple scalar fields.
MIT License
25 stars 19 forks source link

conditions for transition finding in tunnelFromPhase #1

Closed nblinov closed 9 years ago

nblinov commented 9 years ago

Hi Max,

I'm trying to understand how findAllTransitions works a bit better. One of the key functions it calls is tunnelFromPhase. In that function on line 823 we have

 if nuclCriterion(outdict[Tmin]['action'], Tmax) < 0:

Should that be

if nuclCriterion(outdict[Tmin]['action'], Tmin) < 0:

or is there some argument as to why the former condition is more useful?

clwainwright commented 9 years ago

Hi Nikita,

It is usually assumed that the return value of nuclCriterion() (which defaults to S3/T - 140) is monotonically increasing with temperature. However, this won't be the case when the temperature goes all the way down to zero, where d(S3/T)/dT = (dS3/dT)/T - S3/T^2, which diverges at T=0. But it's still a pretty good assumption that S3 is monotonically increasing. If S3(Tmin)/Tmax > 140 then, assuming S3 is monotonically increasing, there will be no temperature between Tmin and Tmax at which S3(T)/T < 140.

Also, note that

nuclCriterion(outdict[Tmin]['action'], Tmin) < 0

will always evaluates to false in the context of line 823, because this block only ever executes after an error is raised due to nuclCriterion(outdict[Tmin]['action'], Tmin) and nuclCriterion(outdict[Tmax]['action'], Tmax) having the same sign.

Hope that helps!

-Max

nblinov commented 9 years ago

yep that makes sense. Thanks!