Aluminum ( Al ), face centered cubic. More...
#include <cl_Material_Aluminum.hpp>
Public Member Functions | |
| Aluminum (const real RRR=BELFEM_QUIET_NAN, const bool aBuildTables=true) | |
| ~Aluminum () override | |
| Public Member Functions inherited from belfem::material::Metal | |
| Metal (const string &aLabel, const MaterialType aType, const bool aBuildTables=true) | |
| Constructor. | |
| ~Metal () override | |
| Destructor - deletes Debye integral splines. | |
| void | set_RRR (const real RRR) override |
| Set residual resistivity ratio. | |
| virtual real | compute_debye_from_rho (const real T, const real rho, const real theta_guess=BELFEM_QUIET_NAN) |
| Compute Debye temperature from measured resistivity. | |
| real | compute_debye_from_cp (const real T, const real cp=BELFEM_QUIET_NAN, const real theta_guess=BELFEM_QUIET_NAN) |
| Compute Debye temperature from specific heat capacity. | |
| real | compute_debye_from_cv (const real T, const real cv=BELFEM_QUIET_NAN, const real theta_guess=BELFEM_QUIET_NAN) |
| Compute Debye temperature from the specific heat at constant volume. | |
| real | rho (const real T, const real B, const real beta) const override |
| Electrical resistivity with magnetoresistance (Kohler's rule). | |
| real | drhodT (const real T, const real B, const real beta) const override |
| real | drhodB (const real T, const real B, const real beta) const override |
| real | drhodbeta (const real T, const real B, const real beta) const override |
| real | lambda (const real T, const real B, const real beta) const override |
| Thermal conductivity with magnetoresistance. | |
| real | dlambdadT (const real T, const real B, const real beta) const override |
| real | dlambdadB (const real T, const real B, const real beta) const override |
| real | dlambdadbeta (const real T, const real B, const real beta) const override |
| real | l (real T) const override |
| Relative length after thermal expansion. | |
| void | set_bh_curve (const BhCurve *aCurve) override |
| Assign a B-H curve to this material. | |
| real | spline_property (const MaterialProperty aProperty, const real aX) const override |
| Evaluate property using spline interpolation. | |
| void | set_rho_i_ref (const real T_ref, const real rho_i_ref, const real theta=BELFEM_QUIET_NAN) |
| Set reference intrinsic resistivity for Bloch-Grüneisen model. | |
| real | J (const real Z) const |
| Debye integral Jₙ(Z) = ∫₀^Z xⁿeˣ/(eˣ-1)² dx with n the Bloch–Grüneisen exponent ( 5 by default, see set_bloch_gruen_parameter; dispatched to J3/J4/J5/Jn ). | |
| real | J3 (const real Z) const |
| Debye integral J₃(Z) = ∫₀^Z x³eˣ/(eˣ-1)² dx. | |
| real | J4 (const real Z) const |
| Debye integral J₄(Z) = ∫₀^Z x⁴eˣ/(eˣ-1)² dx. | |
| real | J5 (const real Z) const |
| Debye integral J₅(Z) = ∫₀^Z x⁵eˣ/(eˣ-1)² dx. | |
| real | Jn (const real Z) const |
| Debye integral for arbitrary n. | |
| real | rho_custom (const real T) const override |
| Total resistivity at zero field (overrides base class). | |
| real | rho_i_custom (const real T) const override |
| Intrinsic resistivity (Bloch-Grüneisen model). | |
| real | lambda_custom (const real T) const override |
| Thermal conductivity at zero field. | |
| void | create_rho () |
| Initialize resistivity properties. | |
| void | set_lambda_coefficients (const Vector< real > &aCoeffs) |
| Set thermal conductivity model coefficients. | |
| real | group_velocity (const real T) const |
| Phonon group velocity. | |
| real | grueneisen (const real T) const |
| Grüneisen parameter. | |
| void | grueneisen (const real T, real &gamma, real &c) const |
| Grüneisen parameter and speed of sound. | |
| real | cp_from_debye (const real T, const real theta) const |
| Specific heat from Debye temperature. | |
| real | cv_from_debye (const real T, const real theta) const |
| Specific heat at constant volume from Debye temperature ( Sommerfeld + Debye, no dilation term ). | |
| real | kohler_find_bs_crit (const real delta_rho_res) |
| Find critical B·S for given relative resistivity increase. | |
| void | populate_rho_database () |
| real | H_bhcurve (const real B) const override |
| real | mu_bhcurve (real H, const real T) const override |
| void | dmudH_bhcurve (const real H, real &mu, real &dmudH) const override |
| const Vector< real > & | lambda_coefficients () const |
| void | set_table_flags (const bool aFlag) override |
| virtual real | rho (const real T) const |
| Electrical resistivity (isotropic). | |
| virtual real | lambda (const real T=gTroom) const |
| Thermal conductivity (isotropic). | |
| virtual real | lambda (const real T, const real B_par, const real B_perp, const real J) const |
| Thermal conductivity for HTS materials. | |
| virtual real | drhodT (const real T) const |
| virtual real | dlambdadT (const real T=gTroom) const |
| virtual real | dlambdadT (const real T, const real B_par, const real B_perp, const real J) const |
| Public Member Functions inherited from belfem::material::SplineLookupTable | |
| SplineLookupTable (const MaterialType aType, const bool aIsIsotropic=true) | |
| ~SplineLookupTable () override | |
| void | set_spline (const MaterialProperty aProperty, Spline *aSpline=nullptr) |
| Assign a spline for property interpolation. | |
| Spline * | spline (const MaterialProperty aProperty) |
| Get spline for a property. | |
| real | spline_property (const MaterialProperty aProperty, const real aX) const override |
| Evaluate property using spline interpolation. | |
| real | dspline_property (const MaterialProperty aProperty, const real aX) const override |
| real | ddspline_property (const MaterialProperty aProperty, const real aX) const override |
| real | l (real T) const override |
| Relative length after thermal expansion, from integrated alpha spline. | |
| Public Member Functions inherited from belfem::Material | |
| Material (const MaterialType aType, const bool aIsIsotropic=true) | |
| Constructor. | |
| virtual | ~Material () |
| Destructor - deletes owned B-H curves and Jc/n functions. | |
| Material (const Material &)=delete | |
| Material & | operator= (const Material &)=delete |
| Material (Material &&)=delete | |
| Material & | operator= (Material &&)=delete |
| bool | have (const MaterialProperty aProperty) const |
| Check if a material property is available. | |
| bool | have_defect () const |
| Check if the material has a defect. | |
| bool | have_heating () const |
| Check if the material has a heating function. | |
| bool | use_piecewise () const |
| Check if we use piecewise instead of power-law. | |
| bool | depends (const MaterialProperty aProperty, const MaterialDependency aDependency) const |
| Check if a property depends on a specific variable. | |
| const MaterialDependencyBitset * | dependencies (const MaterialProperty aProperty) const |
| Get all dependencies for a property. | |
| bool | is_isotropic () const |
| Check if material is isotropic. | |
| MaterialType | type () const |
| Get the material type. | |
| const string & | label () const |
| Get material label. | |
| const string & | number () const |
| Get material number/identifier. | |
| void | load_bh_curve (const material::BhCurve *aCurve) |
| Activate a B-H curve as the permeability source (ferromagnets). | |
| void | flag (const uint8_t aIndex=0) |
| Set flag (multi-purpose flag used by Kernel). | |
| void | unflag (const uint8_t aIndex=0) |
| Clear flag. | |
| bool | is_flagged (const uint8_t aIndex=0) const |
| Check if material is flagged. | |
| bool | is_constant (const MaterialProperty aProperty) const |
| Check if a property is constant (temperature-independent). | |
| virtual real | density (const real T=gTroom) const |
| Density as a function of temperature. | |
| real | ref_density () const |
| Reference density at reference temperature. | |
| real | M () const |
| Molar mass. | |
| virtual real | cp (const real T=gTroom) const |
| Specific heat capacity. | |
| virtual real | dcpdT (const real T=gTroom) const |
| virtual real | d2cpdT2 (const real T=gTroom) const |
| real | rho_powerlaw (const real normJ) const |
| Power law resistivity for HTS (constant jc and n). | |
| real | rho_powerlaw (const real normJ, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constant \(J_c\) / \(n\) with spatially-dependent defect modulation \(J_c \rightarrow J_c \cdot d(x,y,z,t)\). | |
| real | rho_powerlaw (const real normJ, real normB, const real angleNxB) const |
| Power law resistivity for HTS (field-dependent jc, constant n). | |
| real | rho_powerlaw (const real normJ, real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) with spatial defect modulation. | |
| real | rho_powerlaw (const real normJ, const real T, real normB, const real angleNxB) const |
| Power law resistivity for HTS (full temperature and field dependence). | |
| real | rho_powerlaw (const real normJ, const real T, real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Fully \((|B|, \angle, T)\)-dependent variant with spatial defect modulation applied to \(J_c\). | |
| real | rho_powerlaw (const real normJ, const real T) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only variant. | |
| real | rho_powerlaw (const real normJ, const real T, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only custom-callback variant with spatial defect modulation. | |
| real | rho_piecewise (const real normJ) const |
| Piecewise resistivity for HTS (constant jc and n). | |
| real | rho_piecewise (const real normJ, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constant \(J_c\) / \(n\) with spatially-dependent defect modulation \(J_c \rightarrow J_c \cdot d(x,y,z,t)\). | |
| real | rho_piecewise (const real normJ, real normB, const real angleNxB) const |
| Piecewise resistivity for HTS (field-dependent jc, constant n). | |
| real | rho_piecewise (const real normJ, real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) with spatial defect modulation. | |
| real | rho_piecewise (const real normJ, const real T, real normB, const real angleNxB) const |
| Piecewise resistivity for HTS (full temperature and field dependence). | |
| real | rho_piecewise (const real normJ, const real T, real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Fully \((|B|, \angle, T)\)-dependent variant with spatial defect modulation applied to \(J_c\). | |
| real | rho_piecewise (const real normJ, const real T) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only variant: \(J_c(T)\) and \(n(T)\) from the user-supplied callbacks Material::jc_custom() / Material::n_custom(). | |
| real | rho_piecewise (const real normJ, const real T, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only custom-callback variant with spatial defect modulation. | |
| real | rho_riva (const real normJ, const real T, const real normB, const real angleNxB) const |
| Riva-law resistivity: the superconducting power-law channel in parallel with the normal-state channel. | |
| real | rho_riva (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| defect overload: jc_eff = D(x,y,z,t)·jc throughout | |
| real | drho_riva_dJ (const real normJ, const real T, const real normB, const real angleNxB) const |
| dρ/d|J| of rho_riva: w²·dρ_PL/dJ with w = ρ_n/(ρ_PL+ρ_n) | |
| real | drho_riva_dJ (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| real | drho_riva_dB (const real normJ, const real T, const real normB, const real angleNxB) const |
| dρ/d|B| of rho_riva: w²·dρ_PL/dB ( dρ_n/dB = 0 on this path ) | |
| real | drho_riva_dB (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| real | drho_riva_dT (const real normJ, const real T, const real normB, const real angleNxB) const |
| dρ/dT of rho_riva: w²·dρ_PL/dT + (1−w)²·dρ_n/dT | |
| real | drho_riva_dT (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| real | n (const real normB, const real angleNxB, const real T) const |
| Direct evaluation of the n-value as a function of \(|B|\), \(\angle(n,B)\) and \(T\). | |
| real | n (const real normB, const real angleNxB) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(n(|B|, \angle(n,B))\) without temperature dependence. | |
| real | jc (const real normB, const real angleNxB, const real T) const |
| Direct evaluation of the critical current density \(J_c(|B|, \angle(n,B), T)\). | |
| real | jc (const real normB, const real angleNxB) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle(n,B))\) without temperature dependence. | |
| real | jc (const real normB, const real angleNxB, const real T, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Variant with spatial defect modulation \(J_c \rightarrow J_c \cdot d(x,y,z,t)\). | |
| real | jc (const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle(n,B))\) with spatial defect modulation \(J_c \rightarrow J_c \cdot d(x,y,z,t)\). | |
| real | drho_powerlaw_dJ (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of power-law resistivity with respect to current density magnitude. | |
| real | drho_powerlaw_dJ (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Fully \((|B|, \angle, T)\)-dependent variant with spatial defect modulation applied to \(J_c\). | |
| real | drho_powerlaw_dJ (const real normJ) const |
| Analytic Jacobian \(d\rho_{eff}/dJ\) of the power-law model. | |
| real | drho_powerlaw_dJ (const real normJ, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constant \(J_c\) / \(n\) with spatial defect modulation applied to \(J_c\). | |
| real | drho_powerlaw_dJ (const real normJ, const real T) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only variant: \(J_c(T)\) and \(n(T)\) from Material::jc_custom() / Material::n_custom(). | |
| real | drho_powerlaw_dJ (const real normJ, const real T, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only custom-callback variant with spatial defect modulation. | |
| real | drho_powerlaw_dJ (const real normJ, const real normB, const real angleNxB) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) via mJcFunction; \(n\) remains constant. | |
| real | drho_powerlaw_dJ (const real normJ, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) with spatial defect modulation; \(n\) remains constant. | |
| real | drho_piecewise_dJ (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of piecewise resistivity with respect to current density magnitude. | |
| real | drho_piecewise_dJ (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Fully \((|B|, \angle, T)\)-dependent variant with spatial defect modulation applied to \(J_c\). | |
| real | drho_powerlaw_dB (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of power-law resistivity with respect to |B| at fixed J, T, θ ( jc = jc(T,|B|,θ), n = n(T,|B|,θ) ). | |
| real | drho_powerlaw_dB (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| defect overload: jc_eff = D(x)·jc throughout, djc_eff = D·djc | |
| real | drho_powerlaw_dT (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of power-law resistivity with respect to T at fixed J, |B|, θ ( T-leg: jc(T), n(T) AND ρ_n(T) all move — the quench-feedback tangent ). | |
| real | drho_powerlaw_dT (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| defect overload: jc_eff = D(x)·jc throughout, djc_eff = D·djc | |
| real | drho_piecewise_dB (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of piecewise resistivity with respect to |B| at fixed J, T, θ | |
| real | drho_piecewise_dB (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| defect overload: jc_eff = D(x)·jc throughout, djc_eff = D·djc | |
| real | drho_piecewise_dT (const real normJ, const real T, const real normB, const real angleNxB) const |
| Derivative of piecewise resistivity with respect to T at fixed J, |B|, θ ( T-leg ). | |
| real | drho_piecewise_dT (const real normJ, const real T, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| defect overload: jc_eff = D(x)·jc throughout, djc_eff = D·djc | |
| real | drho_piecewise_dJ (const real normJ) const |
| Branch-aware Jacobian \(d\rho/dJ\) of the three-regime piecewise model. | |
| real | drho_piecewise_dJ (const real normJ, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constant \(J_c\) / \(n\) with spatial defect modulation applied to \(J_c\). | |
| real | drho_piecewise_dJ (const real normJ, const real T) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only variant: \(J_c(T)\) and \(n(T)\) from Material::jc_custom() / Material::n_custom(). | |
| real | drho_piecewise_dJ (const real normJ, const real T, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Temperature-only custom-callback variant with spatial defect modulation. | |
| real | drho_piecewise_dJ (const real normJ, const real normB, const real angleNxB) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) via mJcFunction; \(n\) remains constant. | |
| real | drho_piecewise_dJ (const real normJ, const real normB, const real angleNxB, const real x, const real y, const real z, const real t) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Field-dependent \(J_c(|B|, \angle)\) with spatial defect modulation; \(n\) remains constant. | |
| virtual real | rho_i (const real T) const |
| Intrinsic (phonon) electrical resistivity of a metal, ρ = ρ_i(T) + ρ_0. | |
| virtual real | H (const real B) const |
| Magnetic field strength from flux density. | |
| virtual real | mu (const real H, const real T=BELFEM_QUIET_NAN) const |
| Magnetic permeability. | |
| virtual void | dmudH (const real H, real &mu, real &dmudH) const |
| Magnetic permeability and its derivative. | |
| virtual real | E (real T=gTroom) const |
| Young's modulus. | |
| virtual real | nu (real T=gTroom) const |
| Poisson's ratio. | |
| virtual real | G (real T=gTroom) const |
| Shear modulus. | |
| virtual real | K (real T=gTroom) const |
| Bulk modulus. | |
| virtual real | alpha (real T=gTroom) const |
| Thermal expansion coefficient. | |
| virtual real | Rp02 (real T=gTroom) const |
| Yield stress (0.2% offset). | |
| virtual real | debye (const real T) const |
| Debye temperature. | |
| void | set_jc_function (const material::JcFunction *aFunction) |
| Assign a critical current density function. | |
| void | set_n_function (const material::JcFunction *aFunction) |
| Assign a power law exponent function. | |
| void | set_piecewise (const bool aUsePiecewise) |
| void | set_resistivity_law (const ResistivityLaw aLaw) |
| ResistivityLaw | resistivity_law () const |
| bool | use_riva () const |
| virtual void | set_user_defined_function (const MaterialProperty Property, const MaterialDependency Dependency, MatFunc1 *Function) |
| Set a user-defined function with one dependency (for UserDefinedMaterial). | |
| virtual void | set_user_defined_function (const MaterialProperty Property, const MaterialDependency Dependency1, const MaterialDependency Dependency2, MatFunc2 *Function) |
| Set a user-defined function with two dependencies (for UserDefinedMaterial). | |
| virtual void | set_user_defined_function (const MaterialProperty Property, const MaterialDependency Dependency1, const MaterialDependency Dependency2, const MaterialDependency Dependency3, MatFunc3 *Function) |
| Set a user-defined function with three dependencies (for UserDefinedMaterial). | |
| void | set_user_defined_defect (DefectFunc *Function) |
| Set a user-defined defect function with x, y, z, t dependencies. | |
| void | read_defect (const string &aLibraryPath, const string &aLabel) |
| Read a defect from the library. | |
| void | set_user_defined_heating (HeatFunc *Function) |
| Set a user-defined volumetric heat load [ W/m³ ] as a function of x, y, z [ m ] and t [ s ]. | |
| void | read_heating (const string &aLibraryPath, const string &aLabel) |
| Read a heating function from a plugin library. | |
| virtual real | evaluate_polynomial (const MaterialProperty Property, const real T) const |
| Evaluate a polynomial for a given property (for UserDefinedMaterial). | |
| virtual real | evaluate_derivative_of_polynomial (const MaterialProperty Property, const real T) const |
| virtual void | set_user_defined_polynomial (const MaterialProperty Property, const std::vector< real > &Coefficients) |
| Set a polynomial function for a property (for UserDefinedMaterial). | |
| virtual void | set_user_defined_polynomial (const MaterialProperty Property, const Cell< real > &Coefficients) |
| void | set_label (const string &aLabel) |
| PROTECTED INTERFACE FOR DERIVED MATERIALS. | |
| void | set_number (const string &aNumber) |
| Set material number/identifier (for derived classes). | |
| void | set_have (const MaterialProperty aProperty, const bool aHave=true) |
| Mark a property as available. | |
| void | reset_dependencies (const MaterialProperty aProperty) |
| Reset all dependencies for a property. | |
| void | set_dependency (const MaterialProperty aProperty, const MaterialDependency aDependency) |
| Add a dependency to a property. | |
| void | set_constant (const MaterialProperty aProperty, const real aValue) |
| Define a property as constant. | |
| void | set_custom (const MaterialProperty aProperty) |
| Mark property as using custom evaluation function. | |
| real | constant_property (const MaterialProperty aProperty) const |
| Get constant property value. | |
| virtual real | jc_custom (const real T) const |
| virtual real | n_custom (const real T) const |
| real | volumetric_heatload (const real x, const real y, const real z, const real time) const |
| Artificial volumetric heat load [ W/m³ ] from the heating plugin. | |
Protected Member Functions | |
| real | alpha_custom (const real T) const override |
| real | debye_custom (const real T) const override |
| real | kohler (const real B, const real S, const real beta) const override |
| Kohler function for magnetoresistance. | |
| Protected Member Functions inherited from belfem::material::Metal | |
| Spline * | create_J_spline (const real aExponent) |
| Create spline for Debye integral J_n(Z). | |
| real | rho_table (const real T, const real B, const real beta) const override |
| real | drhodT_table (const real T, const real B, const real beta) const override |
| real | drhodB_table (const real T, const real B, const real beta) const override |
| real | drhodbeta_table (const real T, const real B, const real beta) const override |
| real | rho_kohler (const real T, const real B, const real beta) const override |
| real | drhodT_kohler (const real T, const real B, const real beta) const override |
| real | drhodB_kohler (const real T, const real B, const real beta) const override |
| real | drhodbeta_kohler (const real T, const real B, const real beta) const override |
| real | cp_custom (const real T) const override |
| real | dcpdT_custom (const real T) const override |
| real | d2cpdT2_custom (const real T) const override |
| void | set_kohler_dependencies () |
| void | set_bloch_gruen_parameter (const real n) |
| void | create_cp (const Vector< real > &Px, const Vector< real > &Py, const Vector< real > &Qx, const Vector< real > &Qy, const Vector< real > &Rx={}, const Vector< real > &Ry={}) |
| real | E_custom (const real T) const override |
| real | dEdT_custom (const real T) const override |
| void | create_mech (const real E0, const real b, const real T1, const real T2, const real nu2) |
| Protected Member Functions inherited from belfem::material::SplineLookupTable | |
| void | reset_spline (const MaterialProperty aProperty) override |
| void | create_spline (real(Material::*aFunction)(const real aT) const, const MaterialProperty aProperty, const uint aStartBC, const uint aEndBC, const real adYdX0, const real adYdX1) override |
| void | create_cryo_expansion (const Bezier *aThermalExpansion, Vector< real > &aThermalExpansionCryo, const real aTSwitch=BELFEM_QUIET_NAN) |
| void | create_cryo_expansion (const real alpha, const real dalphadT, const real d2alphadT2, Vector< real > &aThermalExpansionCryo) |
| cryogenic branch from alpha and its derivatives at the split temperature, for materials whose alpha( T ) is not a dL/L Bezier | |
| void | create_cryo_expansion_anchored (const real alpha, Vector< real > &aThermalExpansionCryo, const real aTSwitch=BELFEM_QUIET_NAN) |
| cryogenic branch anchored on the VALUE of alpha at the split only. | |
| real | alpha_composite (const Bezier *aBezier, const Vector< real > &aPoly, const real T) const |
| composite thermal expansion for a Material::alpha_custom() override: the Grueneisen polynomial aPoly below the switch temperature, the Bezier aBezier above it. | |
| real | set_alpha_switch_temperature (const real aTSwitch=BELFEM_QUIET_NAN) |
| Fix the split temperature of the cryogenic expansion branch. | |
| void | create_low_temperature_alpha (const Bezier *aBezier, Vector< real > &aPoly, const real aTSwitch=BELFEM_QUIET_NAN) |
| Fit the cryogenic branch alpha = C( T ) cp( T ) below the split temperature from a dL/L Bezier ( the pure metals ). | |
| void | create_low_temperature_alpha (const real alpha, const real dalphadT, const real d2alphadT2, Vector< real > &aPoly, const bool aCheckGuard=true) |
| Same fit from alpha and its first two derivatives at the split temperature, which the caller evaluated from any alpha( T ) source after set_alpha_switch_temperature(). | |
| void | create_spline (const MaterialProperty aProperty, const real adYdX0=BELFEM_QUIET_NAN, const real adXdX1=BELFEM_QUIET_NAN) |
| PROPERTY EVALUATION FUNCTIONS. | |
| Protected Member Functions inherited from belfem::Material | |
| real | jc_eval (const real T, const real normB, const real angleNxB) const |
| O1 "full-signature policy" helpers: the assembly path always passes the full ( T, normB, angleNxB ) set; the material consumes what its Jc / n functions depend on and ignores the rest. | |
| real | djc_eval_dB (const real T, const real normB, const real angleNxB) const |
| real | dn_eval_dB (const real T, const real normB, const real angleNxB) const |
| d(n)/d|B|, same routing as djc_eval_dB | |
| real | djc_eval_dT (const real T, const real normB, const real angleNxB) const |
| real | dn_eval_dT (const real T, const real normB, const real angleNxB) const |
| d(n)/dT, same routing as djc_eval_dT | |
| real | n_eval (const real T, const real normB, const real angleNxB) const |
| void | check_riva_n_source () const |
| real | n_eval_raw (const real T, const real normB, const real angleNxB) const |
| bool | riva_rho_pl (const real normJ, const real jc, const real n, const real ec, real &rhoPL) const |
| void | create_spline (const MaterialProperty aProperty, const real adYdX0=BELFEM_QUIET_NAN, const real adXdX1=BELFEM_QUIET_NAN) |
| PROPERTY EVALUATION FUNCTIONS. | |
| real | alpha_switch_temperature () const |
| Temperature below which alpha is taken from the Grueneisen branch. | |
| real | density_const (const real T) const |
| virtual real | density_custom (const real T) const |
| real | return_zero (const real T) const |
| Shared binding for derivative channels that are identically zero. | |
| real | cp_const (const real T) const |
| real | dcpdT_finite_difference (const real T) const |
| real | d2cpdT2_finite_difference (const real T) const |
| real | cp_spline (const real T) const |
| real | dcpdT_spline (const real T) const |
| real | d2cpdT2_spline (const real T) const |
| real | lambda_const (const real T) const |
| real | dlambdadT_finite_difference (const real T) const |
| real | lambda_spline (const real T) const |
| real | dlambdadT_spline (const real T) const |
| virtual real | dlambdadT_custom (const real T) const |
| real | drhodT_finite_difference (const real T) const |
| real | rho_const (const real T) const |
| virtual real | drhodT_custom (const real T) const |
| virtual real | rho_spline (const real T) const |
| virtual real | drhodT_spline (const real T) const |
| virtual real | lambda_custom (const real T, const real normB, const real angle) const |
| virtual real | lambda_table (const real T, const real normB, const real angle) const |
| real | H_const (const real B) const |
| real | mu_const (const real H, const real T) const |
| virtual real | mu_custom (const real H, const real T) const |
| void | dmudH_const (const real H, real &mu, real &dmudH) const |
| real | E_const (const real T) const |
| real | E_spline (const real T) const |
| real | nu_const (const real T) const |
| real | nu_spline (const real T) const |
| virtual real | nu_custom (const real T) const |
| real | alpha_const (const real T) const |
| real | alpha_spline (const real T) const |
| real | Rp02_const (const real T) const |
| real | Rp02_spline (const real T) const |
| virtual real | Rp02_custom (const real T) const |
| real | debye_const (const real T) const |
| real | debye_spline (const real T) const |
| real | rho_i_spline (const real T) const |
Additional Inherited Members | |
| Protected Attributes inherited from belfem::material::Metal | |
| Spline * | mSplineJ3 = nullptr |
| Spline * | mSplineJ4 = nullptr |
| Spline * | mSplineJ5 = nullptr |
| Spline * | mSplineJn = nullptr |
| Cell< Vector< real > > | mCpPolys |
| Vector< real > | mTCpSwitch |
| Bezier * | mCpBezierLow = nullptr |
| Bezier * | mCpBezierMedium = nullptr |
| Bezier * | mCpBezierHigh = nullptr |
| Vector< real > | mWachtmanYoung |
| Protected Attributes inherited from belfem::material::SplineLookupTable | |
| Cell< Spline * > | mSplines |
| Protected Attributes inherited from belfem::Material | |
| real(Material::*) | mFunctionRhoKohler (const real T, const real normB, const real angle) const = nullptr |
| real(Material::*) | mFunctiondRhoKohlerdT (const real T, const real normB, const real angle) const = nullptr |
| real(Material::*) | mFunctiondRhoKohlerdB (const real T, const real normB, const real angle) const = nullptr |
| real(Material::*) | mFunctiondRhoKohlerdbeta (const real T, const real normB, const real angle) const = nullptr |
| real(Material::*) | mFunctionH (const real B) const = nullptr |
| real(Material::*) | mFunctionMu (const real H, const real T) const = nullptr |
| void(Material::*) | mFunctionDMuDH (double, double &, double &) const = nullptr |
| const material::JcFunction * | mJcFunction = nullptr |
| const material::JcFunction * | mNFunction = nullptr |
Aluminum ( Al ), face centered cubic.
Registered in cl_MaterialFactory as "aluminum", "aluminium", "al". Heat capacity and thermal expansion are fitted against the Touloukian dataset, the effective Debye temperature curve against Desai 1984 and Cook 1975, the resistivity anchor against Hust 1984, the Kohler magnetoresistance against Lüthi 1960 and Fickett 1972, and the elastic moduli as a Wachtman curve against Blanke 1989 with the Poisson ratio derived from a constant Grueneisen parameter ( Metal::create_mech ). The implied Grueneisen parameter of the cryogenic expansion branch reads 2.19 at the split temperature, against a literature 2.1 - 2.2 for aluminum.
| belfem::material::Aluminum::Aluminum | ( | const real | RRR = BELFEM_QUIET_NAN, |
| const bool | aBuildTables = true ) |
|
override |
Reimplemented from belfem::Material.
Reimplemented from belfem::Material.
|
overrideprotectedvirtual |
Kohler function for magnetoresistance.
| B | Magnetic field magnitude [T] |
| S | Similarity parameter S = ρ_ref/ρ₀(T) |
| beta | Angle between field and current [rad] |
Must be implemented in derived classes (Copper, Silver, etc.). Returns NaN in base class.
Reimplemented from belfem::material::Metal.