ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_cosmology Module Reference

This module contains procedures and generic interfaces and constants for cosmological calculations. More...

Data Types

interface  getDisAngNormed
 Generate and return the cosmological Angular Diameter Distance normalized to Hubble Distance, given the user-specified cosmological parameters. More...
 
interface  getDisComNormed
 Generate and return the cosmological line-of-sight Comoving Distance normalized to Hubble Distance, given the user-specified cosmological parameters. More...
 
interface  getDisComTransNormed
 Generate and return the cosmological Transverse Comoving Distance normalized to Hubble Distance, given the user-specified cosmological parameters. More...
 
interface  getDisComTransNormedWU10
 Generate and return the approximate to the cosmological Transverse Comoving Distance normalized to Hubble Distance, given the user-specified cosmological parameters with negligible Curvature ( \(\Omega_K\)) and Radiation ( \(\Omega_R\)) density parameters. More...
 
interface  getDisLookbackNormed
 Generate and return the cosmological Lookback Distance (or equivalently, the Lookback Time) at the desired redshift normalized to Hubble Distance (or equivalently, to Hubble Time), given the user-specified cosmological parameters. More...
 
interface  getDisLumNormed
 Generate and return the cosmological Luminosity Distance normalized to Hubble Distance, given the user-specified cosmological parameters. More...
 
interface  getHubbleParamNormedSq
 Generate and return the square of the dimensionless Hubble Parameter \(E(z)^2 = \big(\frac{H(z)}{H_0}\big)^2\) for the default or the specified cosmological parameters.
More...
 
interface  getSizeUnivNormed
 Generate and return the cosmological size (or equivalently, the age) of the Universe at the desired redshift normalized to Hubble Distance (or equivalently, to Hubble Time), given the user-specified cosmological parameters. More...
 
