Welcome to The Small Step Engine.


Home

Overview

Learning Materials

Further Development

References

Downloads

Contact

Used Equations and Subsequent Code

Input Parameters

Stars
Type (O/B/A/F/G/K/M/*L/*T/*Y),
Rotational direction,
*Rotational Time,
*Mass,
*Radius,
*Temperature.

Planets and Satellites
Radius,
Mass,
Rotational direction,
Rotational Offset,
Rotational period,
Orbital direction,
Orbital period,
Orbit elliptical offset,
Chemical composition.

Calculated Parameters

Stars
Bolometric Luminosity (W) = A(m) * T^4 * σ.
//Calculate the stars luminosity.
//4 * PI * r^2 for ther total surface area of the star.
//r *= 695990000.0f to get radius in metres.
//* temperature ^ 4
//* 0.00000005670373f for the 'Stefan-Boltzmann' constant.
setLuminosity(4.0f * FLOAT_PI * pow(v_radius * 695990000.0f, 2) * pow(v_temperatureAverage, 4) * 0.00000005670373f);

Planets and Satellites
m = Mass (kg) = ρ * V (kg) * r^3 (cm).
//Calculate object relative mass.
//0.0041888 derived from Volume (4/3*pi)/1000. 1000 to convert density into kilograms.
//* 69599000000.0f to convert from Solar Radii to cm.
//Radius cubed for inverse square law.
v_massKG = v_averageDensity * 0.0041888f * pow(v_radius * 69599000000.0f, 3);
v_solarMass = v_massKG / (1.989 * pow(10, 30));

ρ = Density (g/cm^3) = ((Chemical ρ * Chemical Ratio) / Total Chemical Ratio).
//For each present chemical...
v_averageDensity += QString::fromStdString(xmlChemicals->elementGetAt(0)->elementGetAt(vsp_chemicalParams->chemicalGetAt(x)->getIdentifier())->valueElementGetAt(3)->getValue()).toFloat() * (vsp_chemicalParams->chemicalGetAt(x)->getValue() / totalRatio);

Star Induced Temperature (deg K) = Parent T * √ (2 * Parent r (AU) / d (AU)).
//Calculate object relative temperature.
//* 0.0046491f to convert from Solar Radius to Astronomical unit.
// 149.597871f to get astronomical unit from Gm.
//Calculate the temperature induced by the parent.
v_temperatureFromParent = parentParams->getTemperatureAverage() * pow((parentParams->getRadius() * 0.0046491f) / ((v_distance / 149.597871f) * 2.0f), 0.5f);

Star Induced Luminosity (W/m^2) = Star Luminosity / (4 * π * d^2 (m)).
//Calculate object relative luminosity from the given luminosity (parent star).
//* 1000000000.0f for metres.
v_averageLuminosity = givenLuminosity / (4 * FLOAT_PI * pow(v_distance * 1000000000.0f, 2));

Planetary Average Speed (Gm) = (2 * π * d) / t (hrs)
//Calculate the objects relative speed.
//time * 24 to get time in earth hours.
//* 1000 to get Mm instead of Gm.
v_speed = ((2 * FLOAT_PI * v_distance) / (v_time * 24.0f)) * 1000.0f;

g = Surface Gravity (m/s^2) = G * m (kg) / r^2 (cm).
//Calculate the moons gravity value.
//g = GM/r^2
v_gravity = (GRAVITATIONALCONSTANT * v_massKG) / pow(v_radius * 695990000.0f, 2);

State Ratios (from chemical composition)

Atmospheric Colour (from spectra)

Liquid Colour (from spectra)

Ground Colour (from spectra)

Semi-Major Axis (km) = Parent m (Rʘ) * t^2 (Earth Days) = d^3 (km).
//Calculate the objects distance from the parent star.
//Time divided by 365.26 to get a solar year.
//time^2 = distance^3 (Inverse square law).
//* 149.597871f to get astronomical unit from Gm.
v_distance = (pow(parentParams->getMass() * pow(v_time / 365.26f, 2), 0.3333333f) * 149.597871f);

Aphelion= Parent m (Rʘ) * t2 (Earth Days) = (d * (1 – orbit offset (%))^3 (km).

Perihelion = Parent m (Rʘ) * t2 (Earth Days) = (d * (1 + orbit offset (%))^3 (km).
Copyright ©TSSE 2013. Contact via support@tssengine.com