Commit 96ef1d67 authored by Greenwood, Scott's avatar Greenwood, Scott
Browse files

[refactor] change the input specification from ModelName and SourceName to...

[refactor] change the input specification from ModelName and SourceName to ModelClass and SourceClass to better reflect these are references to the selected class
parent 5f7ff3a5
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -48,22 +48,22 @@ def sources_line(data, project_path, base_path, model_class_path, key_path, unif
    temp = []
    temp_path = pathlib.Path(project_path).parts[:-1]
    
    model_path_list = list(temp_path) + model_class_path.split('.')[0:-2] + ['Models'] + [data['ClassName'] + '.mo']
    model_path_list = list(temp_path) + model_class_path.split('.')[0:-2] + ['Models'] + [data['ModelClass'] + '.mo']
    model_path = os.path.join(*model_path_list)
    
    # Find the default by searching for "redeclare replaceable Sources.* sources"
    default_source_class = modelica_parse_files.extract_default_class_from_model(model_path, 'Sources', 'source')[0]  
    
    # If 'SourceName' is not in in the input file and is not the default, redeclare
    if 'SourceName' in data.keys() and default_source_class != data['SourceName']:
    # If 'SourceClass' is not in in the input file and is not the default, redeclare
    if 'SourceClass' in data.keys() and default_source_class != data['SourceClass']:
        # Adds redeclaration if a non-default source class is specified
        model_class_path = '.'.join([base_path, 'Sources', data['SourceName']])
        model_class_path = '.'.join([base_path, 'Sources', data['SourceClass']])
        line = f'redeclare {model_class_path} '
    else:
        line = ''
    
    if 'SourceName' in data.keys():
       default_source_class = data['SourceName'] 
    if 'SourceClass' in data.keys():
       default_source_class = data['SourceClass'] 
       
    source_path_list = list(temp_path) + model_class_path.split('.')[0:-2] + ['Sources'] + [default_source_class + '.mo']
    source_path = os.path.join(*source_path_list)
@@ -131,7 +131,7 @@ def create_nested_lines(data, project_path, base_path, uniform=[True,True], line
    else:
        base_path = '.'.join([base_path, 'Systems', data['Name']])

    model_class_path = '.'.join([base_path, 'Models', data['ClassName']])
    model_class_path = '.'.join([base_path, 'Models', data['ModelClass']])
    model_instance_name = data['InstanceName']
    lines.append(f'redeclare {model_class_path} {model_instance_name}(')

@@ -190,7 +190,7 @@ def main(json_file_path, project_path, base_path, parent_class, output_path, str
    data_orig = helper_functions.read_json(json_file_path)
    
    #TODO: Data check section
    # Verify required fields are present: Name, InstanceName (must be unique at that level), ClassName (default v0), SourceName (default NULL), Systems= [{}]
    # Verify required fields are present: Name, InstanceName (must be unique at that level), ModelClass (default v0), SourceClass (default NULL), Systems= [{}]
    default_structure_parameters = modelica_parse_files.get_variable_by_type(structure_path, 'parameter')
    data = copy.deepcopy(data_orig)
    nested_structure_utils.expand_data(data, {item[2]: item[3] for item in default_structure_parameters})
+8 −8
Original line number Diff line number Diff line
@@ -2,24 +2,24 @@
    "Name": "GenericCSM",
	"InstanceName":"simulator",
	"Structure":{"n":1},
	"ClassName":"v0",
	"ModelClass":"v0",
    "Systems": [
        {
            "Name": "Datacenter",
			"InstanceName":"datacenter",
			"Structure":{"n":1},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "CoolingBlock",
					"InstanceName":"computeBlock",
					"Structure":{"n":10},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[
                        {
                            "Name": "CDU",
							"InstanceName":"cdu",
							"ClassName":"v0",
							"ModelClass":"v0",
							"Structure":{"n":1},
                            "Systems":[{}]
                        },
@@ -27,7 +27,7 @@
                            "Name": "Cabinet",
							"Structure":{"n":3},
							"InstanceName":"cabinet",
							"ClassName":"v0",
							"ModelClass":"v0",
                            "Systems":[{}]
                        }]
                }]
@@ -36,20 +36,20 @@
            "Name": "CentralEnergyPlant",
			"InstanceName":"centralEnergyPlant",
			"Structure":{"n":1},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "IntermediateLoop",
					"InstanceName":"intermediateLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                },
                {
                    "Name": "CoolingTowerLoop",
					"InstanceName":"coolingTowerLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                }]
        }]
+8 −8
Original line number Diff line number Diff line
@@ -2,24 +2,24 @@
    "Name": "GenericCSM",
	"InstanceName":"simulator",
	"Structure":{"n":2},
	"ClassName":"v0",
	"ModelClass":"v0",
    "Systems": [
        {
            "Name": "Datacenter",
			"InstanceName":"datacenter",
			"Structure":{"n":2},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "CoolingBlock",
					"InstanceName":"computeBlock",
					"Structure":{"n":2},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[
                        {
                            "Name": "CDU",
							"InstanceName":"cdu",
							"ClassName":"v0",
							"ModelClass":"v0",
							"Structure":{"n":1},
                            "Systems":[{}]
                        },
@@ -27,7 +27,7 @@
                            "Name": "Cabinet",
							"Structure":{"n":3},
							"InstanceName":"cabinet",
							"ClassName":"v0",
							"ModelClass":"v0",
                            "Systems":[{}]
                        }]
                }]
