Twin Builder: RC circuit design anaysis#
This example shows how you can use PyAEDT to create a Twin Builder design and run a Twin Builder time-domain simulation.
Perform required imports#
Perform required imports.
import os from pyaedt import TwinBuilder from pyaedt import generate_unique_project_name
Select version and set launch options#
Select the Twin Builder version and set the launch options. The following code launches Twin Builder 2022 R2 in graphical mode.
You can change the Boolean parameter
True to launch
Twin Builder in non-graphical mode. You can also change the Boolean parameter
False to launch Twin Builder in an existing AEDT session
if one is running.
Launch Twin Builder#
Launch Twin Builder using an implicit declaration and add a new design with a default setup.
Create components for RC circuit#
Create components for an RC circuit driven by a pulse voltage source. Define the grid distance for ease in calculations.
G = 0.00254 # Create components, such as a voltage source, resistor, and capacitor. source = tb.modeler.schematic.create_voltage_source("E1", "EPULSE", 10, 10, [0, 0]) resistor = tb.modeler.schematic.create_resistor("R1", 10000, [10 * G, 10 * G], 90) capacitor = tb.modeler.schematic.create_capacitor("C1", 1e-6, [20 * G, 0])
Create a ground, which is needed for an analog analysis.
gnd = tb.modeler.components.create_gnd([0, -10 * G])
Connects components with pins.
source.pins.connect_to_component(resistor.pins) resistor.pins.connect_to_component(capacitor.pins) capacitor.pins.connect_to_component(source.pins) source.pins.connect_to_component(gnd.pins)
Parametrize transient setup#
Parametrize the default transient setup by setting the end time.
Solve transient setup#
Solve the transient setup.
Get report data and plot using Matplotlib#
Get report data and plot it using Matplotlib. The following code gets and plots the values for the voltage on the pulse voltage source and the values for the voltage on the capacitor in the RC circuit.
Close Twin Builder#
After the simulation completes, you can close Twin Builder or release it. All methods provide for saving the project before closing.
if os.name != "posix": tb.release_desktop()
Total running time of the script: ( 0 minutes 15.898 seconds)