Natural isotope abundance database for alloy property calculations. More...
#include <cl_Material_Abundance.hpp>
Public Member Functions | |
| Abundance () | |
| Constructor - initializes isotope database. | |
| ~Abundance ()=default | |
| Destructor. | |
| void | compute_molar_mass_and_impurity_from_volumes (const Cell< string > &aElements, const Vector< real > &aVolumeFractions, real &aMolarMass, real &aImpurity) const |
| Compute molar mass and impurity parameter from volume fractions. | |
| void | compute_molar_mass_and_impurity_from_masses (const Cell< string > &aElements, const Vector< real > &aMassFractions, real &aMolarMass, real &aImpurity) const |
| Compute molar mass and impurity parameter from mass fractions. | |
| real | compute_molar_mass (const string &aElement) const |
| Get molar mass of a single element. | |
Natural isotope abundance database for alloy property calculations.
Provides isotope mass and abundance data for computing effective molar masses and mass-difference impurity parameters (Γ) used in phonon scattering models.
The database contains isotope data for all stable elements from H (Z=1) through Bi (Z=83), sourced from the CRC Handbook of Chemistry and Physics.
For single elements:
For alloys with mass fractions:
For composites with volume fractions:
| belfem::material::Abundance::Abundance | ( | ) |
Constructor - initializes isotope database.
Loads natural isotope masses and abundances for all elements from H (Z=1) through Bi (Z=83) from CRC Handbook data.
|
default |
Destructor.
Get molar mass of a single element.
| aElement | Element symbol (e.g., "Cu", "Ni", "O") |
Returns the average molar mass weighted by natural isotope abundances: M̄ = Σ_j A_j · M_j
Example:
Used by: Material constructors for pure elements
| void belfem::material::Abundance::compute_molar_mass_and_impurity_from_masses | ( | const Cell< string > & | aElements, |
| const Vector< real > & | aMassFractions, | ||
| real & | aMolarMass, | ||
| real & | aImpurity ) const |
Compute molar mass and impurity parameter from mass fractions.
| [in] | aElements | Element symbols (e.g., {"Ni", "Mo", "Cr"}) |
| [in] | aMassFractions | Mass fractions [wt%] or [fraction] Can sum to 100 (wt%), 1.0 (fraction), or be unbalanced |
| [out] | aMolarMass | Average molar mass [kg/mol] |
| [out] | aImpurity | Mass-difference impurity parameter Γ [-] |
Computes effective properties for alloys where weight percentages are known from composition specifications.
Input handling:
Algorithm:
Example (Hastelloy C-276):
Used by: HastelloyC276::set_constants()
| void belfem::material::Abundance::compute_molar_mass_and_impurity_from_volumes | ( | const Cell< string > & | aElements, |
| const Vector< real > & | aVolumeFractions, | ||
| real & | aMolarMass, | ||
| real & | aImpurity ) const |
Compute molar mass and impurity parameter from volume fractions.
| [in] | aElements | Element symbols (e.g., {"Ni", "Cr", "Fe"}) |
| [in] | aVolumeFractions | Stoichiometric counts per formula unit ( NOT normalized: the returned molar mass is Σ X_i·M̄_i, i.e. the formula-unit mass when the counts are integers ) |
| [out] | aMolarMass | Average molar mass [kg/mol] |
| [out] | aImpurity | Mass-difference impurity parameter Γ [-] |
Computes effective properties for composites where volume fractions are known (e.g., from stoichiometry or microstructure).
Algorithm:
Example (YBCO: Y₁Ba₂Cu₃O₇):
Used by: the YBCO constructor ( cl_Material_YBCO.cpp )