@@ -36,20 +36,20 @@
            "Name": "CentralEnergyPlant",
			"InstanceName":"centralEnergyPlant",
			"Structure":{"n":1},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "IntermediateLoop",
					"InstanceName":"intermediateLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                },
                {
                    "Name": "CoolingTowerLoop",
					"InstanceName":"coolingTowerLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                }]
        }]
+8 −8
Original line number Diff line number Diff line
@@ -2,24 +2,24 @@
    "Name": "GenericCSM",
    "InstanceName": "simulator",
    "Structure": {"n": 2, "useParallel":false},
    "ClassName": "v0",
    "ModelClass": "v0",
    "Systems": [
        {
            "Name": "Datacenter",
            "InstanceName": "datacenter",
            "Structure": {"n": [2,2], "useParallel": [false,false]},
            "ClassName": "v0",
            "ModelClass": "v0",
            "Systems": [
                {
                    "Name": "CoolingBlock",
                    "InstanceName": "computeBlock",
                    "Structure": {"n": [[2,2],[2,2]], "useParallel":[[false,false],[false,false]]},
                    "ClassName": "v0",
                    "ModelClass": "v0",
                    "Systems": [
                        {
                            "Name": "CDU",
                            "InstanceName": "cdu",
                            "ClassName": "v0",
                            "ModelClass": "v0",
                            "Structure": {"useParallel":[[[false,false], [false,false]],[[false,false], [false,false]]], "n":[[[1,1],[1,1]],[[1,1],[1,1]]]},
                            "Systems": [{}]
                        },
@@ -27,7 +27,7 @@
                            "Name": "Cabinet",
                            "Structure": {"useParallel":[[[false,false],[false,false]],[[false,false],[false,false]]], "n":[[[3,3],[3,3]],[[3,3],[3,3]]]},
                            "InstanceName": "cabinet",
                            "ClassName": "v0",
                            "ModelClass": "v0",
                            "Systems": [{}]
                        }
                    ]
@@ -38,20 +38,20 @@
            "Name": "CentralEnergyPlant",
            "InstanceName": "centralEnergyPlant",
            "Structure": {"useParallel":[false,false], "n":[1,1]},
            "ClassName": "v0",
            "ModelClass": "v0",
            "Systems": [
                {
                    "Name": "IntermediateLoop",
                    "InstanceName": "intermediateLoop",
                    "Structure": {"useParallel":[[false],[false]], "n":[[1],[1]]},
                    "ClassName": "v0",
                    "ModelClass": "v0",
                    "Systems": [{}]
                },
                {
                    "Name": "CoolingTowerLoop",
                    "InstanceName": "coolingTowerLoop",
                    "Structure": {"useParallel":[[false],[false]], "n":[[1],[1]]},
                    "ClassName": "v0",
                    "ModelClass": "v0",
                    "Systems": [{}]
                }
            ]
+8 −8
Original line number Diff line number Diff line
@@ -2,24 +2,24 @@
    "Name": "GenericCSM",
	"InstanceName":"simulator",
	"Structure":{"n":2},
	"ClassName":"v0",
	"ModelClass":"v0",
    "Systems": [
        {
            "Name": "Datacenter",
			"InstanceName":"datacenter",
			"Structure":{"n":2},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "CoolingBlock",
					"InstanceName":"computeBlock",
					"Structure":{"n":2, "useParallel": true},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[
                        {
                            "Name": "CDU",
							"InstanceName":"cdu",
							"ClassName":"v0",
							"ModelClass":"v0",
							"Structure":{"n":1},
                            "Systems":[{}]
                        },
@@ -27,7 +27,7 @@
                            "Name": "Cabinet",
							"Structure":{"n":3},
							"InstanceName":"cabinet",
							"ClassName":"v0",
							"ModelClass":"v0",
                            "Systems":[{}]
                        }]
                }]
@@ -36,20 +36,20 @@
            "Name": "CentralEnergyPlant",
			"InstanceName":"centralEnergyPlant",
			"Structure":{"n":1},
			"ClassName":"v0",
			"ModelClass":"v0",
            "Systems":[
                {
                    "Name": "IntermediateLoop",
					"InstanceName":"intermediateLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                },
                {
                    "Name": "CoolingTowerLoop",
					"InstanceName":"coolingTowerLoop",
					"Structure":{"n":1},
					"ClassName":"v0",
					"ModelClass":"v0",
                    "Systems":[{}]
                }]
        }]
Loading