.. _physics-universeOperator: Universe Operators ================== Class providing operators that act on ``universe`` objects---top-level transformations applied to a fully-evolved Galacticus universe (containing the complete set of merger trees and their galaxies) prior to or after model evolution. Universe operators can perform global post-processing steps such as computing derived statistics, writing supplementary output, or modifying global properties. The interface provides a single ``operate`` method that receives the universe object and performs whatever transformation the implementation requires. **Default implementation:** ``universeOperatorIdentity`` Methods ------- ``operate`` → ``void`` Operate on the universe. * ``type(universe), intent(inout) :: universe_`` .. _physics-universeOperatorIdentity: ``universeOperatorIdentity`` ---------------------------- An identity operator on universes. **(Default implementation)** **Parameters** * ``[redshift]`` (default ``0.0d0``) — The redshift at which the transfer function is defined. .. _physics-universeOperatorIntergalacticMediumStateEvolve: ``universeOperatorIntergalacticMediumStateEvolve`` -------------------------------------------------- An operator on universes which attaches hooks to compute evolution of the intergalactic medium. **Methods** * ``stateSet`` — Set the state of the IGM state class up to the given time index. **Parameters** * ``[timeCountPerDecade]`` (default ``10``) — The number of bins per decade of time to use for calculations of the properties of the universe. * ``[redshiftMinimum]`` (default ``0.0d0``) — The minimum redshift to use in calculations. * ``[redshiftMaximum]`` (default ``400.0d0``) — The maximum redshift to use in calculations.