Astro-Constants
view release on metacpan or search on metacpan
lib/Astro/Constants.pm6 view on Meta::CPAN
our constant ECCENTRICITY_LUNAR is export(:planetary) = 0.0549;
=head3 THOMSON_CROSS_SECTION
6.6524587321e-29 MKS
6.6524587321e-25 CGS
Thomson cross-section
This constant is also available using the alternate name C<THOMSON_XSECTION> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant THOMSON_CROSS_SECTION is export(:electromagnetic :nuclear) = 6.6524587321e-29;
=head3 MASS_ELECTRON
9.1093837015e-31 MKS
9.1093837015e-28 CGS
mass of electron
This constant is also available using the alternate name C<ELECTRON_MASS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant MASS_ELECTRON is export(:electromagnetic :nuclear) = 9.1093837015e-31;
=head3 MASS_PROTON
1.67262192369e-27 MKS
1.67262192369e-24 CGS
mass of proton
This constant is also available using the alternate name C<PROTON_MASS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant MASS_PROTON is export(:nuclear) = 1.67262192369e-27;
=head3 MASS_NEUTRON
1.67492749804e-27 MKS
1.67492749804e-24 CGS
neutron mass
This constant is also available using the alternate name C<NEUTRON_MASS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant MASS_NEUTRON is export(:nuclear) = 1.67492749804e-27;
=head3 MASS_HYDROGEN
1.6738e-27
mass of Hydrogen atom --
This value is from the IUPAC and is a little smaller than MASS_PROTON + MASS_ELECTRON, but within the uncertainty given here. The current value is 1.008u +/- 0.0002 derived from a range of terrestrial materials. If this is for precision work, you h...
This constant is also available using the alternate name C<HYDROGEN_MASS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant MASS_HYDROGEN is export(:nuclear) = 1.6738e-27;
=head3 MASS_ALPHA
6.6446573357e-27
mass of alpha particle
=end pod
our constant MASS_ALPHA is export(:nuclear) = 6.6446573357e-27;
=head3 RADIUS_ELECTRON
2.8179403262e-15 MKS
2.8179403262e-13 CGS
classical electron radius
This constant is also available using the alternate name C<ELECTRON_RADIUS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant RADIUS_ELECTRON is export(:nuclear :electromagnetic) = 2.8179403262e-15;
=head3 RADIUS_BOHR
5.29177210903e-11 MKS
5.29177210903e-9 CGS
Bohr radius
This constant is also available using the alternate name C<BOHR_RADIUS> (imported using the :alternate tag for backwards compatibility)
=end pod
our constant RADIUS_BOHR is export(:electromagnetic :nuclear) = 5.29177210903e-11;
=head3 RADIUS_JUPITER
69_911_000 MKS
Volumetric mean radius of Jupiter
=end pod
our constant RADIUS_JUPITER is export(:planetary) = 69_911_000;
=head3 MASS_JUPITER
1.89819e27 MKS
mass of Jupiter
=end pod
our constant MASS_JUPITER is export(:planetary) = 1.89819e27;
=begin pod
=head3 pretty
This is a helper function that rounds a value or list of values to 5 significant figures.
=head3 precision
Give this method the string of the constant and it returns the precision or uncertainty
listed.
$rel_precision = precision('GRAVITATIONAL');
$abs_precision = precision('MASS_EARTH');
At the moment you need to know whether the uncertainty is relative or absolute.
Looking to fix this in future versions.
=head2 Deprecated functions
I've gotten rid of C<list_constants> and C<describe_constants> because they are now in
the documentation. Use C<perldoc Astro::Constants> for that information.
=head1 SEE ALSO
=item L<Astro::Cosmology>
=item L<Perl Data Language|PDL>
=item L<NIST|http://physics.nist.gov>
=item L<Astronomical Almanac|http://asa.usno.navy.mil>
=item L<IAU 2015 Resolution B3|http://iopscience.iop.org/article/10.3847/0004-6256/152/2/41/meta>
=item L<Neil Bower's review on providing read-only values|http://neilb.org/reviews/constants.html>
=item L<Test::Number::Delta>
=item L<Test::Deep::NumberTolerant> for testing values within objects
Reference Documents:
=item L<IAU 2009 system of astronomical constants|http://aa.usno.navy.mil/publications/reports/Luzumetal2011.pdf>
=item L<Astronomical Constants 2016.pdf|http://asa.usno.navy.mil/static/files/2016/Astronomical_Constants_2016.pdf>
=item L<IAU recommendations concerning units|https://www.iau.org/publications/proceedings_rules/units>
=item L<Re-definition of the Astronomical Unit|http://syrte.obspm.fr/IAU_resolutions/Res_IAU2012_B2.pdf>
=head1 REPOSITORY
* L<https://github.com/duffee/Astro-Constants>
=head1 ISSUES
File issues/suggestions at the Github repository L<https://github.com/duffee/Astro-Constants>.
The venerable L<RT|https://rt.cpan.org/Dist/Display.html?Status=Active&Queue=Astro-Constants>
is the canonical bug tracker that is clocked by L<meta::cpan|https://metacpan.org/pod/Astro::Constants>.
Using C<strict> is a must with this code. Any constants you forgot to import will
evaluate to 0 and silently introduce errors in your code. Caveat Programmer.
If you are using this module, drop me a line using any available means at your
disposal, including
*gasp* email (address in the Author section), to let me know how you're using it.
What new features would you like to see?
If you've had an experience with using the module, let other people know what you
think, good or bad, by rating it at
L<cpanratings|http://cpanratings.perl.org/rate/?distribution=Astro-Constants>.
=head2 Extending the data set
If you want to add in your own constants or override the factory defaults,
run make, edit the F<PhysicalConstants.xml> file and then run C<dzil build> again.
If you have a pre-existing F<PhysicalConstants.xml> file, drop it in place
before running C<dzil build>.
=head2 Availability
the original astroconst sites have disappeared
=head1 ROADMAP
I plan to deprecate the short names and change the order in which
( run in 0.616 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )