hera_sim.visibilities.fftvis.FFTVis¶
- class hera_sim.visibilities.fftvis.FFTVis(*, precision: int = 2, mpi_comm=None, check_antenna_conjugation: bool = True, **kwargs)[source]¶
fftvis visibility simulator.
This is a fast visibility simulator based on the Flatiron Non-Uniform Fast Fourier Transform (https://github.com/flatironinstitute/finufft). This class calls the fftvis package (https://github.com/tyler-a-cox/fftvis) which utilizes the finufft algorithm to evaluate the measurement equation by gridding and fourier transforming an input sky model. The simulated visibilities agree with matvis to high precision, and are often computed more quickly than matvis. FFTVis is particularly well-suited for simulations with compact arrays with large numbers of antennas, and sky models with many sources.
- Parameters:
precision (int, optional) – Which precision level to use for floats and complex numbers. Allowed values: - 1: float32, complex64 - 2: float64, complex128
mpi_comm (MPI communicator) – MPI communicator, for parallelization.
check_antenna_conjugation – Whether to check the antenna conjugation. Default is True. This is a fairly heavy operation if there are many antennas and/or many times, and can be safely ignored if the data_model was created from a config file.
**kwargs – Passed through to :func:fftvis.SimulationEngine.simulate function.
Methods
compress_data_model(data_model)Temporarily delete/remove data from the model to reduce memory usage.
estimate_memory(data_model)Estimates the memory usage of the model.
from_yaml(yaml_config)Generate the simulator from a YAML file or dictionary.
get_feed(uvdata)Get the feed to use from the beam, given the UVData object.
restore_data_model(data_model)Restore data from the model removed by
compress_data_model().simulate(data_model)Calls
fftvis()to perform the visibility calculation.validate(data_model)Checks for correct input format.
Attributes
Whether this particular simulator has the ability to simulate diffuse maps directly.
Whether this particular simulator has the ability to simulate point sources directly.