@@ -49,7 +49,7 @@ def steinmetz_qT(fTb: tuple[float | np.ndarray, float | np.ndarray, float | np.n
49
49
50
50
51
51
def log_steinmetz_qT (fTb : tuple [float | np .ndarray , float | np .ndarray , float | np .ndarray ],
52
- alpha : float , beta : float , c_0 : float , c_1 : float , c_2 : float ) -> float | np .ndarray :
52
+ alpha : float , beta : float , c_0 : float , c_1 : float , c_2 : float ) -> float | np .ndarray :
53
53
"""
54
54
Temperature-dependent Steinmetz model using quadratic temperature function.
55
55
@@ -64,6 +64,69 @@ def log_steinmetz_qT(fTb: tuple[float | np.ndarray, float | np.ndarray, float |
64
64
return np .log (steinmetz_qT (fTb , alpha , beta , c_0 , c_1 , c_2 ))
65
65
66
66
67
+ def enhanced_steinmetz (fb : tuple [float | np .ndarray , float | np .ndarray ],
68
+ alpha : float , beta : float , k : float ,
69
+ k_b : float , k_f : float , k_alpha2 : float ) -> float | np .ndarray :
70
+ """
71
+ Enhanced Steinmetz loss model incorporating additional scaling terms dependent on frequency and flux density.
72
+
73
+ :param fb: Tuple (f, B) of frequency and magnetic flux density
74
+ :param alpha: Frequency exponent
75
+ :param beta: Flux density exponent
76
+ :param k: Base scaling factor
77
+ :param k_b: Coefficient for flux density-dependent scaling
78
+ :param k_f: Coefficient for frequency-dependent scaling
79
+ :param k_alpha2: Exponent for frequency in additional scaling term
80
+ :return: Power loss density
81
+ """
82
+ f , b = fb
83
+ return (k + k_b * b + k_f * f ** k_alpha2 ) * f ** alpha * b ** beta
84
+
85
+
86
+ def enhanced_steinmetz_qT (fTb : tuple [float | np .ndarray , float | np .ndarray , float | np .ndarray ],
87
+ alpha : float , beta : float ,
88
+ k_b : float , k_f : float , k_alpha2 : float ,
89
+ c_0 : float , c_1 : float , c_2 : float ) -> float | np .ndarray :
90
+ """
91
+ Temperature-dependent enhanced Steinmetz model using quadratic temperature function and additional scaling terms.
92
+
93
+ :param fTb: Tuple (f, T, B) of frequency, temperature, and flux density
94
+ :param alpha: Frequency exponent
95
+ :param beta: Flux density exponent
96
+ :param k_b: Coefficient for flux density-dependent scaling
97
+ :param k_f: Coefficient for frequency-dependent scaling
98
+ :param k_alpha2: Exponent for frequency in additional scaling term
99
+ :param c_0: Constant coefficient for temperature scaling
100
+ :param c_1: Linear temperature coefficient
101
+ :param c_2: Quadratic temperature coefficient
102
+ :return: Power loss density
103
+ """
104
+ f , T , b = fTb
105
+ k = quadratic_temperature (T , c_0 , c_1 , c_2 )
106
+ return (k + k_b * b + k_f * f ** k_alpha2 ) * f ** alpha * b ** beta
107
+
108
+
109
+ def log_enhanced_steinmetz_qT (fTb : tuple [float | np .ndarray , float | np .ndarray , float | np .ndarray ],
110
+ alpha : float , beta : float ,
111
+ k_b : float , k_f : float , k_alpha2 : float ,
112
+ c_0 : float , c_1 : float , c_2 : float ) -> float | np .ndarray :
113
+ """
114
+ Logarithm of the temperature-dependent enhanced Steinmetz model with frequency and flux-density dependent scaling.
115
+
116
+ :param fTb: Tuple (f, T, B) of frequency, temperature, and flux density
117
+ :param alpha: Frequency exponent
118
+ :param beta: Flux density exponent
119
+ :param k_b: Coefficient for flux density-dependent scaling
120
+ :param k_f: Coefficient for frequency-dependent scaling
121
+ :param k_alpha2: Exponent for frequency in additional scaling term
122
+ :param c_0: Constant coefficient for temperature scaling
123
+ :param c_1: Linear temperature coefficient
124
+ :param c_2: Quadratic temperature coefficient
125
+ :return: Logarithm of power loss density
126
+ """
127
+ return np .log (enhanced_steinmetz_qT (fTb , alpha , beta , k_b , k_f , k_alpha2 , c_0 , c_1 , c_2 ))
128
+
129
+
67
130
def fit_mu_abs (fb : tuple [float | np .ndarray , float | np .ndarray ],
68
131
A : float , beta : float , b0 : float , C : float , f0 : float , n : float ) -> float | np .ndarray :
69
132
"""
0 commit comments