The time it takes for a spherical object to cool from an initial temperature of
ID: 3573975 • Letter: T
Question
The time it takes for a spherical object to cool from an initial temperature of T_init to a final temperature of T_fin, caused entirely by radiation, is provided by Kelvin's cooling equation: t = Nk/2e sigma A[1/T_fin^3 - 1/T_init^3] t is the cooling time in years. N is the number of atoms. k is Boltzmann's constant (138 times 10^-23 m^2kg/s^2 K; note that 1 Joule = 1 m^2kg/s^2). e is emissivity of the object. sigma is Stefan-Boltzmanns constant (5.6703 times 10^-8 watts/m^2K^4). A is the surface area. T_fin is the final temperature. T_init is the initial temperature. Assuming an infinitely hot initial temperature, this formula reduces to t = Nk/2e sigmaAT_fin^3 Using this second formula, write a C++ program to determine the time it took Earth to cool to its current surface temperature of 300 degree K from its initial infinitely hot state, assuming the cooling is caused only by radiation. Use the information that the area of the Earth's surface is 5.15 times 10^14 m^2, its emissivity is 1, the number of atoms contained in the Earth is 1.1 times 10^50, and the radius of the Earth is 6.4 times 10^6 meters. Additionally, use the relationship that a sphere's surface area is given by this formula: Surface area of a sphere = 4 pi r^2Explanation / Answer
/*
C ++ program that finds the time taken by
earth from infinite temperature to temperature
of present 300k .and print the t to console
*/
//temp.cpp
#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
//Set number of atoms in earth
double N=1.1*10E50;
//Set Boltzmann's constant
double k=1.38*10E-23;
//Set emmission
double e=1.0;
//Set constant for Stefan-Boltzmann's constant
double SB=5.6703*10E-8;
//surface area of earth
double SA=5.15*10E14;
//temperature in kelvin
double finalTemp=300;
//calculate time taken by earth to reach
//from infinite temp to current temp of 300k(26 deg)
double t=(N*k)/(2*e*SB*SA*pow(finalTemp,3.0));
//print to console
cout<<fixed<<setprecision(3)<<"Time taken by earth : "
<<t<<endl;
//paue program output on console
system("pause");
return 0;
}
sample output:
Time taken by earth : 962641866729.235
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.