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