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
15 changes: 0 additions & 15 deletions femmt/enumerations.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,21 +332,6 @@ class ExcitationMeshingType(IntEnum):


# Following Enums must always be consistent with the materialdatabase
class MaterialDataSource(str, Enum):
"""Sets the source from where data is taken."""

Custom = "custom"
Measurement = "measurements"
ManufacturerDatasheet = "manufacturer_datasheet"


class MeasurementDataType(str, Enum):
"""Sets the type of measurement data."""

ComplexPermeability = "complex_permeability"
ComplexPermittivity = "complex_permittivity"
Steinmetz = "Steinmetz"

class CoreMaterialType(str, Enum):
"""Sets the core material type for the whole simulation. Needs to be given to the MagneticComponent on creation."""

Expand Down
22 changes: 11 additions & 11 deletions femmt/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

# Local libraries
import materialdatabase as mdb
from materialdatabase import Material, DataSource, DatasheetAttribute
from materialdatabase import Material, DataSource, DatasheetAttribute, ComplexDataType

import femmt.functions as ff
from femmt.functions_model import *
Expand Down Expand Up @@ -309,13 +309,13 @@ def __init__(self,

self.permeability_type = PermeabilityType.FixedLossAngle
self.permeability = {
"datasource": MaterialDataSource.Custom,
"datatype": None,
"datasource": DataSource.Custom,
"datatype": ComplexDataType.complex_permeability
}

self.permittivity = {
"datasource": MaterialDataSource.Custom,
"datatype": None,
"datasource": DataSource.Custom,
"datatype": ComplexDataType.complex_permittivity
}

def to_dict(self) -> Dict[str, Any]:
Expand Down Expand Up @@ -347,8 +347,8 @@ class ImportedComplexCoreMaterial:
def __init__(self,
material: Union[str, Material],
temperature: Optional[float],
permeability_datasource: Union[str, MaterialDataSource],
permittivity_datasource: Union[str, MaterialDataSource]):
permeability_datasource: Union[str, DataSource],
permittivity_datasource: Union[str, DataSource]):
"""Create a CoreMaterial object describing electromagnetic and loss properties.

The class uses material database queries and supports both predefined and custom material configurations.
Expand Down Expand Up @@ -394,7 +394,7 @@ def __init__(self,
# permeability meta information
self.magnetic_loss_approach = LossApproach.LossAngle
self.permeability_type = PermeabilityType.FromData
self.permeability_datasource = permeability_datasource # FEMMT distinguishes MaterialDataSource(s) (MDB not)
self.permeability_datasource = permeability_datasource

# ComplexPermeability class from material database
self.permeability = self.database.get_complex_permeability(
Expand All @@ -406,7 +406,7 @@ def __init__(self,
self.permeability.fit_permeability_magnitude()

# permittivity meta information
self.permittivity_datasource = permittivity_datasource # FEMMT distinguishes MaterialDataSource(s) (MDB not)
self.permittivity_datasource = permittivity_datasource

# initialize the permittivity with the datasheet dc_conductivity, as it will be updated with the
# actual material data at the specific frequency directly before the simulation
Expand Down Expand Up @@ -475,9 +475,9 @@ def to_dict(self) -> Dict[str, Any]:
"material": self.material,
"temperature": self.temperature,
"permeability_datasource": self.permeability_datasource,
"permeability_datatype": MeasurementDataType.ComplexPermeability,
"permeability_datatype": ComplexDataType.complex_permeability,
"permittivity_datasource": self.permittivity_datasource,
"permittivity_datatype": MeasurementDataType.ComplexPermittivity
"permittivity_datatype": ComplexDataType.complex_permittivity
}

class ElectrostaticCoreMaterial:
Expand Down