CosmoSim

CosmoSim is a simulator for gravitational lensing.

The Simulation Model

Usage

Attributes

Consistency

It is important to note that the setters do not ensure a consistent state. Hence, after setting parameters, the model must be updated to ensure consistency.

The Update Procedure

This could possibly be simplified

SimulatorModel flowchart

Technical Design

Components

C++ components

Python Components

Simulator Model Class

Virtual Functions

The following virtual functions have to be overridden by most subclasses. They are called from the main update function and overriding them, the entire lens model changes.

The constructor typically has to be overridden as well, to load the formulæ for $\alpha$ and $\beta$.

Getters

Getters are provided for the three images.

Update

The main routine of the Simulator is update() which recalculates the three images: actual, apparent, and distorted. This is called by the setters.

In addition to the virtual functions mentioned above, it depends on