Commit e33f260b authored by Zhang, Chen's avatar Zhang, Chen
Browse files

Merge branch 'new_model' into 'main'

update model

See merge request !2
parents a6b75c61 ef07db25
Loading
Loading
Loading
Loading
+23 −13
Original line number Diff line number Diff line
@@ -85,15 +85,24 @@ def generate_data(
    parameters_ref = np.column_stack(
        [
            np.random.uniform(3.5, 6.5, n_dataset),  # electolyte_sld,
            np.random.uniform(0, 5, n_dataset),  # sei_sld,
            np.random.uniform(10, 350, n_dataset),  # sei_thickness,
            np.random.uniform(10, 150, n_dataset),  # sei_roughness,
            np.random.uniform(-2, 2.5, n_dataset),  # si_sld,
            np.random.uniform(200, 1200, n_dataset),  # si_thickness,
            np.random.uniform(1, 50, n_dataset),  # si_roughness,
            np.random.uniform(5, 120, n_dataset),  # electolyte_roughness,

            np.random.uniform(0, 6.5, n_dataset),  # sei_sld,
            np.random.uniform(10, 500, n_dataset),  # sei_thickness,
            np.random.uniform(1, 80, n_dataset),  # sei_roughness,

            np.random.uniform(-2, 6, n_dataset),  # material_sld,
            np.random.uniform(10, 200, n_dataset),  # material_thickness,
            np.random.uniform(1, 35, n_dataset),  # material_roughness,
            
            np.random.uniform(6, 7, n_dataset),  # cu_sld,
            np.random.uniform(20, 300, n_dataset),  # cu_thickness,
            np.random.uniform(20, 700, n_dataset),  # cu_thickness,
            np.random.uniform(1, 35, n_dataset),  # cu_roughness,
            
            np.random.uniform(-3.5, 0, n_dataset),  # ti_sld,
            np.random.uniform(10, 100, n_dataset),  # ti_thickness,
            np.random.uniform(1, 35, n_dataset),  # ti_roughness,
            
            np.random.uniform(1, 4.2, n_dataset),  # oxide_sld,
            np.random.uniform(5, 50, n_dataset),  # oxide_thickness,
            np.random.uniform(1, 10, n_dataset),  # oxide_roughness,
@@ -126,12 +135,13 @@ def param_to_rcurve(param: np.ndarray) -> np.ndarray:
    """
    r_generator = RCurveGenerator()
    config = [
        {"name": "electrolyte", "sld": param[0], "isld": 0, "thickness": 0, "roughness": 15},
        {"name": "SEI", "sld": param[1], "isld": 0, "thickness": param[2], "roughness": param[3]},
        {"name": "Si", "sld": param[4], "isld": 0, "thickness": param[5], "roughness": param[6]},
        {"name": "Cu", "sld": param[7], "isld": 0, "thickness": param[8], "roughness": param[9]},
        {"name": "oxide", "sld": param[10], "isld": 0, "thickness": param[11], "roughness": param[12]},
        {"name": "substrate", "sld": 2.07, "isld": 0, "thickness": 0, "roughness": 11.1},
        {"name": "electrolyte", "sld": param[0], "isld": 0, "thickness": 0, "roughness": param[1]},
        {"name": "SEI", "sld": param[2], "isld": 0, "thickness": param[3], "roughness": param[4]},
        {"name": "material", "sld": param[5], "isld": 0, "thickness": param[6], "roughness": param[7]},
        {"name": "Cu", "sld": param[8], "isld": 0, "thickness": param[9], "roughness": param[10]},
        {"name": "Ti", "sld": param[11], "isld": 0, "thickness": param[12], "roughness": param[13]},
        {"name": "oxide", "sld": param[14], "isld": 0, "thickness": param[15], "roughness": param[16]},
        {"name": "substrate", "sld": 2.07, "isld": 0, "thickness": 0, "roughness": 0},
    ]
    return r_generator(config)

+8 −7
Original line number Diff line number Diff line
@@ -15,12 +15,13 @@ class RCurveGenerator:
    """A class for generating synthetic reflectivity curves."""

    default_sample_config_dict = [
        {"name": "electrolyte", "sld": 4.5, "isld": 0, "thickness": 0, "roughness": 15},
        {"name": "SEI", "sld": 3, "isld": 0, "thickness": 50, "roughness": 15},
        {"name": "Si", "sld": 2, "isld": 0, "thickness": 650, "roughness": 15},
        {"name": "Cu", "sld": 6, "isld": 0, "thickness": 200, "roughness": 15},
        {"name": "oxide", "sld": 3.7, "isld": 0, "thickness": 25, "roughness": 4},
        {"name": "substrate", "sld": 2.07, "isld": 0, "thickness": 0, "roughness": 11.1},
        {"name": "electrolyte", "sld": 6.2, "isld": 0, "thickness": 0, "roughness": 80},
        {"name": "SEI", "sld": 3.2, "isld": 0, "thickness": 250, "roughness": 15},
        {"name": "material", "sld": 2.8, "isld": 0, "thickness": 80, "roughness": 20},
        {"name": "Cu", "sld": 6.5, "isld": 0, "thickness": 530, "roughness": 7},
        {"name": "Ti", "sld": -3, "isld": 0, "thickness": 53, "roughness": 11},
        {"name": "oxide", "sld": 2.9, "isld": 0, "thickness": 24, "roughness": 2.3},
        {"name": "substrate", "sld": 2.07, "isld": 0, "thickness": 0, "roughness": 0},
    ]

    def __init__(self):
@@ -141,5 +142,5 @@ if __name__ == "__main__":
    ]
    # build the sample
    r_generator = RCurveGenerator()
    r_curve = r_generator(example_sample_config_dict)
    r_curve = r_generator(None)
    print(r_curve)