YBCO (YBa₂Cu₃O₇) high-temperature superconductor implementation. More...
#include <cl_Material_YBCO.hpp>
Public Member Functions | |
| YBCO () | |
| Constructor - initializes YBCO with typical properties. | |
| ~YBCO () override | |
| Destructor - deletes Bezier curve for Young's modulus. | |
| real | test_callaway (const real T, const Vector< real > &aParams) |
| Test function for Callaway model parameter fitting. | |
| 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). | |
| 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 ). | |
| virtual real | kohler (const real B, const real S, const real beta) const |
| Kohler function for magnetoresistance. | |
| 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 | E_custom (const real T) const override |
| Young's modulus (custom evaluation). | |
| real | nu_custom (const real T) const override |
| Poisson's ratio (custom evaluation). | |
| real | alpha_custom (const real T) const override |
| Thermal expansion coefficient (custom evaluation). | |
| real | cp_custom (const real T) const override |
| Specific heat capacity (custom evaluation). | |
| real | lambda_custom (const real T) const override |
| Thermal conductivity using Callaway model. | |
| 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 | 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 | 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 |
| 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 |
| virtual real | debye_custom (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 |
YBCO (YBa₂Cu₃O₇) high-temperature superconductor implementation.
YBa₂Cu₃O₇ is a cuprate superconductor with Tc ≈ 92.5 K (typical). This implementation includes both normal-state and superconducting properties.
Composition: YBa₂Cu₃O₇ (13 atoms per formula unit) Critical temperature: ~92.5 K (typical, can vary with oxygen content) Density: ~6300 kg/m³
Key features:
IMPORTANT: For HTS materials, use rho_powerlaw() for resistivity calculations in the superconducting state, not rho(T).
MaterialType: HTS (ρ, λ depend on j, T, n×B and n·B)
References:
| belfem::material::YBCO::YBCO | ( | ) |
Constructor - initializes YBCO with typical properties.
YBCO (YBa₂Cu₃O₇) material property implementation.
Sets up:
This is the most complex material in the database, combining:
Key implementation features:
Data sources:
|
override |
Destructor - deletes Bezier curve for Young's modulus.
Thermal expansion coefficient (custom evaluation).
| T | Temperature [K] |
Reimplemented from belfem::Material.
Specific heat capacity (custom evaluation).
| T | Temperature [K] |
Reimplemented from belfem::material::Metal.
Young's modulus (custom evaluation).
| T | Temperature [K] |
Reimplemented from belfem::material::Metal.
Thermal conductivity using Callaway model.
| T | Temperature [K] |
Implements λ = λ_e + λ_ph where:
Parameters fitted to Sommerfeld et al. 2003 data.
Implements λ = λ_e + λ_ph where:
The Callaway model includes:
All parameters fitted to Sommerfeld et al. 2003 (10.1103/PhysRevB.67.174520)
Reimplemented from belfem::material::Metal.
Poisson's ratio (custom evaluation).
| T | Temperature [K] |
Reimplemented from belfem::Material.
Test function for Callaway model parameter fitting.
| T | Temperature [K] |
| aParams | Model parameters to test |
Used for calibrating the Callaway thermal conductivity model.