Beispiel #1
0
double dark_entropy_Sigmad(double T, struct relicparam paramrelic)
/* computes the dark entropy production at temperature T */
{
	if((paramrelic.sd0==0.)&&(paramrelic.Sigmad0==0.)) return 0.;
	
	if((paramrelic.Sigmad0==0.)&&(T<paramrelic.Tsend)) return 0.;
	
	double Mplanck=1.2209e19;
	
	if(paramrelic.Sigmad0==0.)
	{	
		return 1./Mplanck*(sqrt(24.*pi*(pi*pi/30.*geff(T,paramrelic)*pow(T,4.)+dark_density(T,paramrelic)))*dark_entropy(T,paramrelic)-sqrt(4.*pi*pi*pi/45.)*heff(T,paramrelic)/sgStar(T,paramrelic)*pow(T,3)*sqrt(1.+dark_density(T,paramrelic)/(pi*pi/30.*geff(T,paramrelic)*pow(T,4.)))*dark_entropy_derivative(T,paramrelic));
	}
	else
	{
		if(T<paramrelic.TSigmaend) return 0.;

		double s_rad_1MeV=2.*pi*pi/45.*heff(1.e-3,paramrelic)*1.e-9;
	
		double Sigma_rad_1MeV= 1./Mplanck*sqrt(4.*pi*pi*pi/5.*geff(1.e-3,paramrelic))*(1.e-6)*s_rad_1MeV;
	
		return paramrelic.Sigmad0*Sigma_rad_1MeV*pow(T/1.e-3,paramrelic.nSigmad);
	}
}
Beispiel #2
0
double CosmologyModel::dark_entropy_Sigmad(double T)
/* computes the dark entropy production at temperature T */
{
	if((sd0==0.)&&(Sigmad0==0.)) return 0.;
	
	if((Sigmad0==0.)&&(T<Tsend)) return 0.;
	
	double Mplanck=1.2209e19;
	
	if(Sigmad0==0.)
	{	
		return 1./Mplanck*(sqrt(24.*pi*(pi*pi/30.*geff(T)*pow(T,4.)+dark_density(T)))*dark_entropy(T)-sqrt(4.*pi*pi*pi/45.)*heff(T)/sgStar(T)*pow(T,3)*sqrt(1.+dark_density(T)/(pi*pi/30.*geff(T)*pow(T,4.)))*dark_entropy_derivative(T));
	}
	else
	{
		if(T<TSigmaend) return 0.;

		double s_rad_1MeV=2.*pi*pi/45.*heff(1.e-3)*1.e-9;
	
		double Sigma_rad_1MeV= 1./Mplanck*sqrt(4.*pi*pi*pi/5.*geff(1.e-3))*(1.e-6)*s_rad_1MeV;
	
		return Sigmad0*Sigma_rad_1MeV*pow(T/1.e-3,nSigmad);
	}
}