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

This module contains relevant physical constants. More...

Data Types

type  uncertain_type
 This the derived type for constructing physical constants or unit conversions that are uncertain. More...
 

Variables

character(*, SK), parameter MODULE_NAME = "@pm_physUnit"
 
real(RKB), parameter PI = acos(-1._RKB)
 The scalar constant of type real of kind RKB representing the irrational number \(\pi\).
More...
 
real(RKB), parameter NAPIER = exp(1._RKB)
 The scalar constant of type real of kind RKB representing the Napier constant (a.k.a. Euler number) \(e = \exp(1)\). More...
 
real(RKB), parameter AU2METER = 149597870700._RKB
 The scalar constant of type real of kind RKB representing one astronomical unit unit of length in meters.
More...
 
real(RKB), parameter DEGREE2RADIAN = PI / 180._RKB
 The scalar constant of type real of kind RKB representing one degree in radians.
More...
 
real(RKB), parameter ARCMIN2RADIAN = PI / 10800._RKB
 The scalar constant of type real of kind RKB representing one arcminute in radians.
More...
 
real(RKB), parameter ARCSEC2RADIAN = PI / 648000._RKB
 The scalar constant of type real of kind RKB representing one arcsecond in radians.
More...
 
type(uncertain_type), parameter DALTON2KG = uncertain_type(1.660539040e-27_RKB, 2.e-35_RKB)
 The scalar constant of type real of kind RKB representing one Dalton in kilograms.
More...
 
real(RKB), parameter EV2JOULES = 1.602176634e-19_RKB
 The scalar constant of type real of kind RKB representing one electronvolt in Joules.
An electronvolt is the amount of kinetic energy gained or lost by a single electron accelerating from rest through an electric potential difference of one volt in vacuum. Hence, it has a value of one volt, \(1 J/C\), multiplied by the elementary charge \(e = 1.602176634\times10−19 C\).
Therefore, one electronvolt is equal to \(1.602176634×10−19 J\).
The electronvolt ( \(\ms{eV}\)) is a unit of energy, but is not an SI unit.
More...
 
real(RKB), parameter JOULES2ERGS = 1.e+7_RKB
 The scalar constant of type real of kind RKB representing one Joules of energy in ergs.
More...
 
real(RKB), parameter ERGS2JOULES = 1.e-7_RKB
 The scalar constant of type real of kind RKB representing one ergs of energy in Joules.
More...
 
real(RKB), parameter KEV2ERGS = 1000 * EV2JOULES * JOULES2ERGS
 The scalar constant of type real of kind RKB representing one kilo-electronvolts of energy in ergs.
More...
 
real(RKB), parameter ERGS2KEV = 1._RKB / KEV2ERGS
 The scalar constant of type real of kind RKB representing one ergs of energy in kilo-electronvolts.
More...
 

Detailed Description

This module contains relevant physical constants.

Note
The constants of this module are saved with the highest available real precision kind.
To use the constants at expressions involving lower-precision real kinds, simply convert the numbers to the desired kind via the Fortran intrinsic real(x, kind = RKG) where RKG refers to the target kind parameter used in the expression.
Developer Remark:
This is an experimental module still under development.
Other similar work includes but is not limited to Kim et al. 2017, Fortran 90 Programming With Physical Unit Annotations.


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.

Todo:
Normal Priority: Th contents of this module should be substantially expanded.
Conversion procedures for converting physical quantities in various units must be added.
Author:
Amir Shahmoradi, Oct 16, 2009, 11:14 AM, Michigan

Variable Documentation

◆ ARCMIN2RADIAN

real(RKB), parameter pm_physUnit::ARCMIN2RADIAN = PI / 10800._RKB

The scalar constant of type real of kind RKB representing one arcminute in radians.

Definition at line 68 of file pm_physUnit.F90.

◆ ARCSEC2RADIAN

real(RKB), parameter pm_physUnit::ARCSEC2RADIAN = PI / 648000._RKB

The scalar constant of type real of kind RKB representing one arcsecond in radians.

Definition at line 69 of file pm_physUnit.F90.

◆ AU2METER

real(RKB), parameter pm_physUnit::AU2METER = 149597870700._RKB

The scalar constant of type real of kind RKB representing one astronomical unit unit of length in meters.

Definition at line 66 of file pm_physUnit.F90.

◆ DALTON2KG

type(uncertain_type), parameter pm_physUnit::DALTON2KG = uncertain_type(1.660539040e-27_RKB, 2.e-35_RKB)

The scalar constant of type real of kind RKB representing one Dalton in kilograms.

Definition at line 70 of file pm_physUnit.F90.

◆ DEGREE2RADIAN

real(RKB), parameter pm_physUnit::DEGREE2RADIAN = PI / 180._RKB

The scalar constant of type real of kind RKB representing one degree in radians.

Definition at line 67 of file pm_physUnit.F90.

◆ ERGS2JOULES

real(RKB), parameter pm_physUnit::ERGS2JOULES = 1.e-7_RKB

The scalar constant of type real of kind RKB representing one ergs of energy in Joules.

Definition at line 78 of file pm_physUnit.F90.

◆ ERGS2KEV

real(RKB), parameter pm_physUnit::ERGS2KEV = 1._RKB / KEV2ERGS

The scalar constant of type real of kind RKB representing one ergs of energy in kilo-electronvolts.

Definition at line 80 of file pm_physUnit.F90.

◆ EV2JOULES

real(RKB), parameter pm_physUnit::EV2JOULES = 1.602176634e-19_RKB

The scalar constant of type real of kind RKB representing one electronvolt in Joules.
An electronvolt is the amount of kinetic energy gained or lost by a single electron accelerating from rest through an electric potential difference of one volt in vacuum. Hence, it has a value of one volt, \(1 J/C\), multiplied by the elementary charge \(e = 1.602176634\times10−19 C\).
Therefore, one electronvolt is equal to \(1.602176634×10−19 J\).
The electronvolt ( \(\ms{eV}\)) is a unit of energy, but is not an SI unit.

Definition at line 71 of file pm_physUnit.F90.

◆ JOULES2ERGS

real(RKB), parameter pm_physUnit::JOULES2ERGS = 1.e+7_RKB

The scalar constant of type real of kind RKB representing one Joules of energy in ergs.

Definition at line 77 of file pm_physUnit.F90.

◆ KEV2ERGS

real(RKB), parameter pm_physUnit::KEV2ERGS = 1000 * EV2JOULES * JOULES2ERGS

The scalar constant of type real of kind RKB representing one kilo-electronvolts of energy in ergs.

Definition at line 79 of file pm_physUnit.F90.

◆ MODULE_NAME

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

Definition at line 47 of file pm_physUnit.F90.

◆ NAPIER

real(RKB), parameter pm_physUnit::NAPIER = exp(1._RKB)

The scalar constant of type real of kind RKB representing the Napier constant (a.k.a. Euler number) \(e = \exp(1)\).

Definition at line 65 of file pm_physUnit.F90.

◆ PI

real(RKB), parameter pm_physUnit::PI = acos(-1._RKB)

The scalar constant of type real of kind RKB representing the irrational number \(\pi\).

Definition at line 64 of file pm_physUnit.F90.