Example #1
0
File: omega.c Project: WeenAFK/BBN
double dark_entropy(double T, struct relicparam paramrelic)
/* computes the dark entropy density at temperature T */
{
	if((paramrelic.sd0==0.)&&(paramrelic.Sigmad0==0.)) return 0.;
	
	if((paramrelic.Sigmad0==0.)&&(T<paramrelic.Tsend)) return 0.;
	
	if(paramrelic.Sigmad0==0.)
	{
		double s_rad_1MeV=2.*pi*pi/45.*heff(1.e-3,paramrelic)*1.e-9;
	
		return paramrelic.sd0*s_rad_1MeV*pow(T/1.e-3,paramrelic.nsd);
	}
	else
	{
		double lnT,dlnT,Ttmp;
		int ie,nmax;
		double integ=0.;
		
		nmax=50;
		
		lnT=log(1.e-15);
		
		dlnT=(log(T)-lnT)/nmax;
		
		for(ie=1;ie<nmax;ie++) 
		{
			lnT+=dlnT;
			Ttmp=exp(lnT);
			integ+=sgStar(Ttmp,paramrelic)*dark_entropy_Sigmad(Ttmp,paramrelic)/sqrt(1.+dark_density(Ttmp,paramrelic)/(pi*pi/30.*geff(Ttmp,paramrelic)*pow(Ttmp,4.)))/pow(heff(Ttmp,paramrelic),2.)/pow(Ttmp,5.);
		}
		
integ+=sgStar(T,paramrelic)*dark_entropy_Sigmad(T,paramrelic)/sqrt(1.+dark_density(T,paramrelic)/(pi*pi/30.*geff(T,paramrelic)*pow(T,4.)))/pow(heff(T,paramrelic),2.)/pow(T,5.)/2.;
		
		integ*=dlnT;

		double Mplanck=1.2209e19;	

		return 3.*Mplanck*sqrt(5./4./pi/pi/pi)*heff(T,paramrelic)*T*T*T*integ;	
	}
}
Example #2
0
File: omega.c Project: WeenAFK/BBN
double dark_entropy_derivative(double T, struct relicparam paramrelic)
/* computes the dark energy entropy derivative at temperature T */
{
	if((paramrelic.sd0==0.)&&(paramrelic.Sigmad0==0.)) return 0.;
	
	if((paramrelic.Sigmad0==0.)&&(T<paramrelic.Tsend)) return 0.;
	
	if(paramrelic.Sigmad0==0.)
	{
		return (dark_entropy(T*1.001,paramrelic)-dark_entropy(T*0.999,paramrelic))/0.002/T;
	}
	else
	{
	
		double Mplanck=1.2209e19;	
		return 3.*sgStar(T,paramrelic)/T/heff(T,paramrelic)*(sqrt(geff(T,paramrelic))*dark_entropy(T,paramrelic)-sqrt(5.*Mplanck/4./pi/pi/pi)/T/T*dark_entropy_Sigmad(T,paramrelic)/sqrt(1.+dark_density(T,paramrelic)/(pi*pi/30.*geff(T,paramrelic)*pow(T,4.))));
	}
}
Example #3
0
double CosmologyModel::dark_entropy_derivative(double T)
/* computes the dark energy entropy derivative at temperature T */
{
	if((sd0==0.)&&(Sigmad0==0.)) return 0.;
	
	if((Sigmad0==0.)&&(T<Tsend)) return 0.;
	
	if(Sigmad0==0.)
	{
		return (dark_entropy(T*1.001)-dark_entropy(T*0.999))/0.002/T;
	}
	else
	{
	
		double Mplanck=1.2209e19;	
		return 3.*sgStar(T)/T/heff(T)*(sqrt(geff(T))*dark_entropy(T)-sqrt(5.*Mplanck/4./pi/pi/pi)/T/T*dark_entropy_Sigmad(T)/sqrt(1.+dark_density(T)/(pi*pi/30.*geff(T)*pow(T,4.))));
	}
}