Exemple #1
0
import numpy
from numpy import random
import time as pytime

import os.path

from amuse.units import quantities
from amuse.units import units
from amuse.units import nbody_system
from amuse.units.core import named_unit
from amuse.units.optparse import OptionParser
from amuse.datamodel import Particle, Particles
from amuse.community.kepler.interface import Kepler
from amuse.io import write_set_to_file

MEarth = named_unit("MEarth", "MEarth", 5.97219e+24 * units.kg)


def get_mass(a, surface_density_factor=1.0, mstar=1 | units.MSun):
    s = surface_density_factor * (10.0 | (units.g / units.cm**2))
    z = 2 * numpy.pi * a * s * ((a / (5.0 | units.AU))**-(3.0 / 2.0)) * 4.0 * a
    return (2.0 * z**3 / (3.0 * mstar)).sqrt()


def get_orbital_separation(mass, a, mstar=1 | units.MSun):
    return 10.0 * a * (2 * mass / (3.0 * mstar))**(1.0 / 3.0)


def get_mass_and_orbital_separation(a,
                                    surface_density_factor=1.0,
                                    mstar=1 | units.MSun):
Exemple #2
0
from amuse.units.units import *
from amuse.units.core import named_unit
from amuse.units.quantities import zero

mm = milli(m)
Celsius = named_unit("Celsius", "celsius", K)
Exemple #3
0
from amuse.units.units import *
from amuse.units.core import named_unit
from amuse.units.quantities import zero

Rearth = named('Earth radius', 'Rearth', 6371.0088 * km)
Sv = named_unit("Sverdrup", "Sv", 1.e6 * m**3 / s)
dyn = named_unit("Dyne", "dyn", 1.e-5 * N)
bar = named_unit("Bar", "bar", 1.e5 * Pa)
dbar = deci(bar)
mbar = milli(bar)

salt = named("absolute reference salinity", "Sr", g / kg)
psu = named("practical salinity unit", "psu", (35.16504 / 35.) * salt)

nautical_mile = named_unit("Nautical Mile", "nMile", 1852. * m)
knot = named_unit("Knot", "knot", nautical_mile / hour)

Celsius = named_unit("Celsius", "celsius", K)

shu = named("specific humidity unit", "shu", kg / kg)
ahu = named("absolute humidity unit", "ahu", kg / m**3)
rhu = named("relative humidity unit", "rhu", percent)

mfu = named("mass fraction unit", "mfu", kg / kg)
ccu = named("cloud coverage unit", "ccu", m**2 / m**2)

ppb = named("parts per billion", "ppb", 1.e-9 * none)

vsmc = named("volumetric soil moisture content", "vsmc", m**3 / m**3)
Exemple #4
0
Not all of the Amuse & Astropy quantities match exactly

"""

__author__ = "Nathaniel Starkman"

__all__ = []

##############################################################################
# IMPORTS

# GENERAL
import amuse.units.units as _amu
import amuse.units.core as _core

from amuse.units.units import *  # so this module is a drop-in for amuse units

###############################################################################
# UNITS

mas = _core.named_unit("milliarcsecond", "mas", _amu.arcsec / 1000)

###############################################################################
# __ALL__

# __all__ += _amu.__all__
__all__ += ["mas"]

##############################################################################
# END
import time as pytime

import os.path


from amuse.units import quantities
from amuse.units import units
from amuse.units import nbody_system
from amuse.units.core import named_unit
from amuse.units.optparse import OptionParser
from amuse.datamodel import Particle, Particles
from amuse.community.kepler.interface import Kepler
from amuse.io import write_set_to_file


MEarth = named_unit("MEarth", "MEarth", 5.97219e+24 * units.kg)


def get_mass(a, surface_density_factor = 1.0, mstar = 1 | units.MSun):
    s = surface_density_factor * (10.0 | (units.g / units.cm**2))
    z = 2 * numpy.pi * a * s * ((a / (5.0|units.AU) ) ** -(3.0/2.0)) * 4.0 * a
    return (2.0 * z ** 3 / (3.0 * mstar)).sqrt()
    
def get_orbital_separation(mass, a, mstar = 1 | units.MSun):
    return 10.0 * a * (2*mass/(3.0 * mstar)) ** (1.0/3.0)


def get_mass_and_orbital_separation(a, surface_density_factor = 1.0, mstar = 1 | units.MSun):
    mass = get_mass(a, surface_density_factor = surface_density_factor, mstar = mstar)
    orbital_separation = get_orbital_separation(mass, a, mstar = mstar)
    return mass, orbital_separation