From 7235894020bf5494a6f7761c78cd7fbec16a7e81 Mon Sep 17 00:00:00 2001 From: Rahil Doshi <rahil.doshi@fau.de> Date: Mon, 17 Mar 2025 16:27:02 +0100 Subject: [PATCH] Add checks for solidus and liquidus temperature to be floats --- src/pymatlib/core/alloy.py | 6 ++++++ src/pymatlib/data/alloys/SS304L/SS304L.yaml | 4 ++-- src/pymatlib/data/alloys/SS304L/SS304L_1.yaml | 4 ++-- src/pymatlib/data/alloys/SS304L/SS304L_comprehensive.yaml | 6 +++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/pymatlib/core/alloy.py b/src/pymatlib/core/alloy.py index e1b0ba9..a30d2a3 100644 --- a/src/pymatlib/core/alloy.py +++ b/src/pymatlib/core/alloy.py @@ -171,6 +171,12 @@ class Alloy: - If solidus temperature is greater than liquidus temperature. - If temperatures are outside the general range for alloys (450 K to 2000 K). """ + if not isinstance(self.temperature_solidus, float): + raise AlloyTemperatureError(f"Solidus temperature must be a float, " + f"got {type(self.temperature_solidus).__name__}.") + if not isinstance(self.temperature_liquidus, float): + raise AlloyTemperatureError(f"Liquidus temperature must be a float, " + f"got {type(self.temperature_liquidus).__name__}.") if self.temperature_solidus > self.temperature_liquidus: raise AlloyTemperatureError("The solidus temperature must be less than or equal to the liquidus temperature.") if not (450 <= self.temperature_solidus <= 1900): diff --git a/src/pymatlib/data/alloys/SS304L/SS304L.yaml b/src/pymatlib/data/alloys/SS304L/SS304L.yaml index ece892b..904e0b9 100644 --- a/src/pymatlib/data/alloys/SS304L/SS304L.yaml +++ b/src/pymatlib/data/alloys/SS304L/SS304L.yaml @@ -125,8 +125,8 @@ composition: Ni: 0.0806 Fe: 0.70695 -solidus_temperature: 1605 -liquidus_temperature: 1735 +solidus_temperature: 1605. +liquidus_temperature: 1735. properties: diff --git a/src/pymatlib/data/alloys/SS304L/SS304L_1.yaml b/src/pymatlib/data/alloys/SS304L/SS304L_1.yaml index dfbced5..32d73be 100644 --- a/src/pymatlib/data/alloys/SS304L/SS304L_1.yaml +++ b/src/pymatlib/data/alloys/SS304L/SS304L_1.yaml @@ -10,8 +10,8 @@ composition: Mn: 0.010 -solidus_temperature: 1605 -liquidus_temperature: 1735 +solidus_temperature: 1605. +liquidus_temperature: 1735. properties: diff --git a/src/pymatlib/data/alloys/SS304L/SS304L_comprehensive.yaml b/src/pymatlib/data/alloys/SS304L/SS304L_comprehensive.yaml index 1db622c..7d2278a 100644 --- a/src/pymatlib/data/alloys/SS304L/SS304L_comprehensive.yaml +++ b/src/pymatlib/data/alloys/SS304L/SS304L_comprehensive.yaml @@ -7,12 +7,12 @@ composition: Mo: 0.025 Mn: 0.010 -solidus_temperature: 1605 -liquidus_temperature: 1735 +solidus_temperature: 1605. +liquidus_temperature: 1735. properties: # 1. Constant float property - density: 7950. # kg/m³ + density: compute # kg/m³ # 2.1 File-based property (simple format) heat_conductivity: ./heat_conductivity_temperature.txt -- GitLab