# LTSpice outputting the incorrect voltage reading?

I have analysed this circuit by hand using both mesh and nodal and always come to the same voltage reading. However, when I simulate it in LTSpice, it does not match.

The V1 node reading should be 9.33V. Using voltage division we should get 5.33V for R3.

• What is F1 doing? Jun 9, 2021 at 2:35
• F1 is the CCCS. It is reading the current at the VTest terminals and applying a 1.5x current. Jun 9, 2021 at 2:39
• It looks to me like Vtest is defined as zero volts.... Jun 9, 2021 at 2:39
• Yes, that is the expected operation when using LTSpice to simulate CCCS.For F1 to work it has to read the current through a voltage source. Jun 9, 2021 at 2:40
• "The V1 node reading should be 9.33V." -- but V1 is a 6V supply referenced to GND. Jun 9, 2021 at 2:43

Make sure the direction of the current for F1 is oriented the way you want it.

LTSpice follows the "passive sign convention" -- namely, the positive current direction through a current or voltage source is from the positive node to the negative node.

This means that a voltage source will have positive current when (conventional) current is flowing into the source. This is the opposite of what we are normally used to.

This also means you also have to be careful about using an expression like $$\I(R1)\$$ to measure the current. Simply rotating the resistor 180 degrees will cause the measured current to flip sign.

The sign convention for other devices:

• for diodes: from anode to cathode
• for transistors: the currents are measured INTO each port. This will be counter-intuitive for NPN emitters and PNP collectors and bases.

Here is how LTSpice is computing the circuit:

simulate this circuit – Schematic created using CircuitLab

If you plug in the voltages from LTSpice you get:

\begin{align} I_1 &= (6-2.15)/5 = 770\, \text{mA} \\ I_3 &= 1.23 / 4 = 307\,\text{mA} \\ I_2 &= I_1 - I_3 = 473\,\text{mA} \\ \end{align} and indeed you see that $$\I_2 \approx 1.5I_3\$$.

So, it seems it has to do with the way LTSpice is orienting the current arrows. When you solved the circuit you probably didn't use the same orientations.

• That is very strange. Isn't F1 supposed to point upwards as I3-I2 = 1.5I2 and that is how I solved it? The question had the current pointing upwards. In that case, I assume I did the calculations incorrectly? Even though I thought I accounted for the sign. Jun 9, 2021 at 3:24
• You just have to play by LTSpice's rules! Fortunately once you know them they aren't going to change. Also, I didn't say you solved the circuit incorrectly -- you just used a different orientation for the current arrows and that changed the result. Jun 9, 2021 at 3:32
• The math @ErikR shows, proves that LTSpice is outputting correct currents given user input. If you want to get 9.33V at Vn001, flip VTest symbol. Jun 9, 2021 at 3:32
• @user36278 To be more clear about probing currents: for all the two pin elements, the current goes into the positive terminal and goes out from the negative one (or into pin 1 and out from pin 2); for all the others with more than 2 pins, the current goes into the pin. And the arrow directions that ErikR shows are the direction of mesh currents used for solving the circuit. These are just conventions for the sake of consistency in circuit analysis programming and has nothing to do with what we are taught. This is not particular to LTspice, but to SPICE, in general. Jun 9, 2021 at 5:37