Skip to main content

Power Electronics and Motor Drive Simulation

Project description

SIMBA Python API

The Simba Python Module (aesim.simba) is a Python package that contains hundreds of functions providing direct access to SIMBA such as creating a circuit, modifying parameters, running a simulation, and retrieving results. aesim.simba is independent and does not require to have SIMBA installed to be used.

Installation

The easiest way to install the Python API is using pip:

pip install aesim.simba

Requirements

The current version of aesim.simba is compatible with Windows, macOS and Linux (64-bit).

Activation

The deployment key available on your account profile page must be used to activate aesim.simba. Two methods are available:

Using Environment Variable

The easiest way to activate pysimba is to set the environment variable SIMBA_DEPLOYMENT_KEY value to your deployment key. To add a new environment variable in Windows:

  • Open the Start Search, type in “env”, and choose “Edit the system environment variables”:
  • Click the “Environment Variables…” button.
  • Set the environment variables as needed. The New button adds an additional variable.

Code-based Activation

The License API can be also used to activate aesim.simba.

from aesim.simba import License
License.Activate('*** YOUR DEPLOYMENT KEY ***')

API Documentation

The API documentation is available here.

Performance

Running a simulation using the Python API is significantly faster than using the SIMBA User Interface because there is no overhead.

Quick Example

The following example opens the Flyback Converter Example available in SIMBA, runs it, and plots the output voltage.

#%% Load modules
from aesim.simba import DesignExamples
import matplotlib.pyplot as plt

#%% Load project
flybackConverter = DesignExamples.DCDC_Flyback()

#%% Get the job object and solve the system
job = flybackConverter.TransientAnalysis.NewJob()
status = job.Run()

#%% Get results
t = job.TimePoints
Vout = job.GetSignalByName('R2 - Instantaneous Voltage').DataPoints

#%% Plot Curve
fig, ax = plt.subplots()
ax.set_title(flybackConverter.Name)
ax.set_ylabel('Vout (V)')
ax.set_xlabel('time (s)')
ax.plot(t,Vout)

# %%

More Examples

A collection of simple Python script examples using the SIMBA Python API is available on this GitHub repository

Copyright (c) 2019-2020 AESIM.tech

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aesim.simba, version 2021.10.13
Filename, size File type Python version Upload date Hashes
Filename, size aesim.simba-2021.10.13.tar.gz (43.9 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page