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 )