Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/wordlist
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,6 @@ GridSpec
pdf
dft
Epcos
DataSource
pathname

39 changes: 39 additions & 0 deletions examples/combine_material_data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""Example to combine material data.

This script enables users to combine material data, if this is still not done.
"""

import logging

import numpy as np

import materialdatabase as mdb
from materialdatabase.meta.data_classes import ComplexPermeabilityConfig

# ---------------------------------------------
# Configuration
# ---------------------------------------------

logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.INFO)

# Flags to control which plots to generate
PLOT_MU_ABS = True
PLOT_PV = True

# Operating points of interest
FREQS = np.linspace(2e5, 4e5, 8) # Frequency range in Hertz
FLUX_DENSITIES = np.linspace(0.14, 0.07, 8) # Flux densities in Tesla
TEMPS = np.ones_like(FREQS) * 100 # Temperatures in Celsius

# Materials to evaluate
mat_cfg = ComplexPermeabilityConfig(material=mdb.Material.N27,
setup=mdb.DataSource.MagNet,
pv_fit_function=mdb.FitFunction.enhancedSteinmetz)

# ---------------------------------------------
# Load Material Data and combine material data with different h-offset
# ---------------------------------------------

mdb_data = mdb.Data()

mdb_data.combine_material_permeability_data(material=mat_cfg.material, data_source=mat_cfg.setup)
5 changes: 3 additions & 2 deletions examples/compare_operation_points.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
PLOT_PV = True

# Operating points of interest
FREQS = np.linspace(2e5, 4e5, 5) # Frequency range in Hertz
FLUX_DENSITIES = np.linspace(0.14, 0.07, 5) # Flux densities in Tesla
FREQS = np.linspace(2e5, 4e5, 16) # Frequency range in Hertz
FLUX_DENSITIES = np.linspace(0.14, 0.07, 16) # Flux densities in Tesla
TEMPS = np.ones_like(FREQS) * 100 # Temperatures in Celsius

# Materials to evaluate
Expand Down Expand Up @@ -84,6 +84,7 @@

mdb_data = mdb.Data()


# Create sweep grid
df_common = pd.DataFrame(
columns=["f", "T", "b"]
Expand Down
2,994 changes: 1,497 additions & 1,497 deletions materialdatabase/data/complex_permeability/LEA_MTB/N49.csv

Large diffs are not rendered by default.

568 changes: 284 additions & 284 deletions materialdatabase/data/complex_permeability/TDK_MDT/N49.csv

Large diffs are not rendered by default.

676 changes: 338 additions & 338 deletions materialdatabase/data/complex_permeability/TDK_MDT/N87.csv

Large diffs are not rendered by default.

668 changes: 334 additions & 334 deletions materialdatabase/data/complex_permeability/TDK_MDT/N95.csv

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions materialdatabase/meta/data_enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from typing import Any
from materialdatabase.processing.utils.empirical import steinmetz_qT, enhanced_steinmetz_qT, \
log_enhanced_steinmetz_qT, log_steinmetz_qT, \
fit_mu_abs_TDK_MDT, fit_mu_abs_LEA_MTB, \
fit_mu_abs_TDK_MDT, fit_mu_abs_LEA_MTB_MagNet, \
fit_eps_qT


Expand All @@ -17,7 +17,8 @@ class FitFunction(str, Enum):
Steinmetz = "steinmetz"
enhancedSteinmetz = "enhanced_steinmetz"
mu_abs_TDK_MDT = "mu_abs_TDK_MDT"
mu_abs_LEA_MTB = "mu_abs_LEA_MTB"
mu_abs_LEA_MTB = "mu_abs_LEA_MTB_MagNet"
mu_abs_MagNet = "mu_abs_LEA_MTB_MagNet"
eps_abs = "fit_eps_qT"

def get_log_function(self) -> Any:
Expand All @@ -41,7 +42,8 @@ def get_function(self) -> Any:
FitFunction.Steinmetz: steinmetz_qT,
FitFunction.enhancedSteinmetz: enhanced_steinmetz_qT,
FitFunction.mu_abs_TDK_MDT: fit_mu_abs_TDK_MDT,
FitFunction.mu_abs_LEA_MTB: fit_mu_abs_LEA_MTB,
FitFunction.mu_abs_LEA_MTB: fit_mu_abs_LEA_MTB_MagNet,
FitFunction.mu_abs_MagNet: fit_mu_abs_LEA_MTB_MagNet,
FitFunction.eps_abs: fit_eps_qT
}[self]

Expand Down
1 change: 1 addition & 0 deletions materialdatabase/meta/mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
DataSource.TDK_MDT: FitFunction.mu_abs_TDK_MDT,
DataSource.Datasheet: FitFunction.mu_abs_TDK_MDT,
DataSource.LEA_MTB: FitFunction.mu_abs_LEA_MTB,
DataSource.MagNet: FitFunction.mu_abs_MagNet
}

def get_fit_function_from_setup(setup: DataSource) -> Any:
Expand Down
2 changes: 1 addition & 1 deletion materialdatabase/processing/complex_permeability.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def fit_losses(self,

mu_abs = np.sqrt(fit_data["mu_real"] ** 2 + fit_data["mu_imag"] ** 2)
pv = pv_mag(fit_data["f"].to_numpy(),
-fit_data["mu_imag"].to_numpy() * mu_0, # type: ignore
- (fit_data["mu_imag"].to_numpy() * mu_0),
fit_data["b"].to_numpy() / mu_abs / mu_0)
popt_pv, pcov_pv = curve_fit(log_pv_fit_function,
(fit_data["f"],
Expand Down
Loading