To get started, check our overview page and our get-started examples hereunder or here.
1 2 3 4 5 6 7 8 910111213
# Load modulesfromaesim.simbaimportDesignExamples# Load projectflybackConverter=DesignExamples.DCDC_Flyback()# Get the job object and solve the systemjob=flybackConverter.TransientAnalysis.NewJob()status=job.Run()# Get resultst=job.TimePointsVout=job.GetSignalByName('R2 - Instantaneous Voltage').DataPoints
# Load required modulesfromaesim.simbaimportDesignExamplesimportnumpyasnp# Calculating Vout=f(dutycycle)BuckBoostConverter=DesignExamples.BuckBoostConverter()dutycycles=np.arange(0.00,0.9,0.9/50)Vouts=[]fordutycycleindutycycles:# Set duty cycle valuePWM=BuckBoostConverter.Circuit.GetDeviceByName('C1')PWM.DutyCycle=dutycycle# Run calculationjob=BuckBoostConverter.TransientAnalysis.NewJob()status=job.Run()# Retrieve resultst=np.array(job.TimePoints)Vout=np.array(job.GetSignalByName('R1 - Instantaneous Voltage').DataPoints)# Average output voltage for t > 2msindices=np.where(t>=0.002)Vout=np.take(Vout,indices)Vout=np.average(Vout)# Save resultsVouts.append(Vout)
# Load required modulefromaesim.simbaimportDesign# Create Buck Converter Modeldesign=Design()design.Name="DC/DC - Buck Converter"design.TransientAnalysis.TimeStep=1e-6design.TransientAnalysis.EndTime=10e-3circuit=design.Circuit# Add devicesV1=circuit.AddDevice("DC Voltage Source",2,6)V1.Voltage=50SW1=circuit.AddDevice("Controlled Switch",8,4)PWM=circuit.AddDevice("Square Wave",2,0)PWM.Frequency=5000PWM.DutyCycle=0.5PWM.Amplitude=1D1=circuit.AddDevice("Diode",16,9)D1.RotateLeft()L1=circuit.AddDevice("Inductor",20,5)L1.Value=1E-3C1=circuit.AddDevice("Capacitor",28,9)C1.RotateRight()C1.Value=100E-6R1=circuit.AddDevice("Resistor",34,9)R1.RotateRight()R1.Value=5R1.Name="R1"forscopeinR1.Scopes:scope.Enabled=Trueg=circuit.AddDevice("Ground",3,14)# Make connectionscircuit.AddConnection(V1.P,SW1.P)circuit.AddConnection(SW1.N,D1.Cathode)circuit.AddConnection(D1.Cathode,L1.P)circuit.AddConnection(L1.N,C1.P)circuit.AddConnection(L1.N,R1.P)circuit.AddConnection(PWM.Out,SW1.In)circuit.AddConnection(V1.N,g.Pin)circuit.AddConnection(D1.Anode,g.Pin)circuit.AddConnection(C1.N,g.Pin)circuit.AddConnection(R1.N,g.Pin)# Run Simulationjob=design.TransientAnalysis.NewJob()status=job.Run()
1 2 3 4 5 6 7 8 91011121314151617181920212223
# Load modulesfromaesim.simbaimportDesignExamples,ACSweep# Load AC Sweep Design Examplebuck_converter=DesignExamples.DCDC_Buck_Converter_ACSweep()# Create the AC Sweep Test bench and assign the perturbation devicebuck_converter_acsweep=ACSweep()buck_converter_acsweep.Design=buck_converter;buck_converter_acsweep.Device=buck_converter.Circuit.GetDeviceByName("Control")buck_converter_acsweep.Fmin=100;buck_converter_acsweep.Fmax=1E5;buck_converter_acsweep.MagMin=0.03;buck_converter_acsweep.MagMax=0.05;buck_converter_acsweep.NumberOfPoints=41;# Create and run the jobjob=buck_converter_acsweep.NewJob();status=job.Run();# Retrieve Transfer Functionmag_sim=job.GetSignalByName('Rload - Voltage Magnitude').DataPointsphase_sim=job.GetSignalByName('Rload - Voltage Angle').DataPoints
More Examples
A collection of simple Python script examples using the SIMBA Python API is available on this GitHub repository