Question
Hi everyone, I have a serious problem, which I cannot solve myself. Task: I want to convert a SPICE subcircuit to a Simscape component using the matlab syntax "subcircuit2ssc(filename,target)" The SPICE subcircuit are only related to Inductors and mutual inductors. SPICE-model: .subckt Ckt_model_series 1 2 3 4 5 6 L1 1 4 3.93e-09 L2 2 5 5.35e-09 L3 3 6 5.39e-09 K12 L1 L2 0.38 K13 L1 L3 0.45 K23 L2 L3 0.19 .ends Ckt_model_series Problem: After converting I get the following message in the .ssc file: % Users should manually implement the following SPICE commands in order to % achieve a complete implementation: % ckt_model_series: K12 l1 l2 0.38 % ckt_model_series: K13 l1 l3 0.45 % ckt_model_series: K23 l2 l3 0.19 This basically means all three inductor coupling are not taken into consideration. According to this link my syntax should be right. Question: Where is my mistake and how can I manually implement the SPICE commands afterwards? I need this solution for even bigger circuits ...
Expert Answer
Prashant Kumar
PhD Expert
Answered Aug 25, 2026
Could you please confirm which release you are using?
Support for the coupling factor component was added in R2019a, I believe. If you have access to that release or later, it should just work for you.
If you don't have access to that release, then the best solution is to write the relevant equations for yourself. For this simple case, I can give you an example. Basically, it just involves writing out the differential equations. Note that L1, L2 and L3 are variables representing the currents through those inductors, so I'm just writing something like v1 = L1*i1.der + k12*sqrt(L1*L2)*i2.der + etc.
component ckt_model_series
% ckt_model_series
nodes
node_1 = foundation.electrical.electrical; % node_1
node_2 = foundation.electrical.electrical; % node_2
node_3 = foundation.electrical.electrical; % node_3
node_4 = foundation.electrical.electrical; % node_4
node_5 = foundation.electrical.electrical; % node_5
node_6 = foundation.electrical.electrical; % node_6
end
variables
L1 = {value={0,'A'},priority=priority.none};
L2 = {value={0,'A'},priority=priority.none};
L3 = {value={0,'A'},priority=priority.none};
end
branches
L1: node_1.i -> node_4.i;
L2: node_2.i -> node_5.i;
L3: node_3.i -> node_6.i;
end
equations
value(node_1.v-node_4.v,'V') == 3.93e-09*value(L1.der,'A/s')+0.38*sqrt(3.93e-09*5.35e-09)*value(L2.der,'A/s')+0.45*sqrt( ...
3.93e-09*5.39e-09)*value(L3.der,'A/s');
value(node_2.v-node_5.v,'V') == 5.35e-09*value(L2.der,'A/s')+0.38*sqrt(5.35e-09*3.93e-09)*value(L1.der,'A/s')+0.19*sqrt( ...
5.35e-09*5.39e-09)*value(L3.der,'A/s');
value(node_3.v-node_6.v,'V') == 5.39e-09*value(L3.der,'A/s')+0.45*sqrt(5.39e-09*3.93e-09)*value(L1.der,'A/s')+0.19*sqrt( ...
5.39e-09*5.35e-09)*value(L2.der,'A/s');
end
end
100% Run Guarantee
3-Hour Fast-Track Delivery
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here
Related simscape Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →