const invertingInputTerminalUid = "72f08657-4032-fee0-2ea8-5446bb08e2cd"; // IN1
const nonInvertingInputTerminalUid = "86ae4cca-3b88-01e5-e081-f641c927fbfd"; // IN2
const positiveSupplyTerminalUid = "3cc81c1b-420c-458a-324f-59ec6a05e96d"; // VCC
const negativeSupplyTerminalUid = "4d0e9f8f-e8e4-34df-b173-e2d11796f54d"; // VEE
const outputTerminalUid = "d4ff885e-b9b1-7cb9-5939-27c2788efca1"; // OUT
const invertingInputTerminal = flux.getNodeById(invertingInputTerminalUid, "elementTerminal");
const nonInvertingInputTerminal = flux.getNodeById(nonInvertingInputTerminalUid, "elementTerminal");
const positiveSupplyTerminal = flux.getNodeById(positiveSupplyTerminalUid, "elementTerminal");
const negativeSupplyTerminal = flux.getNodeById(negativeSupplyTerminalUid, "elementTerminal");
const outputTerminal = flux.getNodeById(outputTerminalUid, "elementTerminal");
if (!invertingInputTerminal || !nonInvertingInputTerminal || !positiveSupplyTerminal || !negativeSupplyTerminal || !outputTerminal) {
throw new Error("Oops! Couldn't find terminals by uid");
}
const outputVoltage = flux.createOutputNode("output-voltage");
flux.on("setup", () => {
const gain = getPropValueOrDefault("Open-loop Gain", 100e3);
const bandwidth = getPropValueOrDefault("Bandwidth", 1000);
const inputResistance = getPropValueOrDefault("Differential Input Resistance", 100e9);
const outputResistance = getPropValueOrDefault("Open-loop Output Resistance", 1);