Skip to main content

IsValid

Usage inside MATLAB

% Import the module
psim_module = py.importlib.import_module('psimapipy');

% Create the PSIM object (empty string = auto-detect from registry)
psim = psim_module.PSIM('');

% Verify it loaded correctly
if ~psim.IsValid()
error('PSIM failed to load');
end
disp('PSIM loaded successfully');

MATLAB Function

function [is_ok] = verify_psim_load()
% VERIFY_PSIM_LOAD Checks if psimapipy is installed PSIM and can be
% loaded into MATLAB
%
% Usage:
% ok = verify_psim_load()

% Init is_ok
is_ok = false;

% Import and Initialize
try
psim_module = py.importlib.import_module('psimapipy');
psim = psim_module.PSIM('');
catch
error('Could not load psimapipy. Ensure Python is configured in MATLAB.');
end

if ~psim.IsValid()
error('PSIM object invalid. Check your PSIM license and registry.');
end

is_ok = true;

Usage:

% Usage:
% ok = verify_psim_load()
% Checking for python and psimapipy, can we use it?
status = verify_psim_load();
function psim = psim_get_instance()
%PSIM_GET_INSTANCE Singleton PSIM Python object

persistent psimObj

if isempty(psimObj)
try
mod = py.importlib.import_module('psimapipy');
psimObj = mod.PSIM('');
catch
error("PSIM:PythonLoadFailed", ...
"Could not load psimapipy. Check Python configuration.");
end

if ~psimObj.IsValid()
error("PSIM:Invalid", ...
"PSIM object invalid. Check license/installation.");
end
end

psim = psimObj;

Python def

def IsValid(self):
return (self.psimHandle is not None)