interface  getVolComDiffNormed
 Generate and return the cosmological Comoving Volume Element per unit solid angle of the sky (i.e., 1 Steradian normalized to Hubble Volume, given the user-specified cosmological parameters. More...
 
interface  getVolComNormed
 Generate and return the full-sky ( \(4\pi\) Steradian) cosmological Comoving Volume normalized to Hubble Volume, given the user-specified cosmological parameters.
More...
 
interface  setVolComDiffNormed
 Generate and return the cosmological Comoving Volume Differential (Element) per unit solid angle of the sky (i.e., 1 Steradian normalized to Hubble Volume, given the user-specified cosmological parameters. More...
 

Variables

character(*, SK), parameter MODULE_NAME = "@pm_cosmology"
 
real(RKB), parameter YR2SEC = 31557600._RKB
 The scalar real constant of kind with highest available precision RKB representing the exact number of seconds in a year, based on the definition of the light year. See also MEAN_SECONDS_PER_YEAR. More...
 
real(RKB), parameter LIGHT_SPEED = 2.99792458e5_RKB
 The scalar real constant of kind with highest available precision RKB representing the exact speed of light (km/s). More...
 
real(RKB), parameter LYR2CM = 946073047258080000._RKB
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of one light-year to centimeters. More...
 
real(RKB), parameter PIPC2M = 9.6939420213600000e16_RKB
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of \(\pi\) Parsecs to meters. More...
 
real(RKB), parameter MPC2CM = PIPC2M * 1.e8_RKB / acos(-1._RKB)
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Centimeters. More...
 
real(RKB), parameter MPC2KM = MPC2CM / 1.e5_RKB
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Kilometers. More...
 
real(RKB), parameter MPC2LY = MPC2CM / LYR2CM
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to light years LY. More...
 
real(RKB), parameter MPC2GLY = MPC2LY / 1.e9_RKB
 The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Giga light years GLY. More...
 
real(RKB), parameter LOG_MPC2CM = log(MPC2CM)
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of MPC2CM. More...
 
real(RKB), parameter OMEGA_M = 0.31_RKB
 The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Dark Matter density in the \(\lambda\)CDM Cosmology. More...
 
real(RKB), parameter OMEGA_L = 0.69_RKB
 The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Dark Energy density in the \(\lambda\)CDM Cosmology. More...
 
real(RKB), parameter OMEGA_R = 0.0_RKB
 The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Radiation density in the \(\lambda\)CDM Cosmology. More...
 
real(RKB), parameter OMEGA_K = 0.0_RKB
 The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Curvature density in the \(\lambda\)CDM Cosmology. More...
 
real(RKB), parameter HUBBLE_CONST = 67.7_RKB
 The scalar real constant of kind with highest available precision RKB representing the Hubble constant in units of km/s/Mpc. More...
 
real(RKB), parameter LOG_LIGHT_SPEED = log(LIGHT_SPEED)
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the speed of light. More...
 
real(RKB), parameter LOG_HUBBLE_CONST = log(HUBBLE_CONST)
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble constant in units of km/s/Mpc. More...
 
real(RKB), parameter INV_HUBBLE_CONST = 1._RKB / HUBBLE_CONST
 The scalar real constant of kind with highest available precision RKB representing the inverse of the Hubble constant in units of Mpc*s/km. More...
 
real(RKB), parameter HUBBLE_DISTANCE_MPC = LIGHT_SPEED / HUBBLE_CONST
 The scalar real constant of kind with highest available precision RKB representing the Hubble Distance in units of Mpc (defined as the speed of light divided by the Hubble constant).
See also HUBBLE_DISTANCE_GLY. More...
 
real(RKB), parameter HUBBLE_DISTANCE_GLY = HUBBLE_DISTANCE_MPC * MPC2GLY
 The scalar real constant of kind with highest available precision RKB representing the Hubble Distance in units of Giga light years GLY.
See also HUBBLE_DISTANCE_MPC. More...
 
real(RKB), parameter LOG_HUBBLE_DISTANCE_MPC = log(HUBBLE_DISTANCE_MPC)
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Distance in units of Mpc. More...
 
real(RKB), parameter LOG_HUBBLE_DISTANCE_CM = LOG_HUBBLE_DISTANCE_MPC + LOG_MPC2CM
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Distance in units of cm. More...
 
real(RKB), parameter HUBBLE_VOLUME_MPC3 = HUBBLE_DISTANCE_MPC**3
 The scalar real constant of kind with highest available precision RKB representing the Hubble Volume in units of Mpc^3.
See also HUBBLE_VOLUME_GLY3. More...
 
real(RKB), parameter HUBBLE_VOLUME_GLY3 = HUBBLE_VOLUME_MPC3 * MPC2GLY**3
 The scalar real constant of kind with highest available precision RKB representing the Hubble Volume in units of Giga light years cubed GLY^3.
See also HUBBLE_VOLUME_MPC3. More...
 
real(RKB), parameter LOG_HUBBLE_VOLUME_MPC3 = log(HUBBLE_VOLUME_MPC3)
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Volume in units of Mpc^3. More...
 
real(RKB), parameter LOG_HUBBLE_VOLUME_CM3 = LOG_HUBBLE_VOLUME_MPC3 + LOG_MPC2CM * 3
 The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Volume in units of cm^3. More...
 
real(RKB), parameter HUBBLE_TIME_SEC = MPC2KM / HUBBLE_CONST
 The scalar real constant of kind with highest available precision RKB representing the exact Hubble time in units of seconds.
This the time the Universe needed to expand to its present size, assuming that the Hubble constant has remained unchanged since the Big Bang. It is defined as the reciprocal of the Hubble constant, \(\frac{1}{H_0}\). See "An Introduction to Modern Cosmology", Liddle 2003, page 57. More...
 
real(RKB), parameter HUBBLE_TIME_GYR = HUBBLE_DISTANCE_GLY
 The scalar real constant of kind with highest available precision RKB representing the approximate Hubble time in units of Giga-years.
This the time the Universe needed to expand to its present size, assuming that the Hubble constant has remained unchanged since the Big Bang. It is defined as the reciprocal of the Hubble constant, \(\frac{1}{H_0}\). See "An Introduction to Modern Cosmology", Liddle 2003, page 57. More...
 

Detailed Description

This module contains procedures and generic interfaces and constants for cosmological calculations.

Cosmological distances

In addition to common cosmological constants, this module also contains a set of generic interfaces for computing various measures of cosmological distances.

Specifically, the following measures are currently implemented:

Cosmological volumes

The normalized comoving volume of the Universe as a function of redshift and cosmological model parameters can be computed via getVolComNormed.

The differential comoving volume of the Universe as a function of redshift and cosmological model parameters can be computed via getVolComDiffNormed.

Hubble parameter

The Hubble parameter (the ratio of the rate of change of the scale factor of the universe to the current value of the scale factor) can be computed using the generic interface getHubbleParamNormedSq for various cosmological models.

See also
pm_cosmicRate
Distance measures in cosmology
Test:
test_pm_cosmology
Todo:
Normal Priority: A visualization comparison of all cosmological distances should be added here.
Test:
test_pm_distExp


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, Oct 16, 2009, 2:38 AM, Michigan

Variable Documentation

◆ HUBBLE_CONST

real(RKB), parameter pm_cosmology::HUBBLE_CONST = 67.7_RKB

The scalar real constant of kind with highest available precision RKB representing the Hubble constant in units of km/s/Mpc.

Definition at line 104 of file pm_cosmology.F90.

◆ HUBBLE_DISTANCE_GLY

real(RKB), parameter pm_cosmology::HUBBLE_DISTANCE_GLY = HUBBLE_DISTANCE_MPC * MPC2GLY

The scalar real constant of kind with highest available precision RKB representing the Hubble Distance in units of Giga light years GLY.
See also HUBBLE_DISTANCE_MPC.

Definition at line 111 of file pm_cosmology.F90.

◆ HUBBLE_DISTANCE_MPC

real(RKB), parameter pm_cosmology::HUBBLE_DISTANCE_MPC = LIGHT_SPEED / HUBBLE_CONST

The scalar real constant of kind with highest available precision RKB representing the Hubble Distance in units of Mpc (defined as the speed of light divided by the Hubble constant).
See also HUBBLE_DISTANCE_GLY.

Definition at line 109 of file pm_cosmology.F90.

◆ HUBBLE_TIME_GYR

real(RKB), parameter pm_cosmology::HUBBLE_TIME_GYR = HUBBLE_DISTANCE_GLY

The scalar real constant of kind with highest available precision RKB representing the approximate Hubble time in units of Giga-years.
This the time the Universe needed to expand to its present size, assuming that the Hubble constant has remained unchanged since the Big Bang. It is defined as the reciprocal of the Hubble constant, \(\frac{1}{H_0}\). See "An Introduction to Modern Cosmology", Liddle 2003, page 57.

Definition at line 127 of file pm_cosmology.F90.

◆ HUBBLE_TIME_SEC

real(RKB), parameter pm_cosmology::HUBBLE_TIME_SEC = MPC2KM / HUBBLE_CONST

The scalar real constant of kind with highest available precision RKB representing the exact Hubble time in units of seconds.
This the time the Universe needed to expand to its present size, assuming that the Hubble constant has remained unchanged since the Big Bang. It is defined as the reciprocal of the Hubble constant, \(\frac{1}{H_0}\). See "An Introduction to Modern Cosmology", Liddle 2003, page 57.

Definition at line 123 of file pm_cosmology.F90.

◆ HUBBLE_VOLUME_GLY3

real(RKB), parameter pm_cosmology::HUBBLE_VOLUME_GLY3 = HUBBLE_VOLUME_MPC3 * MPC2GLY**3

The scalar real constant of kind with highest available precision RKB representing the Hubble Volume in units of Giga light years cubed GLY^3.
See also HUBBLE_VOLUME_MPC3.

Definition at line 118 of file pm_cosmology.F90.

◆ HUBBLE_VOLUME_MPC3

real(RKB), parameter pm_cosmology::HUBBLE_VOLUME_MPC3 = HUBBLE_DISTANCE_MPC**3

The scalar real constant of kind with highest available precision RKB representing the Hubble Volume in units of Mpc^3.
See also HUBBLE_VOLUME_GLY3.

Definition at line 116 of file pm_cosmology.F90.

◆ INV_HUBBLE_CONST

real(RKB), parameter pm_cosmology::INV_HUBBLE_CONST = 1._RKB / HUBBLE_CONST

The scalar real constant of kind with highest available precision RKB representing the inverse of the Hubble constant in units of Mpc*s/km.

Definition at line 107 of file pm_cosmology.F90.

◆ LIGHT_SPEED

real(RKB), parameter pm_cosmology::LIGHT_SPEED = 2.99792458e5_RKB

The scalar real constant of kind with highest available precision RKB representing the exact speed of light (km/s).

Definition at line 91 of file pm_cosmology.F90.

◆ LOG_HUBBLE_CONST

real(RKB), parameter pm_cosmology::LOG_HUBBLE_CONST = log(HUBBLE_CONST)

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble constant in units of km/s/Mpc.

Definition at line 106 of file pm_cosmology.F90.

◆ LOG_HUBBLE_DISTANCE_CM

real(RKB), parameter pm_cosmology::LOG_HUBBLE_DISTANCE_CM = LOG_HUBBLE_DISTANCE_MPC + LOG_MPC2CM

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Distance in units of cm.

Definition at line 114 of file pm_cosmology.F90.

◆ LOG_HUBBLE_DISTANCE_MPC

real(RKB), parameter pm_cosmology::LOG_HUBBLE_DISTANCE_MPC = log(HUBBLE_DISTANCE_MPC)

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Distance in units of Mpc.

Definition at line 113 of file pm_cosmology.F90.

◆ LOG_HUBBLE_VOLUME_CM3

real(RKB), parameter pm_cosmology::LOG_HUBBLE_VOLUME_CM3 = LOG_HUBBLE_VOLUME_MPC3 + LOG_MPC2CM * 3

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Volume in units of cm^3.

Definition at line 121 of file pm_cosmology.F90.

◆ LOG_HUBBLE_VOLUME_MPC3

real(RKB), parameter pm_cosmology::LOG_HUBBLE_VOLUME_MPC3 = log(HUBBLE_VOLUME_MPC3)

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the Hubble Volume in units of Mpc^3.

Definition at line 120 of file pm_cosmology.F90.

◆ LOG_LIGHT_SPEED

real(RKB), parameter pm_cosmology::LOG_LIGHT_SPEED = log(LIGHT_SPEED)

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of the speed of light.

Definition at line 105 of file pm_cosmology.F90.

◆ LOG_MPC2CM

real(RKB), parameter pm_cosmology::LOG_MPC2CM = log(MPC2CM)

The scalar real constant of kind with highest available precision RKB representing the natural logarithm of MPC2CM.

Definition at line 98 of file pm_cosmology.F90.

◆ LYR2CM

real(RKB), parameter pm_cosmology::LYR2CM = 946073047258080000._RKB

The scalar real constant of kind with highest available precision RKB representing the exact conversion of one light-year to centimeters.

Definition at line 92 of file pm_cosmology.F90.

◆ MODULE_NAME

character(*, SK), parameter pm_cosmology::MODULE_NAME = "@pm_cosmology"

Definition at line 84 of file pm_cosmology.F90.

◆ MPC2CM

real(RKB), parameter pm_cosmology::MPC2CM = PIPC2M * 1.e8_RKB / acos(-1._RKB)

The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Centimeters.

Definition at line 94 of file pm_cosmology.F90.

◆ MPC2GLY

real(RKB), parameter pm_cosmology::MPC2GLY = MPC2LY / 1.e9_RKB

The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Giga light years GLY.

Definition at line 97 of file pm_cosmology.F90.

◆ MPC2KM

real(RKB), parameter pm_cosmology::MPC2KM = MPC2CM / 1.e5_RKB

The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to Kilometers.

Definition at line 95 of file pm_cosmology.F90.

◆ MPC2LY

real(RKB), parameter pm_cosmology::MPC2LY = MPC2CM / LYR2CM

The scalar real constant of kind with highest available precision RKB representing the exact conversion of one Mega-Parsec (Mpc) to light years LY.

Definition at line 96 of file pm_cosmology.F90.

◆ OMEGA_K

real(RKB), parameter pm_cosmology::OMEGA_K = 0.0_RKB

The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Curvature density in the \(\lambda\)CDM Cosmology.

Definition at line 102 of file pm_cosmology.F90.

◆ OMEGA_L

real(RKB), parameter pm_cosmology::OMEGA_L = 0.69_RKB

The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Dark Energy density in the \(\lambda\)CDM Cosmology.

Definition at line 100 of file pm_cosmology.F90.

◆ OMEGA_M

real(RKB), parameter pm_cosmology::OMEGA_M = 0.31_RKB

The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Dark Matter density in the \(\lambda\)CDM Cosmology.

Definition at line 99 of file pm_cosmology.F90.

◆ OMEGA_R

real(RKB), parameter pm_cosmology::OMEGA_R = 0.0_RKB

The scalar real constant of kind with highest available precision RKB representing the current best estimate of the normalized Radiation density in the \(\lambda\)CDM Cosmology.

Definition at line 101 of file pm_cosmology.F90.

◆ PIPC2M

real(RKB), parameter pm_cosmology::PIPC2M = 9.6939420213600000e16_RKB

The scalar real constant of kind with highest available precision RKB representing the exact conversion of \(\pi\) Parsecs to meters.

Definition at line 93 of file pm_cosmology.F90.

◆ YR2SEC

real(RKB), parameter pm_cosmology::YR2SEC = 31557600._RKB

The scalar real constant of kind with highest available precision RKB representing the exact number of seconds in a year, based on the definition of the light year. See also MEAN_SECONDS_PER_YEAR.

Definition at line 90 of file pm_cosmology.F90.