{ "file_format_version": 1, "format_version": 1, "id": "3b6780c7-488b-471e-a784-392db7632090", "name": "main_node", "root": { "50e6ef97-f686-4400-bc01-e5a352e8cc22": { "name": "some_bondgraph", "interface": { "ports": {} }, "parameters": {}, "implementation": { "implementation_type": "graph", "graph": { "components": { "43b3aee6-0b38-429b-9c6d-d38fc097297f": { "name": "C", "interface": { "ports": { "c87881f1-23b4-4a69-b586-8e3c7bf6e21e": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "preferred_effort_out" }, "c62de8eb-e13b-4849-bea5-c8cc5332269e": { "port_type": "signal", "name": "state", "direction": "output", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "value_type": "real", "quantity": "", "unit": "" } } }, "parameters": { "parameter-d056bc27": { "name": "c", "value": "1", "value_type": "real", "matrix_size": [ 1, 1 ], "quantity": null, "unit": null, "description": null } }, "implementation": { "implementation_type": "equation", "declarations": [], "initial_equations": [ "state = 0;" ], "equations": [ "der(state) = p.f;", "p.e = state/c;" ] } }, "9ee2f42b-5ed1-446d-8790-c2a1df6b61d3": { "name": "j1", "interface": { "ports": { "4306701a-6b1b-4d19-b8ff-45dbfa04f2d3": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": true, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "single_flow_in" } } }, "parameters": {}, "implementation": { "implementation_type": "equation", "declarations": [ "parameter Real s[$p_N$] = $p_S$;", "Real f;" ], "initial_equations": [], "equations": [ "f = s[1] * p[1].f;", "sum(s[i] * p[i].e for i in 1:$p_N$) = 0;", "for i in 2:$p_N$ loop", " s[i] * p[i].f = s[i-1] * p[i-1].f;", "end for;" ] } }, "5a8b2e8d-489f-467b-8282-7e344dfad576": { "name": "R", "interface": { "ports": { "0ac7d4ea-77f7-4c0d-8e37-406ef66e4740": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "indifferent" }, "d1f5aab2-7bff-4b1e-8697-98fb6c3d8f02": { "port_type": "signal", "name": "power", "direction": "output", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "Dissipated power", "value_type": "real", "quantity": null, "unit": null } } }, "parameters": { "parameter-d056bc27": { "name": "r", "value": "1", "value_type": "real", "matrix_size": [ 1, 1 ], "quantity": null, "unit": null, "description": null } }, "implementation": { "implementation_type": "equation", "declarations": [], "initial_equations": [], "equations": [ "p.e = r*p.f;", "power = p.e*p.f;" ] } }, "2804f2f1-6123-4a53-aff1-87a3a8202711": { "name": "Se", "interface": { "ports": { "5b6a8a0c-0875-402c-bd74-11d086aac372": { "port_type": "bond", "name": "p", "direction": "output", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "fixed_effort_out" } } }, "parameters": { "parameter-d056bc27": { "name": "e", "value": "1", "value_type": "real", "matrix_size": [ 1, 1 ], "quantity": null, "unit": null, "description": null } }, "implementation": { "implementation_type": "equation", "declarations": [ "Real f;" ], "initial_equations": [], "equations": [ "p.e = e;", "f = p.f;" ] } }, "9f392c28-6bef-4b10-9305-93e250747007": { "name": "j0", "interface": { "ports": { "497b1f74-1186-471f-976a-36b07a451caf": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": true, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "single_effort_in" } } }, "parameters": {}, "implementation": { "implementation_type": "equation", "declarations": [ "Real e;" ], "initial_equations": [], "equations": [ "e = p[1].e;", "sum(p[i].f for i in 1:$p_N$) = 0;", "for i in 2:$p_N$ loop", " p[i].e = p[i-1].e;", "end for;" ] } }, "77701f68-b14c-4b98-8929-c5fba0261962": { "name": "R0", "interface": { "ports": { "4a3f69f2-b305-4305-92e3-3998634ff226": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "indifferent" } } }, "parameters": { "parameter-d056bc27": { "name": "r", "value": "10", "value_type": "real", "matrix_size": [ 1, 1 ], "quantity": null, "unit": null, "description": null } }, "implementation": { "implementation_type": "equation", "declarations": [], "initial_equations": [], "equations": [ "p.e = r*p.f;" ] } }, "033b930e-bf79-403a-8b0b-a159f3c81ce9": { "name": "I", "interface": { "ports": { "0b9036b1-e4e4-437e-8c35-f5bb391b6cbd": { "port_type": "bond", "name": "p", "direction": "input", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "domain": "power", "causality_preference": "preferred_flow_out" }, "fb25f35d-4c0c-4cfa-92d4-1a18a71e2c11": { "port_type": "signal", "name": "state", "direction": "output", "multiplicity": false, "matrix_size": [ 1, 1 ], "description": "", "value_type": "real", "quantity": "", "unit": "" } } }, "parameters": { "parameter-d056bc27": { "name": "i", "value": "1", "value_type": "real", "matrix_size": [ 1, 1 ], "quantity": null, "unit": null, "description": null } }, "implementation": { "implementation_type": "equation", "declarations": [], "initial_equations": [ "state = 0;" ], "equations": [ "der(state) = p.e;", "p.f = state/i;" ] } } }, "connections": { "7e293c73-1e07-4d4c-b750-6f43870c71c4": { "connection_type": "bond", "source": "5b6a8a0c-0875-402c-bd74-11d086aac372", "target": "4306701a-6b1b-4d19-b8ff-45dbfa04f2d3", "causality": "effort_out", "undesired": false }, "66414b62-ca76-4be6-8da4-72551f8ffc0e": { "connection_type": "bond", "source": "497b1f74-1186-471f-976a-36b07a451caf", "target": "4a3f69f2-b305-4305-92e3-3998634ff226", "causality": "flow_out", "undesired": false }, "8aaa96b3-45ed-4674-8f7a-06b28178a5c8": { "connection_type": "bond", "source": "4306701a-6b1b-4d19-b8ff-45dbfa04f2d3", "target": "c87881f1-23b4-4a69-b586-8e3c7bf6e21e", "causality": "flow_out", "undesired": false }, "ff606583-d31f-4638-93f7-926163db2665": { "connection_type": "bond", "source": "4306701a-6b1b-4d19-b8ff-45dbfa04f2d3", "target": "0ac7d4ea-77f7-4c0d-8e37-406ef66e4740", "causality": "effort_out", "undesired": false }, "1f52dc5a-1847-4982-aabc-2538cf99a86f": { "connection_type": "bond", "source": "497b1f74-1186-471f-976a-36b07a451caf", "target": "0b9036b1-e4e4-437e-8c35-f5bb391b6cbd", "causality": "effort_out", "undesired": false }, "5af42b61-2317-48a8-b32b-0e2dfd88368e": { "connection_type": "bond", "source": "4306701a-6b1b-4d19-b8ff-45dbfa04f2d3", "target": "497b1f74-1186-471f-976a-36b07a451caf", "causality": "flow_out", "undesired": false } } } } } }, "metadata": { "icon_database": { "format_version": 1, "icons": { "43b3aee6-0b38-429b-9c6d-d38fc097297f": { "shapes": { "7b93f7ba-d38e-4503-a64f-beb9fc915285": { "layer": 0, "type": "rectangle", "pos": [ -40, -40 ], "width": 80, "height": 80, "line_type": "solid", "line_thickness": 1.0, "corner_radius": 5.0, "line_color": "#000000ff", "fill_color": "#c8c8c8ff" } } } } } } }