(read only)

This property returns the Laplacian matrix calculated in OpenDSS based on the latest B2N matrix. The vector represents a sparse matrix (non-zero values are the only ones delivered) and can be interpreted as follows: The first element is the row number, the second one is the column and the third is the value, this way, by dividing the number of elements in the array by 3 the user can obtain the number of rows in case of wanting to sort the vector values within a matrix. The tables for the columns and rows are the same as the columns for the B2N columns (square matrix).


% Create DSS object

DSSObject = actxserver('OpenDSSEngine.DSS')

if ~DSSObject.Start(0),

                    disp('Unable to start openDSS');



DSSText = DSSObject.Text;

DSSCircuit = DSSObject.ActiveCircuit;

% Compile a model        

DSSText.Command = 'Compile C:\myPath\myModel.dss';

DSSSolution = DSSCircuit.Solution;

% Solve the model


% calculate the B2N matrix, requires an Energy meter at the feeder head

DSSText.Command = 'CalcIncMatrix_O';

% calculate the Laplacian matrix

DSSText.Command = 'CalcLaplacian';

% gets the B2N matrix as vector

myLapV = DSSSolution.Laplacian;

mySize = size(myLapV);

% gets the number of rows

myLaplacian = []

for i = 1:3:(mySize(2) - 1),

    myLaplacian = [myLaplacian;myLapV(i:i+2)];


% gets the col/row labels for the Laplacian matrix

myLapNames = DSSSolution.IncMatrixCols;