Пример #1
0
def birthVelocity(pulsar, pop):
    """ Get a birth veolocity for the pulsar"""

    bvM = pop.birthVModel
    mean = pop.birthvmean
    sigma = pop.birthvsigma
    if bvM == 'gaussian':
        pulsar.vx = random.gauss(mean, sigma)
        pulsar.vy = random.gauss(mean, sigma)
        pulsar.vz = random.gauss(mean, sigma)
    elif bvM == 'exp':
        pulsar.vx = dists.draw_double_sided_exp(sigma, origin=mean)
        pulsar.vy = dists.draw_double_sided_exp(sigma, origin=mean)
        pulsar.vz = dists.draw_double_sided_exp(sigma, origin=mean)
    else:
        raise EvolveException('Invalid velocity model selected')
Пример #2
0
def birthVelocity(pulsar, pop):
    """ Get a birth veolocity for the pulsar"""

    bvM = pop.birthVModel
    mean = pop.birthvmean
    sigma = pop.birthvsigma
    if bvM == 'gaussian':
        pulsar.vx = random.gauss(mean, sigma)
        pulsar.vy = random.gauss(mean, sigma)
        pulsar.vz = random.gauss(mean, sigma)
    elif bvM == 'exp':
        pulsar.vx = dists.draw_double_sided_exp(sigma, origin=mean)
        pulsar.vy = dists.draw_double_sided_exp(sigma, origin=mean)
        pulsar.vz = dists.draw_double_sided_exp(sigma, origin=mean)
    else:
        raise EvolveException('Invalid velocity model selected')
Пример #3
0
def galacticDistribute(pulsar, pop):
    """ select a galactic position - spiral arms on or off?"""
    if not pop.nospiralarms:
        # using spiral arms
        r0 = go.ykr()
        x, y = go.spiralize(r0)
    else:
        # distribute randomly in x-y plane
        x = -20. + random.random() * 40.
        y = -20. + random.random() * 40.

    # calculate z and r0
    z = dists.draw_double_sided_exp(pop.zscale)
    pulsar.galCoords = (x, y, z)
    pulsar.r0 = math.sqrt(x**2 + y**2)
Пример #4
0
def galacticDistribute(pulsar, pop):
    """ select a galactic position - spiral arms on or off?"""
    if not pop.nospiralarms:
        # using spiral arms
        r0 = go.ykr()
        x, y = go.spiralize(r0)
    else:
        # distribute randomly in x-y plane
        x = -20. + random.random()*40.
        y = -20. + random.random()*40.

    # calculate z and r0
    z = dists.draw_double_sided_exp(pop.zscale)
    pulsar.galCoords = (x, y, z)
    pulsar.r0 = math.sqrt(x**2 + y**2)