Hi Brian and Nathan,
I was planning on just adding something like:
if (CRModel == 0) CRDiffusion = 0;
into ReadParamaterFile.C, rather than a fail statement, since diffusion of something that doesn't exist doesn't make sense anyway (i.e. the CR parameters should do nothing if CRModel is off). But I figured this would be a band-aid fix.
I think I found the issue, in EvolveLevel.C. It is currently calling "ComputeCRDiffusion" if "CRDiffusion" is ON (with no check to CRModel). In there, it computes the CR diffusion, but when CRModel is OFF, IdentifyPhysicalQuantities does not throw an error when looking for "CRNum", and returns CRNum = 0. Thus, If CRDiffusion is ON and CRModel off, it is currently computing the diffusion and applying it to the BaryonField[0], aka Density.
I'd be happy to submit a pull request if someone can let me know how to actually do that.
CRFeedback sets the fraction of energy dumped into cosmic rays during a supernova explosion, and is only used in star_feedback3 at the moment. It is contained within if statements checking if "CRModel" is on,
Andrew