universe.common.database.accrete
Class Blackbody

java.lang.Object
  |
  +--universe.common.database.accrete.AccreteObject
        |
        +--universe.common.database.accrete.Blackbody
All Implemented Interfaces:
PhysicalConstants
Direct Known Subclasses:
Planet, Star

public class Blackbody
extends AccreteObject
implements PhysicalConstants

A Blackbody represents a body which radiates energy in a predictable curve based solely on temperature. Main sequence stars follow this curve fairly well, as do most planets.

Copyright information

This Java class is copyright 1998 by Carl Burke. All rights reserved. Substantial sections of this code were previously distributed in different form as part of 'starform' (copyright 1989 Matthew Burdick)

This software is provided absolutely free and without warranty, including but not limited to the implied warranties of merchantability and fitness for a purpose. You may use this code for any legal purpose provided that you do not charge for it; this implies that you may use this code as a component of a commercial system as long as the additional functionality of the commercial system is greater than what this code provides and that the commercial system is not primarily intended as a simulation of solar system formation. In other words, if you want to write a science-fiction computer game that uses the code in this package to build objects which are used in the game, that's great and permitted; if you use this code to make a kickass solar-system-builder, you are not allowed to distribute that software except for free.

You are allowed and encouraged to modify this software, provided that this copyright notice remains intact. This notice may be reformatted, but not removed.

If you do use this software, I and the contributing authors listed under "Acknowledgements" would appreciate some recognition. If you make changes, I would appreciate it if you would pass those changes back to me for possible inclusion in the master. At the time this notice was prepared, my email address is cburke@mitre.org and the home page for this software is http://www.geocities.com/Area51/6902/w_accr.html.

Acknowledgements

Matt Burdick, the author of 'starform' (freeware copyright 1989); much of the code (particularly planetary environments) was adapted from this.

Andrew Folkins, the author of 'accretion' (public domain) for the Amiga; I used chunks of his code when creating my displays.

Ed Taychert of Irony Games, for the algorithm he uses to classify terrestrial planets in his tabular CGI implementation of 'starform'.

Paul Schlyter, who provided information about computing planetary positions.


Field Summary
static double SIGMA
           
 double TEMP
          Temperature of the body, in degrees Kelvin.
 
Fields inherited from class universe.common.database.accrete.AccreteObject
cr
 
Fields inherited from interface universe.common.database.accrete.PhysicalConstants
A1_20, A2_20, AIRLESS_ICE_ALBEDO, ALPHA, AMMONIA, ANGSTROM, ARGON, ATOMIC_HYDROGEN, ATOMIC_NITROGEN, ATOMIC_OXYGEN, B, BETA_20, BK, CARBON_DIOXIDE, CARBON_MONOXIDE, CHANGE_IN_EARTH_ANG_VEL, CLOUD_ALBEDO, CLOUD_COVERAGE_FACTOR, CM_PER_AU, CM_PER_KM, CM_PER_METER, CO2, DAYS_IN_A_YEAR, DEG_TO_RAD, DUST_DENSITY_COEFF, EARTH_ACCELERATION, EARTH_ALBEDO, EARTH_AXIAL_TILT, EARTH_CONVECTION_FACTOR, EARTH_DENSITY, EARTH_EFFECTIVE_TEMP, EARTH_EXOSPHERE_TEMP, EARTH_MASS_IN_GRAMS, EARTH_RADIUS, EARTH_SURF_PRES_IN_MILLIBARS, EARTH_WATER_MASS_PER_AREA, ECCENTRICITY_COEFF, FREEZING_POINT_OF_WATER, G, GAS_GIANT_ALBEDO, GAS_RETENTION_THRESHOLD, GRAV_CONSTANT, GREENHOUSE_EFFECT_CONST, H2, H2O, HELIUM, HYDROGEN_SULPHIDE, ICE_ALBEDO, INCREDIBLY_LARGE_NUMBER, J, K, KELVIN_CELCIUS_DIFFERENCE, KM_EARTH_RADIUS, KM_PER_AU, KRYPTON, MEARTH, METHANE, MH, MILLIBARS_PER_BAR, MOL_HYDROGEN, MOL_NITROGEN, MOL_OXYGEN, MOLAR_GAS_CONST, N, N2, NEON, NITRIC_OXIDE, NITROGEN_DIOXIDE, NITROUS_OXIDE, O2, OZONE, PI, Q1_36, Q2_36, RAD_TO_DEG, RADIANS_PER_ROTATION, ROCKY_AIRLESS_ALBEDO, ROCKY_ALBEDO, SECONDS_PER_HOUR, SOLAR_MASS_IN_GRAMS, SULPH_DIOXIDE, SULPH_TRIOXIDE, SUN_MASS_IN_EARTH_MASSES, WATER_ALBEDO, WATER_VAPOR, XENON
 
Constructor Summary
Blackbody()
           
 
Method Summary
 double E(double LAMBDA)
          Returns blackbody emission of this body in ergs per square centimeter by solving the emission equation at a specified wavelength.
 double EMIT()
          Returns total blackbody emission of this body in ergs per square centimeter.
 double IREMIT()
          Returns infrared blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 7,000 and 10,000,000 angstroms.
 double UVEMIT()
          Returns ultraviolet blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 100 and 4,000 angstroms.
 double VISEMIT()
          Returns visible light blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 4,000 and 7,000 angstroms.
 
Methods inherited from class universe.common.database.accrete.AccreteObject
about, LognormalDeviate, nextDouble, NormalDeviate, random_eccentricity, random_number
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIGMA

public static final double SIGMA
See Also:
Constant Field Values

TEMP

public double TEMP
Temperature of the body, in degrees Kelvin.

Constructor Detail

Blackbody

public Blackbody()
Method Detail

E

public final double E(double LAMBDA)
Returns blackbody emission of this body in ergs per square centimeter by solving the emission equation at a specified wavelength.

Parameters:
LAMBDA - Wavelength in angstroms

VISEMIT

public final double VISEMIT()
Returns visible light blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 4,000 and 7,000 angstroms.


IREMIT

public final double IREMIT()
Returns infrared blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 7,000 and 10,000,000 angstroms.


UVEMIT

public final double UVEMIT()
Returns ultraviolet blackbody emission of this body in ergs per square centimeter by integrating the emission equation between 100 and 4,000 angstroms.


EMIT

public final double EMIT()
Returns total blackbody emission of this body in ergs per square centimeter.



Copyright © 2001 Universe Dev Team All Rights Reserved.