Skip to main content

A framework for conducting agent-based simulations of SETI

Project description

This Python package allows the user to setup and run an agent-based simulation of a SETI survey. The package allows the creation of a population of observing and transmitting civilisations. Each transmitter and observer conducts their activities according to an input strategy. The success of observers and transmitters can then be recorded, and multiple simulations can be run for Monte Carlo Realisation.

This package is therefore a flexible framework in which to simulate and test different SETI strategies, both as an Observer and as a Transmitter.

![](doc/xymovie.gif)

Features

  • Object-oriented, agent-driven simulation of Observers and Transmitters

  • Simulates continuous and pulsing broadcasts at a defined beam-size

  • Permits transmission/observation as a scan across the sky, or as a series of discrete pointings

  • Accounts for Doppler drift due to transmitters/observers orbiting a host star

  • Generates maps of the sky as seen from Observers’ point of view

Future Features/Wishlist

  • Currently designed for electromagnetic communications - in principle extendable to e.g. neutrino or gravitational wave emission

  • Interstellar scintillation/absorption/dispersion

Installation Instructions

This package is yet to be hosted on PyPI…

Examples of Use

Examples of how to use tak-tent to setup and conduct SETI simulations can be found in the src/examples/ folder.

Package Structure

The package contains several modules defining six fundamental classes:

### agents/

Vector3D - a 3D cartesian vector class

Agent - a generic agent base class

Transmitter(Agent) - a transmitting civilisation

Observer(Agent) - an observing civilisation

### strategies/

Strategy - a base class that defines generic targeting behaviour of an agent as a function of time

PointingStrategy(Strategy) - A discrete pointing strategy (defined by a list of target vectors) scanningStrategy(Strategy) - A continuous pointing strategy (defined by a target vector function)

### population/

Population - a class that defines the combined population of Transmitters and Observers, and drives the simulation

Code dependencies

The code has been developed in Python 3.6, using numpy 1.14.3 and matplotlib 2.2.2

The Name

The name “taktent” is derived from the Scots phrase “tak tent o’ the sma things”, which translates as “pay attention to the little things”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taktent-0.700001.tar.gz (15.6 kB view details)

Uploaded Source

File details

Details for the file taktent-0.700001.tar.gz.

File metadata

  • Download URL: taktent-0.700001.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for taktent-0.700001.tar.gz
Algorithm Hash digest
SHA256 a8968124c8e62f29d1ce9300f8825a8545b8abdf8674d968d42406c29ef71c21
MD5 c6cb01f3bcf35059ad66e43750004e06
BLAKE2b-256 74f44c0221a37f203d6d481a24b223f79c594f53caa50f9688ce995a50cb6e7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page