Files
BEdit/untitled.bedit.json

2073 lines
62 KiB
JSON

{
"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;"
]
}
},
"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"
},
"239bd18c-ff3d-4713-a5a4-0207973afb36": {
"port_type": "signal",
"name": "u",
"direction": "input",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"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 = u*e;",
"f = p.f;"
]
}
},
"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;"
]
}
},
"7e0f1689-4173-42c2-b0c3-4c01cd699fcc": {
"name": "step",
"interface": {
"ports": {
"37eb6e52-6e89-4e09-8923-43c6230f5486": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"f609057b-7cd8-4a5d-9243-771c64426c29": {
"name": "v",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"86a87f91-fdc4-4662-9e8b-1855a1f4f577": {
"name": "T",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"901df6e3-671d-467b-91bb-a26654fbf6bb": {
"name": "offset",
"value": "0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [],
"equations": [
"y = if time >= T then v+offset else offset;"
]
}
},
"aa0ff170-82d0-4f5e-9151-3b8478531e97": {
"name": "const",
"interface": {
"ports": {
"b39afdc2-a419-459a-bdf2-5358bf38103d": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"dab851b3-cc1b-42af-878c-5229209fd74d": {
"name": "v",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [],
"equations": [
"y = v;"
]
}
},
"2b3844e8-1875-40d0-ae4e-7a14ca217bce": {
"name": "ramp",
"interface": {
"ports": {
"5807dc83-d049-4f0f-9708-d041a752fcd0": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"dc093514-3e2f-4424-9e4f-01a6437c4ca5": {
"name": "d",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"3e4487c8-a3b1-4a51-8aac-3cd66ce7a0b0": {
"name": "offset",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [],
"equations": [
"y = offset + time*d;"
]
}
},
"c07a8cfb-323b-432b-8a6f-23b1a60eb593": {
"name": "gain",
"interface": {
"ports": {
"d5681d1d-70ee-4623-a41a-5a572e46d42c": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
},
"8bd1cc42-03b9-4c46-b31b-c1f46933dc9e": {
"port_type": "signal",
"name": "u",
"direction": "input",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"a4a9e500-5297-45b2-ba5d-7854f2855ec5": {
"name": "k",
"value": "2.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [],
"equations": [
"y = k*u;"
]
}
},
"6596fb5f-0b16-4f9b-804b-5b8b81db4158": {
"name": "j1",
"interface": {
"ports": {
"44bfb5f7-d8bf-4922-bac8-a001c077893e": {
"port_type": "bond",
"name": "p",
"direction": "input",
"multiplicity": true,
"matrix_size": [
1,
1
],
"description": "",
"domain": "power",
"causality_preference": "single_flow_in"
},
"30d830d5-adc9-4b84-960f-a7b51f68adf4": {
"port_type": "signal",
"name": "f",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {},
"implementation": {
"implementation_type": "equation",
"declarations": [
"parameter Real s[$p_N$] = $p_S$;"
],
"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;"
]
}
},
"8e8dca73-2d11-4631-9c24-5e1a4e3b2920": {
"name": "j0",
"interface": {
"ports": {
"707394db-dff5-4591-b716-23f32b56d4a6": {
"port_type": "bond",
"name": "p",
"direction": "input",
"multiplicity": true,
"matrix_size": [
1,
1
],
"description": "",
"domain": "power",
"causality_preference": "single_effort_in"
},
"a2709c23-7485-43b2-bc87-28a0f4c37c0b": {
"port_type": "signal",
"name": "e",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"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;"
]
}
},
"404e82f4-19e2-44ad-b409-3f021e483a39": {
"name": "integrator",
"interface": {
"ports": {
"441a44d0-bbe5-49f0-bb0e-5bc891218aca": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
},
"8d4b0f2c-2e13-4cfd-a8da-6c03ade4fbbf": {
"port_type": "signal",
"name": "u",
"direction": "input",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"7150c82e-8c78-4f83-9bc8-e46057a367a8": {
"name": "k",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Integrator gain"
},
"f7b9691a-22a4-41e0-9871-44f8dd0e02d2": {
"name": "initType",
"value": "3",
"value_type": "int",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)"
},
"3b636a9c-257c-4368-855a-094051f29041": {
"name": "y_start",
"value": "0.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Initial or guess value of output (= state)"
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [
"if initType == 2 then",
"\tder(y) = 0;",
"elseif initType >= 3 then",
"\ty = y_start;",
"end if;"
],
"equations": [
"der(y) = k*u;"
]
}
},
"2b0156f6-9977-4735-88dd-14f5eb3d87b5": {
"name": "derivative",
"interface": {
"ports": {
"d61847c9-0628-4e86-ad91-9390f92f926d": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
},
"f18c8fd2-dda5-4e8d-a5a7-a22a38abb091": {
"port_type": "signal",
"name": "u",
"direction": "input",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"ec421126-1ff4-4627-8bdd-1841318f3eb6": {
"name": "k",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Integrator gain"
},
"0c364769-5f07-4f3e-bb93-91d86a1f2dae": {
"name": "initType",
"value": "3",
"value_type": "int",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Type of initialization (1: no init, 2: steady state, 3: initial state, 4: initial output)"
},
"ab3a2bae-ea7f-41ca-9493-93d8debcee27": {
"name": "y_start",
"value": "0.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Initial or guess value of output (= state)"
},
"e04d9fc5-761c-4b3d-bd7b-93da9896bd35": {
"name": "T",
"value": "0.01",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Time constants (T>0 required; T=0 is ideal derivative block)"
},
"29669830-2738-4692-8255-115d1546619c": {
"name": "x_start",
"value": "0.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Initial or guess value of state\""
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [
"parameter Boolean zeroGain = abs(k) < Modelica.Constants.eps;",
"Real x(start=x_start);"
],
"initial_equations": [
"if initType == 2 then",
"\tder(x) = 0;",
"elseif initType == 3 then",
"\tx = x_start;",
"elseif initType >= 4 then",
"\tif zeroGain then",
"\t\tx = u;",
"\telse",
"\t\ty = y_start;",
"\tend if;",
"end if;"
],
"equations": [
"der(x) = if zeroGain then 0 else (u-x)/T;",
"y = if zeroGain then 0 else (k/T)*(u-x);"
]
}
},
"927326ff-f73a-4f98-b7fd-aaf97989121e": {
"name": "pulse",
"interface": {
"ports": {
"4f9f6b29-36f0-460e-9fd9-d4bdf0ea3c80": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {
"b6460a26-0b89-49e0-8ec7-99281a66668b": {
"name": "amplitude",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"983d6c65-8e81-4f49-9faa-d024e8e6a9d3": {
"name": "width",
"value": "50.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Pulse width in %"
},
"c9ccd873-f83a-4b08-8827-4a88a06d502a": {
"name": "offset",
"value": "0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"9cd46f38-6ddb-4d69-946d-df96e9f30078": {
"name": "period",
"value": "1.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
},
"4e1d29eb-48c8-479a-8968-8f57fd95ea9f": {
"name": "nperiod",
"value": "-1",
"value_type": "int",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": "Number of periods (<0 means infinite)"
},
"68102f0d-b58b-4c10-af0d-dffae406fb07": {
"name": "startTime",
"value": "0.0",
"value_type": "real",
"matrix_size": [
1,
1
],
"quantity": null,
"unit": null,
"description": null
}
},
"implementation": {
"implementation_type": "equation",
"declarations": [
"Integer count;",
"Modelica.Units.SI.Time T_start;",
"Modelica.Units.SI.Time T_width=period*width/100;"
],
"initial_equations": [
"initial algorithm",
"count := integer((time-startTime)/period);",
"T_start := startTime + count*period;"
],
"equations": [
"when time >= (pre(count)+1)*period + startTime then",
"\tcount = pre(count) + 1;",
"\tT_start = time;",
"end when;",
"y = offset + (if (time < startTime or nperiod == 0 or (nperiod > 0 and count >= nperiod)) then 0 else if time < T_start + T_width then amplitude else 0);"
]
}
},
"ac215607-dd97-4142-b42f-f23502e51cfa": {
"name": "plusminus",
"interface": {
"ports": {
"baadcb27-0807-4366-819f-7396a1ed205d": {
"port_type": "signal",
"name": "plus",
"direction": "input",
"multiplicity": true,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
},
"53cc98de-2e05-49ea-af26-e26d5dcd99e7": {
"port_type": "signal",
"name": "minus",
"direction": "input",
"multiplicity": true,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
},
"0574652d-df52-4798-8072-da0a26eee873": {
"port_type": "signal",
"name": "y",
"direction": "output",
"multiplicity": false,
"matrix_size": [
1,
1
],
"description": null,
"value_type": "real",
"quantity": null,
"unit": null
}
}
},
"parameters": {},
"implementation": {
"implementation_type": "equation",
"declarations": [],
"initial_equations": [],
"equations": [
"y = sum(plus) - sum(minus);"
]
}
}
},
"connections": {
"00c239f4-b281-4313-9577-15a81f272c2b": {
"connection_type": "signal",
"source": "37eb6e52-6e89-4e09-8923-43c6230f5486",
"target": "239bd18c-ff3d-4713-a5a4-0207973afb36"
},
"a5735621-1486-4e5e-be46-a5ba406dde78": {
"connection_type": "bond",
"source": "5b6a8a0c-0875-402c-bd74-11d086aac372",
"target": "44bfb5f7-d8bf-4922-bac8-a001c077893e",
"causality": "effort_out",
"undesired": false
},
"5c0d8fee-a366-4544-adb9-1ac3802a56a6": {
"connection_type": "bond",
"source": "44bfb5f7-d8bf-4922-bac8-a001c077893e",
"target": "c87881f1-23b4-4a69-b586-8e3c7bf6e21e",
"causality": "flow_out",
"undesired": false
},
"6523c7a3-868a-474b-8e7c-5fb4ee4443a4": {
"connection_type": "bond",
"source": "44bfb5f7-d8bf-4922-bac8-a001c077893e",
"target": "0ac7d4ea-77f7-4c0d-8e37-406ef66e4740",
"causality": "flow_out",
"undesired": false
},
"b9391149-a6b0-4b53-b338-d9e4990557ce": {
"connection_type": "bond",
"source": "44bfb5f7-d8bf-4922-bac8-a001c077893e",
"target": "707394db-dff5-4591-b716-23f32b56d4a6",
"causality": "effort_out",
"undesired": false
},
"6163366c-d693-4a9f-962d-27920e510131": {
"connection_type": "bond",
"source": "707394db-dff5-4591-b716-23f32b56d4a6",
"target": "4a3f69f2-b305-4305-92e3-3998634ff226",
"causality": "effort_out",
"undesired": false
},
"610f5a4d-6eff-487e-9782-d08d1f257cfa": {
"connection_type": "bond",
"source": "707394db-dff5-4591-b716-23f32b56d4a6",
"target": "0b9036b1-e4e4-437e-8c35-f5bb391b6cbd",
"causality": "effort_out",
"undesired": false
},
"909ab167-31cf-4b10-95ed-082878018970": {
"connection_type": "signal",
"source": "a2709c23-7485-43b2-bc87-28a0f4c37c0b",
"target": "8bd1cc42-03b9-4c46-b31b-c1f46933dc9e"
},
"122eaf51-7baf-457f-a944-f946b6ab321a": {
"connection_type": "signal",
"source": "4f9f6b29-36f0-460e-9fd9-d4bdf0ea3c80",
"target": "baadcb27-0807-4366-819f-7396a1ed205d"
},
"8b1c34a9-03c2-4bb5-81ab-7fa66bcafe8e": {
"connection_type": "signal",
"source": "5807dc83-d049-4f0f-9708-d041a752fcd0",
"target": "53cc98de-2e05-49ea-af26-e26d5dcd99e7"
},
"3c659d9e-8218-48ac-9a3d-4297fba275c2": {
"connection_type": "signal",
"source": "0574652d-df52-4798-8072-da0a26eee873",
"target": "8d4b0f2c-2e13-4cfd-a8da-6c03ade4fbbf"
},
"9b5ab2d7-d302-48e8-98dc-0d60ba54ca01": {
"connection_type": "signal",
"source": "0574652d-df52-4798-8072-da0a26eee873",
"target": "f18c8fd2-dda5-4e8d-a5a7-a22a38abb091"
}
}
}
}
}
},
"metadata": {
"icon_database": {
"format_version": 1,
"icons": {
"43b3aee6-0b38-429b-9c6d-d38fc097297f": {
"shapes": {
"2a5bf670-c821-442b-9d46-1b07faa70722": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "C"
}
},
"port_positions": {
"c87881f1-23b4-4a69-b586-8e3c7bf6e21e": [
-8,
-8
],
"c62de8eb-e13b-4849-bea5-c8cc5332269e": [
16,
-32
]
}
},
"5a8b2e8d-489f-467b-8282-7e344dfad576": {
"shapes": {
"2a5bf670-c821-442b-9d46-1b07faa70722": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "R"
}
},
"port_positions": {
"0ac7d4ea-77f7-4c0d-8e37-406ef66e4740": [
-8,
-8
],
"d1f5aab2-7bff-4b1e-8697-98fb6c3d8f02": [
16,
-32
]
}
},
"033b930e-bf79-403a-8b0b-a159f3c81ce9": {
"shapes": {
"2a5bf670-c821-442b-9d46-1b07faa70722": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "I"
}
},
"port_positions": {
"0b9036b1-e4e4-437e-8c35-f5bb391b6cbd": [
-8,
-8
],
"fb25f35d-4c0c-4cfa-92d4-1a18a71e2c11": [
16,
-32
]
}
},
"2804f2f1-6123-4a53-aff1-87a3a8202711": {
"shapes": {
"2a5bf670-c821-442b-9d46-1b07faa70722": {
"layer": 0,
"type": "text",
"pos": [
-77,
-32
],
"width": 152.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "MSe"
}
},
"port_positions": {
"5b6a8a0c-0875-402c-bd74-11d086aac372": [
-8,
-8
],
"239bd18c-ff3d-4713-a5a4-0207973afb36": [
-65,
-29
]
}
},
"77701f68-b14c-4b98-8929-c5fba0261962": {
"shapes": {
"2a5bf670-c821-442b-9d46-1b07faa70722": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "R"
}
},
"port_positions": {
"4a3f69f2-b305-4305-92e3-3998634ff226": [
-8,
-8
]
}
},
"7e0f1689-4173-42c2-b0c3-4c01cd699fcc": {
"shapes": {
"9ed4189a-123b-431f-a6bc-bbf169487703": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"ac1b7cf2-ce50-44b7-9f8f-077ca36f7369": {
"layer": 4,
"type": "line",
"pos": [
-32,
-32
],
"end": [
-32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"2e623060-349e-4a48-97b0-a81921df5870": {
"layer": 2,
"type": "line",
"pos": [
-32,
32
],
"end": [
32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"e231a6f0-da98-4e5d-ad1a-7c11048a50fb": {
"layer": 3,
"type": "line",
"pos": [
-32,
14
],
"end": [
3,
14
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"43393c01-9198-4f64-a158-dc44dce92624": {
"layer": 5,
"type": "line",
"pos": [
3,
14
],
"end": [
3,
-13
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"45e988a2-393d-4a4c-b692-6c0150072f73": {
"layer": 6,
"type": "line",
"pos": [
3,
-13
],
"end": [
32,
-13
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
}
},
"port_positions": {
"37eb6e52-6e89-4e09-8923-43c6230f5486": [
-8,
-8
]
}
},
"aa0ff170-82d0-4f5e-9151-3b8478531e97": {
"shapes": {
"3563b7fb-f86d-4df4-90c8-fef103e253e9": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"545a1285-8eca-4a11-8cf5-c9ac07d7ddd6": {
"layer": 4,
"type": "line",
"pos": [
-32,
-32
],
"end": [
-32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"2b8a18b0-7ca4-4c35-98c1-05efaacc6079": {
"layer": 2,
"type": "line",
"pos": [
-32,
32
],
"end": [
32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"15b1b956-ec01-44b9-86f7-6274801deffb": {
"layer": 3,
"type": "line",
"pos": [
-32,
-9
],
"end": [
32,
-9
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
}
},
"port_positions": {
"b39afdc2-a419-459a-bdf2-5358bf38103d": [
-8,
-8
]
}
},
"2b3844e8-1875-40d0-ae4e-7a14ca217bce": {
"shapes": {
"5088d827-d554-4d4a-b2f2-818b2488c5b2": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"4d18c283-1f6a-404f-a2e3-85866dce36b6": {
"layer": 4,
"type": "line",
"pos": [
-32,
-32
],
"end": [
-32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"8433da05-3b9f-421e-9f56-170889d7a609": {
"layer": 2,
"type": "line",
"pos": [
-32,
32
],
"end": [
32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"47bf4d6c-bb28-4743-8672-cf39c4177242": {
"layer": 3,
"type": "line",
"pos": [
-32,
23
],
"end": [
32,
-9
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
}
},
"port_positions": {
"5807dc83-d049-4f0f-9708-d041a752fcd0": [
-8,
-8
]
}
},
"c07a8cfb-323b-432b-8a6f-23b1a60eb593": {
"shapes": {
"14409738-45af-40c5-9c9e-827218d54a95": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"630596d8-59a2-4bdc-a4be-bda53c0257b4": {
"layer": 1,
"type": "text",
"pos": [
-34,
-35
],
"width": 68.0,
"height": 71.0,
"color": "#00007fff",
"bold": false,
"italic": false,
"size": 48.0,
"text": "K"
}
},
"port_positions": {
"d5681d1d-70ee-4623-a41a-5a572e46d42c": [
-8,
-8
]
}
},
"6596fb5f-0b16-4f9b-804b-5b8b81db4158": {
"shapes": {
"0b6fb297-1cf1-4f93-b64c-7e201dc09c19": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "1"
}
},
"port_positions": {
"44bfb5f7-d8bf-4922-bac8-a001c077893e": [
-8,
-8
],
"30d830d5-adc9-4b84-960f-a7b51f68adf4": [
8,
-32
]
}
},
"8e8dca73-2d11-4631-9c24-5e1a4e3b2920": {
"shapes": {
"02c7e2f5-7490-4a5f-abc0-15a584403a9f": {
"layer": 0,
"type": "text",
"pos": [
-32,
-32
],
"width": 64.0,
"height": 64.0,
"color": "#000000ff",
"bold": true,
"italic": false,
"size": 64.0,
"text": "0"
}
},
"port_positions": {
"707394db-dff5-4591-b716-23f32b56d4a6": [
-8,
-8
],
"a2709c23-7485-43b2-bc87-28a0f4c37c0b": [
9,
-32
]
}
},
"404e82f4-19e2-44ad-b409-3f021e483a39": {
"shapes": {
"29dafe3d-8392-49c0-98ee-80e941b32a52": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"d24da1c9-bae9-41e6-aee4-79e5f238ea72": {
"layer": 1,
"type": "text",
"pos": [
-15,
-47
],
"width": 31.0,
"height": 81.0,
"color": "#00007fff",
"bold": false,
"italic": false,
"size": 72.0,
"text": "∫"
}
},
"port_positions": {
"441a44d0-bbe5-49f0-bb0e-5bc891218aca": [
7,
-7
],
"8d4b0f2c-2e13-4cfd-a8da-6c03ade4fbbf": [
-22,
-7
]
}
},
"2b0156f6-9977-4735-88dd-14f5eb3d87b5": {
"shapes": {
"702ce5c1-a37a-4f89-8261-0be4b433ae79": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"32ccfd50-07dd-4524-be5d-e96a3136d520": {
"layer": 1,
"type": "text",
"pos": [
-40,
-31
],
"width": 78.0,
"height": 62.0,
"color": "#00007fff",
"bold": false,
"italic": false,
"size": 38.0,
"text": "d/dt"
}
},
"port_positions": {
"d61847c9-0628-4e86-ad91-9390f92f926d": [
7,
-7
],
"f18c8fd2-dda5-4e8d-a5a7-a22a38abb091": [
-22,
-7
]
}
},
"927326ff-f73a-4f98-b7fd-aaf97989121e": {
"shapes": {
"89e11690-3faa-482b-a054-10a2c7565c43": {
"layer": 0,
"type": "rectangle",
"pos": [
-48,
-48
],
"width": 96.0,
"height": 96.0,
"line_type": "solid",
"line_thickness": 5.0,
"corner_radius": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
},
"de170a5b-c959-4d6d-afda-fa867dfbca51": {
"layer": 4,
"type": "line",
"pos": [
-32,
-32
],
"end": [
-32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"94fc1429-0ef2-403b-aa5d-7edcb7b3ebf2": {
"layer": 2,
"type": "line",
"pos": [
-32,
32
],
"end": [
32,
32
],
"line_type": "solid",
"line_thickness": 3.0,
"line_color": "#000000ff"
},
"0d82b577-e3fb-4434-adfb-883e1918e30f": {
"layer": 3,
"type": "line",
"pos": [
-32,
14
],
"end": [
-14,
14
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"531dcbea-2c2d-4ed9-bcbc-dfc9b0145527": {
"layer": 5,
"type": "line",
"pos": [
-13,
14
],
"end": [
-13,
-12
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"c4476a1b-7216-4eab-aad6-69ecb5af4b79": {
"layer": 6,
"type": "line",
"pos": [
-13,
-13
],
"end": [
4,
-13
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"2b69a1e2-0f80-4a1a-b31c-1f32b91bc46a": {
"layer": 7,
"type": "line",
"pos": [
4,
-13
],
"end": [
4,
14
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"7fac6744-2d5b-49a4-bfca-27cc8889a5b6": {
"layer": 8,
"type": "line",
"pos": [
4,
14
],
"end": [
21,
14
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"81390b87-3648-4556-a439-9456232781df": {
"layer": 9,
"type": "line",
"pos": [
21,
14
],
"end": [
21,
-13
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
},
"c3c9eddf-f4c7-4f76-8bc5-7c313fc9ea72": {
"layer": 10,
"type": "line",
"pos": [
21,
-14
],
"end": [
32,
-14
],
"line_type": "solid",
"line_thickness": 2.0,
"line_color": "#ffaa00ff"
}
},
"port_positions": {
"4f9f6b29-36f0-460e-9fd9-d4bdf0ea3c80": [
-8,
-8
]
}
},
"ac215607-dd97-4142-b42f-f23502e51cfa": {
"shapes": {
"9336da30-7335-4eea-a8a2-ae69d8cad9e1": {
"layer": 1,
"type": "ellipse",
"pos": [
-36,
-36
],
"width": 72.0,
"height": 72.0,
"line_type": "solid",
"line_thickness": 8.0,
"line_color": "#00007fff",
"fill_color": "#ebebebff"
}
},
"port_positions": {
"baadcb27-0807-4366-819f-7396a1ed205d": [
-24,
9
],
"53cc98de-2e05-49ea-af26-e26d5dcd99e7": [
-24,
-26
],
"0574652d-df52-4798-8072-da0a26eee873": [
11,
-8
]
}
}
}
},
"graph_database": {
"format_version": 1,
"graphs": {
"50e6ef97-f686-4400-bc01-e5a352e8cc22": {
"shapes": {},
"component_positions": {
"43b3aee6-0b38-429b-9c6d-d38fc097297f": [
64,
-384
],
"9ee2f42b-5ed1-446d-8790-c2a1df6b61d3": [
64,
-128
],
"5a8b2e8d-489f-467b-8282-7e344dfad576": [
320,
-128
],
"2804f2f1-6123-4a53-aff1-87a3a8202711": [
-192,
-128
],
"9f392c28-6bef-4b10-9305-93e250747007": [
64,
128
],
"77701f68-b14c-4b98-8929-c5fba0261962": [
320,
128
],
"033b930e-bf79-403a-8b0b-a159f3c81ce9": [
-192,
128
],
"1455acad-931b-4caa-be71-aff4283507c6": [
64,
384
],
"015a0697-69a9-43bf-9410-d2c8b44303f8": [
64,
384
],
"4e3d1c6f-90a9-44bd-a91e-0619ce0cec63": [
-460,
-100
],
"7e0f1689-4173-42c2-b0c3-4c01cd699fcc": [
-432,
-128
],
"aa0ff170-82d0-4f5e-9151-3b8478531e97": [
-432,
48
],
"2b3844e8-1875-40d0-ae4e-7a14ca217bce": [
-428,
744
],
"bf08f999-bfe8-493a-9ad2-9c2965e17d6d": [
-504,
-292
],
"c07a8cfb-323b-432b-8a6f-23b1a60eb593": [
64,
308
],
"2cb26679-2488-4766-9ba2-b35c197e327f": [
64,
-128
],
"408a4376-47c4-456b-ba49-4594b7a18892": [
64,
128
],
"6596fb5f-0b16-4f9b-804b-5b8b81db4158": [
64,
-128
],
"8e8dca73-2d11-4631-9c24-5e1a4e3b2920": [
64,
128
],
"ac5011ce-4659-4bdd-900a-63a1c779652c": [
-432,
560
],
"ec0599cb-b57b-4194-b166-526d5cd5382a": [
-120,
656
],
"83dd8220-554c-4907-b713-c37e1f600f0d": [
-96,
648
],
"404e82f4-19e2-44ad-b409-3f021e483a39": [
228,
640
],
"2b0156f6-9977-4735-88dd-14f5eb3d87b5": [
232,
828
],
"927326ff-f73a-4f98-b7fd-aaf97989121e": [
-428,
552
],
"ac215607-dd97-4142-b42f-f23502e51cfa": [
-96,
636
],
"b3e059a3-4517-435d-aa63-ddfbbf6fa071": [
488,
552
]
},
"component_labels": {
"43b3aee6-0b38-429b-9c6d-d38fc097297f": {
"relative_position": [
52,
-44
],
"visible": true
},
"9ee2f42b-5ed1-446d-8790-c2a1df6b61d3": {
"relative_position": [
0,
8
],
"visible": false
},
"9f392c28-6bef-4b10-9305-93e250747007": {
"relative_position": [
0,
8
],
"visible": false
},
"408a4376-47c4-456b-ba49-4594b7a18892": {
"relative_position": [
0,
8
],
"visible": false
},
"2cb26679-2488-4766-9ba2-b35c197e327f": {
"relative_position": [
0,
8
],
"visible": false
},
"6596fb5f-0b16-4f9b-804b-5b8b81db4158": {
"relative_position": [
0,
8
],
"visible": false
},
"8e8dca73-2d11-4631-9c24-5e1a4e3b2920": {
"relative_position": [
0,
8
],
"visible": false
}
},
"connections": {
"7e293c73-1e07-4d4c-b750-6f43870c71c4": {
"points": [
[
-320,
-128
],
[
-128,
-128
]
]
},
"66414b62-ca76-4be6-8da4-72551f8ffc0e": {
"points": [
[
128,
160
],
[
352,
96
]
]
},
"1f52dc5a-1847-4982-aabc-2538cf99a86f": {
"points": [
[
128,
160
],
[
352,
224
]
]
}
}
}
}
},
"simulation_database": {
"format_version": 1,
"active_simulation": "7778ca68-7a36-401b-b4aa-236a44c5e771",
"simulations": {
"7778ca68-7a36-401b-b4aa-236a44c5e771": {
"component": "50e6ef97-f686-4400-bc01-e5a352e8cc22",
"name": "run bondgraph",
"start_time": 0.0,
"duration": 10.0,
"use_timed_steps": true,
"number_of_steps": 500,
"step_size": 0.001,
"method": "dassl",
"dassl_tolerance": 1e-06
}
}
},
"port_metadata_database": {
"format_version": 1,
"ports": {
"53cc98de-2e05-49ea-af26-e26d5dcd99e7": {
"connection_annotation": "-"
},
"baadcb27-0807-4366-819f-7396a1ed205d": {
"connection_annotation": "+"
}
}
}
}
}