ScientificConstants Package Updates - Maple Programming Help

 • The following updates have been made to the ScientificConstants package since its release as an add-on product to Maple 7.
 •
 •

 Changes to the ScientificConstants package in Maple 8 include the following.

Enhanced GetElements function and new GetIsotopes function

 • The GetElements function has been enhanced as follows.
 Element property names can be given as parameters, in which case the output of GetElements is restricted to those elements for which the specified property or properties are defined.
 The output of GetElements can be in the form of element symbols, atomic numbers, or element names, depending on the output=form option.  (Previously, you could specify only the names option. This functionality is now obtained by specifying output=names.)
 > with(ScientificConstants):
 > GetElements( output=names )[1..5];
 ${\mathrm{hydrogen}}{,}{\mathrm{helium}}{,}{\mathrm{lithium}}{,}{\mathrm{beryllium}}{,}{\mathrm{boron}}$ (1)
 • The new GetIsotopes function returns a sequence of isotopes. Parameters can be specified to restrict the output to only isotopes of a given element, or to only those isotopes for which specified properties are defined. (The particular functionality of returning the isotopes of a given element was previously available using the GetElement function.)
 The output of GetIsotopes can be in the form of element symbols or atomic numbers.
 > GetIsotopes( element=H );
 ${{H}}_{{1}}{,}{{H}}_{{2}}{,}{{H}}_{{3}}{,}{{H}}_{{4}}{,}{{H}}_{{5}}{,}{{H}}_{{6}}$ (2)

Enhanced GetElement function

 • The GetElement function now accepts various parameters that restrict the output to selected items of the full definition.
 The functionality of returning the isotopes of a given element is now available using the GetIsotopes function.

 • The following properties have been added and defined for many elements.
 boilingpoint
 density
 meltingpoint

Parameterized Element Properties

 • It is now possible to store a procedure for the value or uncertainty of a property of an element.  In this case, when the Element object is evaluated, the value or uncertainty is obtained by evaluating the stored procedure.  Furthermore, the property name given in the Element object can be parameterized, and the parameters are passed as arguments to the stored procedure when it is evaluated.
 This functionality has been used in the package to allow special syntax for the Element constructor in those cases where an element has the value of a property defined under different conditions than the majority of cases.
 > Element( He, density(gas) );
 ${\mathrm{Element}}{}\left({\mathrm{He}}{,}{\mathrm{density}}{}\left({\mathrm{gas}}\right)\right)$ (3)
 For more information, see Initial Properties for Elements and Isotopes, Element, and ModifyElement.

Other Changes

 • The functions AddConstant and ModifyConstant now accept the new parameter check=false, which causes any conflicting physical constant definitions to be removed from the package, rather than returning an error.
 • An element can be given multiple names or spellings using the new parameter names={...} with the AddElement or ModifyElement functions.
 • The default uncertainty for the value of a physical constant or the value of an element property is now undefined, rather than 0.
 • An additional form of isotope syntax is now recognized.  An isotope can be specified by concatenating the element symbol or name with the mass number, for example, Pb206.

 Changes to the ScientificConstants package in Maple 9 include the following.

Derived Physical Constants

 • Physical constants can also be defined by expressions containing other physical constants.  For example, the constant called h bar is defined as h divided by 2*Pi, and in ScientificConstants it is defined in the same way.
 > GetConstant( hbar );
 ${\mathrm{Planck_constant_over_2pi}}{,}{\mathrm{symbol}}{=}{\mathrm{hbar}}{,}{\mathrm{derive}}{=}\frac{{1}}{{2}}{}\frac{{h}}{{\mathrm{π}}}$ (4)
 > evalf( Constant( hbar ) );
 ${1.054571596}{}{{10}}^{{-34}}$ (5)
 • The AddConstant and ModifyConstant functions have new calling sequences that add and modify derived constants. For more information on defining derived physical constants, see AddConstant and ModifyConstant.
 • The GetConstants function accepts the new option 'derivedfrom'=Const, which returns the physical constants that are directly derived from the constant of name or symbol Const.
 > GetConstants( derivedfrom=h );
 ${{E}}_{{h}}{,}{{G}}_{{0}}{,}{{K}}_{{J}}{,}{{\mathrm{Φ}}}_{{0}}{,}{{R}}_{{K}}{,}{{c}}_{{1}{,}{L}}{,}{{c}}_{{1}}{,}{{c}}_{{2}}{,}{e}{,}{\mathrm{hbar}}{,}{{\mathrm{λ}}}_{{C}{,}{\mathrm{μ}}}{,}{{\mathrm{λ}}}_{{C}{,}{n}}{,}{{\mathrm{λ}}}_{{C}{,}{p}}{,}{{\mathrm{λ}}}_{{C}{,}{\mathrm{τ}}}{,}{{\mathrm{λ}}}_{{C}}{,}{{m}}_{{e}}{,}{{\mathrm{μ}}}_{{B}}$ (6)
 • Many of the physical constants in ScientificConstants have been defined as derived constants.  See Initial Physical Constants.

Interaction With the New ScientificErrorAnalysis Package

 • Because the objects in ScientificConstants have central values with associated uncertainties, they are also recognized by the new ScientificErrorAnalysis package.
 • Furthermore, ScientificConstants uses the ScientificErrorAnalysis package to calculate the error of a derived physical constant.
 The physical constants in ScientificConstants are defined and derived similarly to the CODATA 1998 Adjustment.
 • For a discussion of how the ScientificErrorAnalysis and ScientificConstants packages interact, see ScientificErrorAnalysis and ScientificConstants.