Sie sind auf Seite 1von 49

Do you want to get started right away? Jump to page 11!

Praise for Symbulator


The masterpiece of TI-89 programming. Alex Astashyn. EE+CoE+CoS major / Polytechnic University in Brooklyn / New York, USA (Born in Russia) Symbulator is and always will be the best program for TI-89. Charles Ware. EE major / Columbus, Ohio, USA Roberto, your program Symbulator is by itself a reason to buy the calc. It's a masterpiece of programming. Pepe Iborra. Telecom / Spain The program is really a masterpiece. It gives you everything you need, very accurate, very fast. It's really what every Electrical Engineer dreams of. It's so easy to use and it does everything! I'm really amazed. Keep up the good work. Nikolaos Trichakis. EE major / Aristoteles University of Thessaloniki / Greece Brillant work by Mr. Prez-Franco! Check it out! Arne Harstad. EE major / Norges tekniskenaturvitenskapelige Universitet / Norway Congratulations for your program: it's simply fantastic. Symbulator is worth the cost of a TI-89! Pier Giorgio Raponi. Engineering student / Pisa, Italy I wish I had it while going through school. Joe Riel. BSEE & Creator of Syrup (a symbolic circuit simulator for MapleV) / UC / Irvine CA, USA Symbulator is a wonderful tool. Reinhard Willinski. EE major / Germany It runs beautifully in TI-89. Harold Martnez. CoE major / City College / New York, USA I find Symbulator to be a phenomenal program. You did a great job. The more I use it, the more I want to use it. Michael. EE/CoE student / San Diego State University / USA Totally awesome! Thanks a million. Chris Spencer. EE major / University of Florida, USA You've made an excellent program. Symbulator is really the best circuit simulator ever made for a calculator. Rui Sebastiao. EE major / University of Coimbra / Portugal Your program is absolutely great, and I use it all the time, not without enjoyment. Carmel Nachmany. EE major / Ben-Gurion University of the Negev / Israel Symbulator is a great tool to check answers. Brad Norman. EE junior / Montana State University / Bozeman, USA Congratulations for your software Symbulator. It's great! Eduardo Silveira. EE major / Brazil Thanks for an exquisite, free program! Chandler Sorenson. Computer Engineering / University of Arizona / Tucson, USA Symbulator is probably the most useful program ever made for a TI calculator. I am an electronics student and even paid for the EE*Pro software, yet I find myself using Symbulator more because it is much better at what it does. Josh Cunningham. Electronics major Symbulator, by far, has been the best tool for EE I have come across yet. ... It is truly an impressive piece of work. You should be proud. It certainly is helping me to focus on my studying of EE instead of trying to remember all the math. Again, good job! Jim Wachtel. EE / Process Control & Electrical Co. / St. Louis, Missouri, USA Your programs are the best thing I have ever seen on the TI website. I can tell that you are making a lot of engineering college students happy. Ade George. EE major / Morgan State University / USA I love this program! Trying to learn how to use it has increased my knowledge of actual circuit analysis, which helps me out in the long run. Your software is great. I'm taking my first ELEN class and this software not only confirms my work, but helps me understand the circtuits as well. Josh Earley. Computer Engineering major / Texas A&M University / USA I will, one day in the near future, buy a TI-89 just to use your Symbulator. Ron Ross This program is the premier circuit solver for calculators. Yes, there are others, but none are better. This program is similar to SPICE or PSpice in the way it is used, and it is even easier when it comes to dependent sources and biport simulations. Once a circuit is solved, it has ALL the information the user would want: node voltages, element currents, element power usage, voltage drops across elements. It solves symbolically, unlike almost any other circuit simulator (even PC based). This program is, hands down, the best program for circuit analysis that I have seen. I could not possibly praise this program well enough. It's hard

to believe that Mr. Perez-Franco is letting the world use his fantastic program free of charge. Excellent job! Jay Myers. EE major / University of Texas at Arlington / Texas, USA I have been using your wonderful program for about four months now. The freedom it affords is amazing. ... I use Symbulator extensively for analysis and design in EE and find it easier to use (and really a better learning tool because you must understand what you are doing) than PSpice. I am truly impressed with the efficiency of the program and the simple fact that I have had no problems with the program itself. Douglas Fisher. BioMedical Eng / Math Wright State University / Ohio, USA I think your program is absolutely great. ... Your Symbulator is the neatest thing to have around. ... Good job, Roberto. ... What a great program by such a gentleman. Tim Hutcheson. BS in Comp Sci / Institute for Human and Machine Cognition / Florida, USA Let me congratulate you on Symbulator. Amazing job! I have EE200 and EE*Pro, but your app seems to far surpass the capabilities of these two apps. Ralph McCarthy. EE major / Minneapolis / Minnesota, USA I think your program is one of the best programs out there in the community, and in my personal Top 10 chart, it's in the top. It was the reason I bought the ti-89 for in the first place. I have distributed the Symbulator to everybody in my class and they've been enjoying it a lot when solving EE problems. Melnic Atrav. EE major Hey, hats off to the programmer of this one, and for the generosity to share it so freely. I guess it's too bad I bought EE*Pro for $50 less than a week ago, huh? Brandon Newsom. High school student / Newport News / Virginia, USA A million thanks for your program. You don't know how fine I feel every time I solve a circuit with paper and pencil, and I get the same answers I got with Symbulator. It is much easier to learn this way. Truly, I believe you deserve a mention in circuits books. Gabriel Florit. EE major / Dordt College, Sioux Center / Iowa, USA Thank you for your brilliant program. ... I have used your program quite a bit throughout my studies. ... I have to commend you on such a comprehensive and impressive program. In my mind, it is the most important program to have on a calculator for those taking EE courses. ... Thanks for your time, and for your Symbulator, Roberto. Albert Meng. System Science Mathematics major / Washington University / St. Louis, USA

It is a great way to check your answers in homework and on a test. Try it out for yourself: that is the only way you will figure out what Symbulator is capable of. I am still amazed about how well Roberto's program works... Al Charpentier. EE major / Pennsylvania State University / Pennsylvania, USA We all know about SPICE and what a lifesaver it is in our design projects, but the learning curve has always been a steep one. In my quest for the best EE applications for design and analysis, I came across Roberto Perez-Franco's Symbolic Circuit Simulator (Symbulator) for the TI-89. I have been using Symbulator for almost a year now, and believe me, it is a must for every electrical engineering student. Perhaps the most startling aspect of Symbulator is its fully symbolic implementation. Answers are left in terms of variables instead of being converted into numerical approximations. This allows for easier analysis, interpretation, and plotting. If you're taking Dr. Gedney's Circuits II course, Symbulator will save you every time. Dr. Gedney is infamous for assigning problems which do not have solutions in the textbook. With Symbulator, the solution is only seconds away, and a better understanding can be obtained by reverseengineering the problem so you know you understand the correct solution. Since the interface to Symbulator is similar to SPICE, once you know one, you can use both. For EE 211 and EE 221, Symbulator actually works better than SPICE because you get the results symbolically. Once you use Symbulator you'll see what everybody has been talking about. If you're not using Symbulator, you're working too hard. Chris Riegel. EE+CoE major & President of the IEEE student chapter in his U. / University of Kentucky / Kentucky, USA I am really satisfied with the program. ... I have greatly enjoyed using your program and have convinced most of my classmates to use it also. ... I am on my third year in EE and have used Symbulator since day one. I am still using it on a regular basis. Nevin McChesney. EE major / University of Kansas / Member of the US Navy / USA I would like to thank you for creating such a great tool for EE analysis. I especially appreciate that you released it for free. Jeff Bach. EE & Music major / University of New Mexico / New Mexico / USA I'd like to congratulate you on the success of Symbulator for the TI-89... it seems to be used and appreciated by many students. Paul King. Texas Instruments / Texas, USA Perez-Franco's Symbulator and Frederiksen's DiffEq programs are two musts for any serious TI-89 user! Daniele Martini. EE major & author of S2S plug-in for Symbulator / Florence, Italy

The TI-89 opens up all kinds of opportunities for useful programs, the Symbulator suite being a great example. Michael Rans. E+CSc major / Oxford University / London, UK Just want to say that I admire your work. ... I enjoy developing programs for my TI89 that help solving my day by day problems. That's why I admire your work. Sergio Coelho. Engenharia Electrotecnica / Faculdade de Engenharia da Universidade do Porto, Portugal I and all of my friends at the University of Texas in Arlington think the circuit simulator is great. Thank you for all of your hard work on this program. Jeffery Allen. EE major / University of Texas at Arlington / Texas, USA I'm using Symbulator for only two weeks now and I can say that I am in a way addicted to your program. It is really the best software you can get for a calculator on the field of Electrical Engineering. When I show it to my colleagues at the faculty, I know that it will spread in Slovenia too. ... Thanks again on this wonderful program. Matic Hibernik. EE major / University of Ljubljanja / Slovenia Congratulations for Symbulator program. It's really good! Bernardo Merino Bermejo. EE major / Escuela Universitaria de Ingenieria Tecnica / Madrid, Spain I really appreciate this program and I'm sure many students will as well. I hope that now all other programmers would try to create useful science programs. Vic Fischer. Physics+CoE+EE major / Universite Jean Monnet / France I just loaded Symbulator onto my calc last night and I am liking it a lot. Samuel Nyall Stearley Your programs are great and useful for all students with a good calculator. Michael Preuhs. EE major / Universitt - Gesamthochschule Siegen / Germany Thanks for coming out with such a great program. Abhishek Shrestha. CoE Sophomore / Western Michigan University / USA You can be really proud of Symbulator! Kamil Malinksi. EE major / Technical University / Vienna, Austria Thank you very much for all your hard work on Symbulator - nice job! Doug Burkett. EE major / Eaton / Ohio, USA Thanks for carrying me through more than two years of EE studies. Thomas Schallhofer. Northest University of Applied Sciences / Flensburg,Germany Thank's for doing this program! Thomas Knoblauch. EE major / ETH / Zrich, Switzerland

Wow! Now I can do Bode Plots! Damion Hadcroft. ME major / Adelaide University / Australia I'm sure this program will prove to be quite an asset. Andrew Hockman. EE+CoE major / Missouri, USA It is really simple. At the same time, it's a very useful, great program. Andrej Bencr. EE major / Technical University of Ostrava / Czech Republic I love the software, it helps me out in the lab quite a bit. Eric. EE major / University of Dayton / Ohio, USA Thank you so much for letting me get this program. It has been wonderful and I appreciate all of your hard work. Jared Whitaker. EE major / UAA I want to thank you and congratulate you as well for such a nice and useful program. Dan Safoory. EE major Thanks for your work. Symbulator is fantastic! ... God has really blessed you with quite a talent for solving difficult problems. ... I am not going to take another exam without it. Jake Adams. ME pro + EE student I love your program and I greatly appreciate all the hours and hard work you have invested. ... I must give you partial credit for placing 2nd in my circuits class and getting a perfect score on my final exam. My advisor is no longer telling me I may want to reconsider my choice of major from electrical engineering to something more suited to my advanced age of 41. Annie. EE major I must say that this program looks extremely tight and well-tuned. You should be hugely commended for your abilities! Great job and keep up the excellent work! Neel. EE major These have been great learning tools and helped reemphasize what school teaches. I have to use these tools to help me better understand rather than just mindlessly answering the questions. Thanks to this calculator, your programs and lots of hard work and studying, I actually survived my Advanced Circuit Analysis class, with an A to boot. It was a class from hell! Jackie. CoE+EE major Roberto, you are doing a good job for TI and EE students that use TI89. Keep up the good work. JLA Roberto, thank you for your diligence and hard work in creating and perfecting a GOOD circuit simulator. (Not to mention FREE). The use of Symbulator has improved my learning of electrical circuits. Nevin McChesney, on the release of v.5. EE major / University of Kansas / Member of the US Navy / USA

Thanks, again. This is an excellent program and I am very interested in seeing the book you are writing for Symbulator Q. Eric Wierwille, on the release of v.5 I want to thank Roberto Perez-Franco for writing such a wonderful program - the Symbulator. Spending so much development time on the home page and software, and not charging a nickel for it, makes you a real hero. That kind of thing brings a tear to my eye! Thank you! Bez, on the release of v.5 Thanks for the program. It is a true gem, and a free one at that...a true rarity! Dorian, on the release of v.5 I must say, Rob, that once again you've outdone yourself. I hope that this isn't the last time, and look forward to more genial programs from you. Thanks for letting us enjoy the Symbulator for free. It's not often that great programs come free. You, my friend, are an example to follow. Anonimous poster @ TI discussion group, on the release of v.5 And the Oscar for Best Program of the Year for a TI calcs goes to... (drums) Symbulator Q, by Roberto Perez Franco. Huray! Huray! Anonimous poster @ TI discussion group, on the release of v.5 This program is one of the major TI programming accomplishments, and in fact one the most significant programs for any calculator. ... Until I started the (Impala) testing, I did not realize just how powerful Symbulator really is. ... Symbulator makes it possible to solve every homework and test problem, without knowing much more than how to enter the circuit in the matrix form! ... I have been both playing with calculators and using them professionally for over twenty years. I am quite aware of their capabilities. And I think that Symbulator is the most amazing end-user calculator program that has ever been accomplished. I am grateful to you for having done this work, and for having improved Symbulator so enthusiastically. You know that Symbulator is good enough to be a for-pay program, yet you gave it to us for free. That means a lot to me. Doug Burkett, on the release of v.4. EE major / Eaton / Ohio, USA I'd like to thank Roberto for his effort in releasing Symbulator (Impala) It's really an incredible program. Farooq Ahmed Weshah, on the release of v.4. EE major / Yarmouk University / Jordan-Salt, Jordan I was going to sell my TI-89 because I didn't see any use for it. But this new program by Roberto made me want to try this program out. Congratulations for your work! Marcelo, on the release of v.4. EE senior / Canada (born in Chile)

Roberto, I've been enjoying your program for over a year and use it regularly. It has made my EE studies much easier over the years. ... Thanks again for a superb program, which is the reason for which I choosed TI-89. Gordon, on the release of v.4 Another triumph in BASIC programing for 68K calculators. Awesome! I can't describe it any better. Captain Ginyu, on the release of v.4 When I start my next circuits course and my first Controls course in the fall, I know Symbulator will be my best friend once again, especially with all of the improvements you have made. Charles Ware. EE major / Ohio State University / Columbus, Ohio, USA Congratulations on receiving the IEEE award - I believe it is very much deserved. It makes me smile to see you rewarded for your hard work and dedication to Symbulator and the TI community. Paul King, on the IEEE Award. Texas Instruments / Texas, USA Many, many congratulations, Roberto! Passion and intelligence will always beat greed and narrow vision. Doug Burkett, on the IEEE Award. EE major / Eaton / Ohio, USA Congratulations, Roberto. Symbulator is a masterpiece worthy of the best programs out there, free or otherwise. And the fact that it is free speaks volumes about its creator. Peace be with you always. Jake Adams, on the IEEE Award. ME pro + EE student Congratulations, Roberto!!! Dave Conklin, on the IEEE Award. Professional TI-89 programmer Ha! Some wise man finally discovered what so many 'meere students' have known for some time. It's so good to see some recognition for you. You deserve it. Jay Myers, on the IEEE Award. EE major / University of Texas at Arlington / Texas, USA Once again you did a great job and I'm sure I'm not the only one who is sending you a Thank you very much, Roberto. Our EE-life is a lot easier with your Symbulator. Kamil Malinski, on the release of v.3. EE major / Technical University / Vienna, Austria Once again, good work! I thought Symbulator was pretty much a finished and polished product and now you pull new tricks out of your sleeve! ... Symbulator has been a very valuable tool for me. By the way, I recently passed my Professional Engineering exam. Symbulator allowed me to check some of my answers. A pretty hefty dual op-amp circuit was one I checked... Jim Wachtel, on the release of v.3. EE / Process Control & Electrical Co. / St. Louis, Missouri, US

Circuit Analysis with Symbulator


Volume 1: DC

Dedication
I dedicate both Symbulator and this book to the two persons that supported me during the time it took to get them done. The first is my wife Monica, who had the patience to live with a cyborg for all the years my mind was focused on coding and documenting. My attention was elsewhere, but my heart was always with you! The second is my father Tito, who invested time and money in my education, and bought me every widget I fancied for college, with a blind faith that one day something good would come out of it. Im happy to know that I made you proud, Dad, and I miss you! Finally, I dedicate all my efforts to my daughter Sara: may you enjoy a happy, long life.

Acknowledgements
Many friends helped me tested the software and documentation: Jos Vega (Panama), Tim Hutcheson (USA), Lars Frederiksen (Denmark), Joe Riel (USA), Arne Harstad (Norway), Erwin Baert (Belgium), Charles Ware (USA), Doug Burkett (USA), Reinhard Willinski (Germany), Kamil Malinski (Austria), Jake Adams (USA), Daniele Martini (Italy), Rozgonyi Szabolcs (Hungary), Michael Rans (UK), Alex Astashyn (Russia), Al Charpentier (USA), Nevin McChesney (USA), Ivan Oro Yu (Panama), and Pepe Iborra (Spain). Three professors from Universidad Tecnolgica de Panam allowed me to present Symbulator as my undergraduate thesis: Medardo Logreira (chair), Eliane Boulet-Cabrera and Marcela Paredes. To all of you, thanks!

Source of Problems
To make this book useful to actual students, problems were chosen from widely used textbooks on circuit analysis, scanned and presented here as they appear in the source. The textbooks are: Introductory Circuit Analysis (11th Edition) by Robert L. Boylestad, Pearson - Prentice Hall, 2007; Engineering Circuit Analysis (5th Edition) by William H. Hayt, Jr. and Jack E. Kemmerly, McGraw-Hill, 1993; The Analysis and Design of Linear Circuits (5th Edition) by Roland E. Thomas and Albert J. Rosa, Wiley, 2006; Circuit Analysis: Theory and Practice (3rd Edition) by Allan H. Robbins and Wilhelm C. Miller, Thomson Delmar Learning, 2004; Elementary Linear Circuit Analysis (2nd Edition) by Leonard S. Bobrow, Oxford, 1987; and Fundamentals of Electric Circuits (2nd Edition) by Charles K. Alexander and Matthew N.O. Sadiku. McGraw-Hill, 2004. The images from these books are scanned and reproduced under the fair use principle.

Circuit Analysis with Symbulator


the premier symbolic simulator of linear networks for calculators Volume 1: DC

Roberto J. Prez-Franco
Facultad de Ingeniera Elctrica (FIE) Universidad Tecnolgica de Panam (UTP) Engineering Systems Division (ESD) Massachusetts Institute of Technology (MIT)

Table of Contents
Getting started ................................................................................................................. 9 Running a simulation...................................................................................................... 10 Elements: e and r ........................................................................................................... 11 Voltage source and resistors .......................................................................................... 11 Illustrative examples ...................................................................................................... 13 Practice problems........................................................................................................... 19 Element: j ....................................................................................................................... 29 Current source................................................................................................................ 29 Illustrative examples ...................................................................................................... 30 Practice problems........................................................................................................... 31 Tool: par ......................................................................................................................... 37 Dependent sources ........................................................................................................ 38 Element: s ....................................................................................................................... 49 Short circuits................................................................................................................... 49

Getting started
What is Symbulator?
Symbulator (Symbolic Circuit Simulator) is a 62KB TI-Basic program widely regarded as the best simulator of linear circuit ever made for a calculator. It can perform direct current, alternating current, transient and frequency domain analyses of numerical and symbolic linear circuits. It can find the Thvenin, Norton and two-port equivalent of a circuit. It accepts elements such as resistors, inductors, mutual inductances, capacitors, independent and dependent current and voltage sources, ideal operational amplifiers, ideal transformers and six types of two-ports. It can also do Bode plots.

Where does it run?


The first five versions of Symbulator were made for the TI-89 calculator. Version 6 was thoroughly tested in the TI-89 Titanium. Unfortulately, Symbulator does not run in the TI-Nspire machines, since their programming platform is incompatible with the TI-89's.

Why would I use it?


Symbulator is extremely useful in solving a wide variety of circuits theory problems, such as those taken by engineering students. In fact, a student with Symbulator and the right knowledge on circuits theory can solve a lot of problems in circuit courses much faster and neater than ever before. Its main advantage is that Symbulator allows the student to focus in the conceptual understanding of circuit analysis, rather than the mathematical technics used for their solution. Symbulator is a fantastic tool when you need a symbolic approach to a small or medium sized circuit composed of ideal, linear elements. You should use Symbulator whenever you have to manage symbolic values or need symbolic results. When compared to SPICE, PSpice or Electronic Workbench, this small software offers a simpler way to define dependent sources, and includes special elements such as ideal transformers and six different two-ports, usually not included in other simulators.

When is it most useful?


Symbulator is most useful with linear circuits with symbolic values, such as you find in undergraduate courses in circuit analysis. Students of Circuits I and II may benefit a lot from this pocket-sized expert system for the numerical or symbolic solution of linear circuits. It can help you with learning circuits theory, doing your homework or taking that final exam. It is not, however, a replacement for your brain or an excuse to not study your circuit theory classes: you must understand circuits theory to use it. Symbulator is not really useful in two cases: it may be slow with large linear circuits and is useless with circuits with non-linear elements (such as diodes and transistors.) 9

How much does it cost?


Nothing. Its free. Has always been, will always be. (You are welcome!)

Who made this thing?


I did. I started writing it in April 1999, as a junior in Electrical Engineering at Universidad Tecnolgica de Panam (UTP). Version 5 was done by January 2001. Symbulator won 1st place in the 2000 IEEE Student Paper Contest - Latin America. It got me a Distinguished Alum award from UTP in 2008; and was at least part of the reason for the Outstanding Young Person award that the Panamanian Chapter of the Junior Chamber International gave me in 2010. In June 2013 I have released version 6.

Get your calculator ready


Get the current versions of Symbulator and DiffEq online You can download the latest version of Symbulator from this URL: perez-f ranco.com/symbulator / s. zip Symbulator relies on Lars Frederiksens DiffEq for Laplace transforms. Get it here: perez-f ranco.com/symbulator/d. zip Inside these two zips you will find the two files you need: s.tig and diff206.89g. Transfer both files to your calculator, following the manufacturers instructions. Both Symbulator and DiffEq run faster when they are archived. In order to archive them, just execute the following two programs from the command line: Install the programs so they run faster s\install() and dif \install()

That is all! You are now all set. Have fun!

Running a simulation
You will learn how to simulate through the following examples. For now, let me just say that we give Symbulator the circuit description as a string of elements separated s\dc is the gate by semi-colons. The description can be stored in a variable or passed directly as an to run a DC argument. To run a DC simulation in Symbulator, we use an access program, or "gate", simulation called s\dc , which takes one argument: the circuit description in string form. Below you will find plenty of examples of DC simulations. Symbulator will run faster if you make MAIN your current folder and empty it before each simulation. Symbulator will also run faster and more accurately if you use integers and fractions in your element values instead of decimals. It is preferable to simulate with exact numbers and then evaluate the answers using , e.g. . Ok, lets get right into it!

10

Elements: e and r
Voltage source and resistors
Describing a resistor
In Symbulator, an ideal resistor is described as follows: first the name of the resistor, which must start with the letter r, coma; second the name of the first node of the resistor, another coma; third the name of the second node of the resistor, another coma; and fourth the value of the resistor (in ohms). There is no coma at the end. This is how resistors are described in Symbulator.

Example
An ideal resistor called r1, connected between nodes a and b with a resistance of 10, would be described thus: r1,a,b,10

Simulation answers
After the simulation in DC is complete, Symbulator stores a series of answers in the calculators memory, labeled with easy to remember names for your convenience. The voltage of each of its nodes with reference to the ground is stored in a variable called v and the name of the node. For example, for a node called 1, its voltage with reference to ground is calculated and stored in a variable called v1. The voltage drop in the resistor, that is to say the voltage in the first node minus the voltage in the second node, is stored in a variable called v and the name of the resistor. For example, for a resistor called r5, the voltage drop is stored in vr5. The current through the resistor, flowing from the first node towards the second node, is stored in a variable called i and the name of the resistor. For example, the current flowing through a resistor called rx, from its first node towards its second node, is stored in irx. The power consumed by the resistor is stored in a variable called p and the name of the resistor. For example, for a resistor called r12, the power consumed is stored in pr12.

What about conductances?


As an ideal circuit element, a conductance is not different from a resistor: they are the same element, with the only difference that their values are given in different terms. Resistance values are given in ohms and conductance values are given in siemens. A conductance value can be converted into an ohm value by dividing 1 over the conductance in siemens. Thus, for example, an 8S conductance between nodes a and b could be described thus as a 1/8 resistor: r1,a,b,1/8 Examples with conductances will be presented later in this book, starting in page 30. 11

Describing an ideal voltage source


This is how voltage sources are described in Symbulator. In Symbulator, an ideal voltage source is described as follows: first the name of the source, which must start with the letter e, a coma; second the name of the positive node of the source, another coma; third the name of the negative node of the source, another coma; and fourth the value of the source (in volts). No coma at the end.

Example
An ideal voltage source called e1, connected between nodes 3 and 0, with a voltage of 12V (given as voltage of node 3 with regards to node 0), would be described thus: e1,3,0,12

Simulation answers
After a DC simulation, for each voltage source in a circuit, Symbulator will store a series of answers in the current folder of the calculator: The voltage of each of its nodes with reference to the ground is stored in a variable called v and the name of the node. For example, for a node called 1, its voltage with reference to ground is calculated and stored in a variable called v1. The voltage drop in the source, that is to say the voltage in the first node minus the voltage in the second node, is stored in a variable called v and the name of the source. For example, for a source called e5, the voltage drop is stored in ve5. The current through the source, flowing from the first node towards the second node, is stored in a variable called i and the name of the source. For example, the current flowing through a source called ex, from its first node towards its second node, is stored in iex. The way the current direction is defined might seem counterintuitive for voltage sources; it is such for consistency: the same direction is applied to all other two-node elements throughout Symbulator. The power consumed by the source is stored in a variable called p and the name of the source. For example, for a source called e12, the power consumed is stored in pe12; the power delivered is the negative of that, and can be found via -pe12 (where - is the negative sign, not the subtraction operator.) For sources, the choice to store the consumed power instead of the delivered powered may seem odd; it is such for consistency: for all elements, the power given is the consumed power. The equivalent resistance of the rest of the circuit, as seen by a source, is stored in a variable called r and the name of the source. For example, the equivalent resistance of a circuit as seen from a source called e2 is stored in variable re2.

What about dependent sources?


Symbulator makes no distinction between independent and dependent sources. Because of this, it is just as easy to work with dependent or independent sources. The only difference is that you, as a user, will input for a dependent source a value that is a function of a current or a voltage, i.e. 8*vr1 , or 0.3*ir2 , or 2.3*(va- vb) , etc. Examples with dependent sources will be presented later, starting in page 38. 12

Illustrative examples
Solving a numerical circuit
Exemplum docet. Lets dive right in and solve a numerical linear circuit in direct current using the s\dc gate. When I say a circuit is numerical what I mean is that we know the numerical value of every element in the circuit. I have chosen Example 5.7 from Boylestads Introductory Circuit Analysis (11e). Moving forward, I will refer to that textbook as B11. For your benefit, the problem statement and the circuit schematic were scanned and are reproduced below exactly as they appear in the textbook. A numerical analysis is possible when we have the values of all the elements in the circuit.

B11s Example 5.7


Problem from Example 5.7 in Boylestads Introductory Circuit Analysis (11e). Since it is scanned, this is exactly how the problem appears in the textbook.

Step 1: Describe the circuit


The first step is to describe the circuit. Circuit description starts with naming the nodes. You can call the nodes anything you want, be it a number or a letter, as long as the name is unique. You must always have one node called 0 (zero); this is your ground node and has a voltage of 0V. I labeled the nodes starting in the ground and moving clockwise: 0, 1, 2 and 3. It helps me to pencil the names in the schematic itself. After naming the nodes, I am ready to describe the circuit in Symbulator notation. When I only have one voltage source, like here, I enjoy naming it with a single letter: e. I describe the voltage source as follows: e,1,0,36 since its name is e, its positive node is called 1, its negative node is called 0, and its value is 36 volts between these nodes. Now I describe the resistors. The first resistor I described as follows: r1,1,2,1000 because I name it r1, its first node is called 1, its second node is called 2, and its value is 1000 ohms. The second resistor we describe similarly: r2,2,3,3000 and likewise for the third resistor: r3,3,0,2000 13 First step is to describe the circuit. Start by naming the nodes. Your ground should always be node 0.

The circuit is passed to Symbulator as a string, elements separated by semicolons

So we have that our circuit has four elements. We pass along this description to Symbulator as a string, e.g. we open with a quotation mark, then enter the descriptions of each element, separated with semi-colons, and then close with a quotation mark. We can store this string in a variable. I like to call this variable cir (short for circuit,) but you can call it something else if you prefer. I type this in my Symbulator-ready calculator: "e,1,0,36;r1,1,2,1000;r2,2,3,3000;r3,3,0, 2000" Once I press enter, the circuit will be stored in that variable. cir

Step 2: Run the simulation


We now ask Symbulator to simulate this circuit in direct current (DC), by typing this: s\dc(cir) After you press enter, Symbulator will quickly simulate the circuit stored in cir. Symbulator will let you know when it is Done. It took 12 seconds in my calculator to get 16 answers, and store them in variables in the current folder: the voltage in each of the three nodes (v1, v2 and v3), for each of the four elements in the circuit its voltage drop (ve, vr1, vr2 and vr3), current (ie, ir1, ir2 and ir3) and power consumed (pe, pr1, pr2 and pr3), and the equivalent resistance as seen by the source (re).

Some alternatives
There is more than one way to skin a cat We could also have given Symbulator the command to simulate and the circuit description in a single line, using two possible methods. The first is connecting the two steps above using a colon, as shown below: "e,1,0,36;r1,1,2,1000;r2,2,3,3000;r3,3,0, 2000" cir:s\dc(cir):

The second is giving the circuit description as an argument of the s\dc gate: s\dc("e,1,0,36;r1,1,2,1000;r2,2,3,3000;r3,3,0,2000") Any of the three approaches yields the same result, and I use them interchangeably.

Step 3: Get the answers


Answer to question (a). The equivalent resistance seen by the source e is stored in: re . Evaluate this expression. The calculator returns the right answer: 6000 (e.g. 6K.) Answer to question (b). Current IS is the current flowing through the source from node 0 to node 1; thus, we can obtain it by evaluating -ie . Since this is a series circuit, we could also find it as the current through any of the resistors: ir1 , ir2 or ir3 . In either case, using , the calculator provides the right answer: .006 (e.g. 6mA.) Answer to question (c). The voltage drop in resistor R1 is found evaluating vr1 : the calculator returns 6 (e.g. 6 V.) For R2, evaluate vr2 to obtain 18 V. And for R3, vr 3 gives us 12 V. These are all the right answers. Answer to question (d). We evaluate -pe and get the right answer: .216 (e.g. 216mW) 14

Answer to question (e). The power consumed by the resistors are found evaluating pr1 , pr2 , and pr3 , using . The calculator returns the right answers: .036 (e.g. 36mW), .108 (e.g. 108mW), and .072 (e.g. 72mW) respectively. Answer to question (f). Lets ask the calculator if the sum of the consumed power in the resistors equals the power supplied by the source. Evaluate this equation: pr1+pr2+pr3=-pe The calculator returns true. This is the right answer, and concludes the solution.

An alternative
You can ask for all the answers above in a single line, by using an array, such as this: {re,ir1, vr1, vr2, vr3,-pe,pr1,pr2,pr3,pr 1+pr 2+pr3=-pe} Using we evaluate this array, and get the same answers as before, also as an array. Actually, we could solve the whole problem using a single line of text, as follows: "e,1,0,36;r1,1,2,1000;r2,2,3,3000;r3,3,0, 2000" cir:s\dc(cir): approx({re, ir1, vr1, vr 2,vr3,-pe,pr1,pr2, pr3, pr1+pr2+pr3=-pe}) An easy way to read this is to identify the colons as delimiters between things that you would have asked in separate lines. So we see we have first the circuit description being stored in a variable, a colon; second the command to simulate that circuit in DC, another colon; and finally an array of all the answers we would like to evaluate. Notice that we use integers as values for the simulation to run faster, and then approximate the answers in the array by using the calculators command approx . By showing you this, I just want to make you aware of the possibilities. But please do not rush into trying to solve a whole problem using a single line. There are times when you may not be sure about your circuit description or about which variables to evaluate as answers. In these cases, it is easier to solve the problem step by step: first describe the circuit, then run the simulation and finally find the answers. Practice problems of this type are found starting in page 18. You can approximate answers using approx We can evaluate multiple answers using an array

A word on symbolic problems


I call a circuit symbolic if one or more of the element has an unknown value. It is the ability to simulate symbolic circuits that gives Symbulator its name and sets it apart from other programs. I distinguish between two types of symbolic simulations.

Purely symbolic problems


The first type is when the desired answers are also symbolic, e.g. given as algebraic functions in terms of unknown values (what I call a purely symbolic problem.)

15

Numerical-from-symbolic problems
The second type is when numerical answers are expected from a symbolic circuit (what I call a numerical-from-symbolic problem.) This solution is possible when they give us additional information about the circuit. Numerical-from-symbolic problems can be solved in two ways in Symbulator: Symbulator has an expert mode for faster and better results If they are simple, e.g. if theres just one or two unknown values in the circuit, and we are only asked for one or two numerical answers, we can simulate the circuit symbolically and then solve for the numerical answers using solve() If they are not simple, e.g. if there are many unknown values in the circuit, or we are asked for many numerical answers, it is easier and more time-efficient to use the expert mode of Symbulator, whose gate is s\Expert(cir)

Lets see an example of each approach to solving numerical-from-symbolic problems.

Solving a symbolic circuit with solve


Lets do a numerical-from-symbolic problem by means of the solve command. We will obtain numerical values from the simulation of a circuit with some unknown element values. Later we will solve this same problem using the expert mode.

B11s Example 5.6

This is a very nice symbolic problem: we should be able to solve it into numerical results because, even though the problem hides two values from us (e.g. the value of the source E and of the resistor R1), it gives us in exchange two answers (e.g. the equivalent resistance RT and the current I3) that we can use to solve for the unknowns. Unknown values can be entered as a variable. Just make sure the variable is empty! Since this circuit is structurally identical to B11s Example 5.7, we will use the same names for the nodes. The circuit description is identical except for the elements values. As values for the elements in the circuit, Symbulator will accept numbers, variables or even algebraic expressions. For this example, I chose to use e for the value of source e and r1 for the value of the r1 resistor1. Make sure that the variables are empty, either by emptying the current folder or by deleting them from the calculators

Giving a symbolic element a value equal to its name can be a useful trick to quickly remember whose value it is. However, due to the potential for conflicts, it should be avoided in the expert mode simulation, which stores all solved unknowns into variables, as the third example shows.

16

memory, thus: DelVar e, r1 . Below is how I described this circuit. I pass along this description to Symbulator as a string, and store it in a variable. "e,1,0,e;r1,1,2,r1;r2, 2,3,4000;r3,3,0,6000" cir

Ask Symbulator to simulate this circuit in direct current (DC), by typing this: s\dc(cir) A moment later (16 seconds in my calculator2), Symbulator is Done, and we are ready to answer the questions. Using the symbolic answers provided by Symbulator and the known answers given by the problem, we can write two equations. We can then solve these two equations for the two unknowns that interest us, using the calculators solve command.3 Lets explore what we have here. The problem says that I3 is 6mA. In Symbulator, I3 is called ir3 (e.g. the current through resistor r3.). If you evaluate ir3, you will see it produces an algebraic expression in terms of the two unknowns, e and r1. This is what we call a symbolic answer. The problem also says that RT is 12K. As we saw in the previous problem, the equivalent resistance as seen by the source e is given by re, which when evaluated gives another algebraic expression in terms of r1. We can then write two new equations, re=12000 and ir3=6/1000, and solve them for the two unknowns we want: e and r1. solve(re=12000 and ir3=6/1000,{e,r1 }) An instant later we get the answers: e = 72 (volts) and r1 = 2000 (ohms). These are the right answers. Not many other circuit simulators allow this flexibility. Examples to practice this type of problems are found starting in page 23.

Solving a symbolic circuit with Expert


Symbulators true strength is seen in numerical-from-symbolic problems like the one we solved above, but using its expert mode of simulation, which cracks these problems open even faster and can give you fully numerical answers to problems like this with an equal number of unknown values and of answers provided by the problem. Learning to use the expert mode pays off handsomely in terms of additional power and speed. Lets solve the same circuit from B11s Example 5.6, this time using the expert mode.

B11s Example 5.6 Redux


We will use the same circuit description as before, with a single change: we will use rx for the value of resistor R1, instead of the r1 value we used before. Like this:

If you want to know how long it took Symbulator to run a simulation, you have to make sure your calculators clock is on, by typing C l o c k O n . As long as the clock is on, you can see how long a simulation took by going to the Program IO screen (press F5 in the main menu.) If you are not familiar with the solve command, I refer you to the calculators manual.

17

"e,1,0,e;r1,1,2,r x;r2,2,3,4000;r3,3,0,6000" Variables r1 through r99 are reserved variable in the calculator. This means you cannot store things into them.

cir

The reason for this is that r1 is a reserved variable in the calculator. The expert mode tries to store all the values of the solved unknowns into variables of the same name. Trying to store a value into r1 would result in an error. Run the expert mode by typing this in the calculator: s\Expert(cir) When prompted, select DC and press Enter. When prompted, leave the float settings as they are and press Enter4. Now you will see a prompt listing four first level variables, namely {v1,ie,v2,v3}, and four first level equations. A quick examination of the equations will show that they contain two additional variables that are not listed in the previous field: the value of the source, e, and the value of resistor R1, rx. So, add them to the 1st level vars list. Type this before the closing bracket: ,e,rx so that it now reads {v1,ie,v2,v3,e,rx}.

If you want to get numerical answers, you must have as many equations as you have unknowns

Now we have six variables and four equations. You may recall from your algebra class that you need an equal number of equations and unknowns in order to solve the set. We are two equations short. The statement of the problem gives us the information we need to write the two additional equations5. Go to the end of the text in the 1st level eqs prompt, and type this in, leaving an empty space before the and : and re=12000 and ir 3=6/1000 Now we have six variables and six equations. Press Enter and wait just a few seconds. When Symbulator says Done, go ahead and retrieve the answers: rx You get 2000, the right answer. e You get 72, the right answer. The speed advantage of the expert mode is not necessarily evident in this simple problem. It does give you an idea of what the expert mode is all about: you get to halt the simulation in mid-air and give Symbulator extra information. Had this circuit been larger, the benefit of the expert mode in computation time would be clear. Examples to practice this type of problems are found starting in page 27.

4 5

Do not change these float settings unless you have a good reason for doing so. We know the value for RT and the value for IS in terms of the variables listed in the prompt: because RT is given by re, which is a function of e and ie, and IS is given by ir3, which is a function of ie.

18

Practice problems
Numerical problems
The following are practice problems taken from several textbooks. They were chosen because they apply only the concepts that you have learned so far. This will allow you to practice these concepts and reinforce them before moving on to new ones. The problem below comes from Figure 1-26 (a) in Hyat and Kemmerlys Engineering Circuit Analysis (5ed). Moving forward, we will refer to that textbook as HK5.

HK5s Figure 1-26


We are asked to determine the current, voltage drop and power consumed in each resistor, as well as the power delivered by each voltage source. We are also asked to check that the powers in the circuit add up to zero. Here is my solution.

I named the nodes thus: the bottom node is named 0, the top nodes, from left to right, are named 1, 2 and 3. My description of the circuit is given below, followed after a colon by the DC simulation command. "e1,1,0,120;r1,1,2,30;e2,2,3,30;r2, 3,0,15" cir:s\dc(cir)

When the simulation is done, you can ask the calculator for the answers you need: Evaluating ir1 or ir2 gets the current in the resistors: 2A Evaluating vr1 gets the voltage drop in the 30 resistor: 60V Evaluating vr2 gets the voltage drop in the 15 resistor: 30V Evaluating pr1 gets the power consumed in the 30 resistor: 120W Evaluating pr2 gets the power consumed in the 15 resistor: 60W Evaluating -pe1 gets the power delivered by the 120V source: 240W Evaluating -pe2 gets the power delivered by the 30V source: -60W. This means this source is actually consuming 60W. Evaluating pr1+pr2+pe1+pe2 gets the sum of powers: 0W. As expected.

Wasnt that easy? We could also have asked for all the answers with one array: {ir1, vr1, vr2,pr1, pr2,-pe1,-pe2,pr1+pr2+pe1+pe2}

B11s Example 5.20


The practice problems will get progressively more complicated as we move on. This will allow you to build up your symbulating skills with confidence. 19

I named the nodes clockwise starting from the ground: 0, 1, 2, 3 and 4. Below is my circuit description, given as an argument of the command to do the DC simulation: s\dc("e1,1,0,50;r1,1,2,4;e2,2,3,12.5;r2,3, 4,7;r3,4,0,4") When its done, ask for the answers we need. Evaluating ir1 gets the current I: 2.5A. Evaluating vr2 gets the voltage drop in the 7 resistor: 17.5W

B11s Example 6.13

Since the ground is the bottom node, I named it 0. I named the top node 1. s\dc("e,1,0,24;r1,1,0,10;r2,1,0,220;r3, 1,0,1200") a) Evaluating re gets the total resistance: 9.49 b) Evaluating -ie gets us the source current: 2.53A c) Evaluating ir1 gets I1: 2.4A, ir2 gets I2: 0.11A, and ir3 gets I3: 0.02A.

B11s Example 7.2


Determine I4, IS and V2. My solution below. I named the top node 1, and the other 2:

s\dc("e,1,0,12;r1,1,2,6800;r2,2,0,18000;r3,2,0,2000;r4,1,0,8200") 20

Answers: v2 is 2.51 V, -ie (e.g. IS) is 2.86 mA and ir4 is 1.46 mA.

B11s Example 7.7

For your benefit, I have labeled the node names I used. My solution: s\dc("e1,0,1,6;e2,0,2,18;r1,1,a,5;r2,a,2,3; r3,1,b,6;r4,b,2,2") Answers: vr1 is 7.5V, vr3 is 9V. For Vba, vb- va is -1.5V. For IS, -ie2 is 3A.

B11s Figure 7.32


Determine I6 and V6. My solution below:

s\dc(e,1,0,240;r1,1,2,5;r2,2,0,6;r3,2,3,4; r4,3,0,6;r5,3,4,1;r6,4,0,2) Answers: ir6 is 10A, and vr6 is 20V.

B11s Example 7.10


Calculate the indicated currents and voltages.

My solution below:

21

s\dc("r2,2,3,8000;r1,3,4,4000;r3,1,2,12000;r4,1,4,24000;r5,1, 0, 12000;e,4,0,72;r6, 4,5,12000;r7,5,0,9000; r8,5,6,3000;r9,0,6,6000") Answers: ir5 is 3mA, -ie (e.g. IS) is 7.36mA, and vr7 is 19.6V.

B11s Example 7.4


Determine the currents I1, I2, IA, IB and IC, and the voltage drop areas A, B and C.

My solution below: s\dc(e,1,0,16.8;r1,1,2,9;r2,1,2,6;r3,2,3,4;r4,3,0,6;r5,3,0,3;r6,2,0,3) Current I1 is found via ir1 = 1.2A, I2 via ir2 = 1.8A, IA, via -ie = 3A, IB via ir3 = 1A and IC via ir6 = 2A. The voltage drop in area A is vr1 = 10.8V; in both B and C it is v2 = 6V.

B11s Example 6.15

My solution below: s\dc("e,1,0,28;r1,1,0,1600;r2,1,0,20000;r3,1,0,56000") a) Evaluating re gets the total resistance: 1.44K b) Evaluating ir1 gets 17.5mA, ir2 gets 1.4mA, and ir3 gets 0.5mA c) Evaluating -pe1 gets the power: 543mW 22

B11s Figure 7.40


Determine Vb and Vc.

My solution below: s\dc("e,a,0,120;r1,a,b,10;r2,b,c,20;r3,c,0,30; rl1,a,0,20;rl2,b,0, 20; rl3,c,0,20") Answers: vb is 66.21V, and vc is 24.83V.

B11s Example 8.10


Determine the current through each resistor.

My solution below: s\dc("e1,1,0,15;r1,1,a,4;e3,3,0,20;r3,3,a, 10;e2,0,2,40;r2,a,2,5") Through an array, and using the approx command, we ask for all the three answers: approx({ ir1, ir2,ir3}) The calculator returns {4.77,7.18,2.41} meaning IR1 =4.77A, IR2 =7.18A and IR3 =2.41A. These are the correct answers. In the rest of the book, we will often use this method of asking for several answers at the same time by means of an array. 23

B11s Example 7.6

My solution below: s\dc("e,1,0,24;r1,1,2,6;r2,1,2,6;r3,1,2,2;r4,2,0,8;r5,2,0,12") Answer: -ie is IS=4A, ir2 is I2=.8A, ir4 is I4=2.4A, vr1 is V1=4.8V, and vr5 is V5=19.2V.

B11s Example 7.11

My solution below: s\dc("e1,a,0,20;e2,a, b,5;e3,c,0,8;r1,a,c,10;r2,b,c,4;r3,b,0,5") Answers: va =20, vb =15, vc =8, va-vc = 12, vb- vc =7, ir2 =1.75, IS via -ie3 =-2.95

B11s Example 8.24


Find the voltage drop in the 3 resistor.

My solution below: 24

s\dc("e8,1,0,8;r2,1,2,2;r4,2,0,4;r6,2,3,6;r3,3,0,3; r10,3,4,10;e1,0,4,1." ):approx( vr3) A single line instruction finds, via vr3 , that V3 is 1.1V.

B11s Example 8.18


Find the current through the 10 resistor in the network shown below.

My solution below: s\dc("e15,1,0, 15;r10, 1,2,10;r8,1,3,8;r5,3, 2,5; r3,3,0,3;r2,2,0,2"):approx(ir10) The colon allows us to use a single line instruction to find ir10 = 1.22A.

B11s Example 8.26


Find the voltage drop in the 2 resistor.

My solution below: s\dc("e,1,0,240;r1,1,2,3;r2,2,3,4;r3,3,4,1; r4,4,5,2;r5,3,5,6;r6,2,5,6;r7,5,0,9"):approx( vr4) A single line instruction gives us the voltage drop in R4, the 2 resistor: 10.67V

Circuits with hidden source


Sometimes the schematics of circuits are presented in such a way that sources of voltage are not shown explicitly, yet their voltage is provided. These are what I call hidden source problems. Below I offer two examples of these types of problems. 25

Both are taken from the textbook Circuit Analysis: Theory and Practice (3ed) by Allan H. Robbins and Wilhelm C. Miller, to which from this point on we will refer as RM3.

RM3s Example 7-5 (Hidden source)


Find the indicated currents and voltages.

In my solution below, notice I introduced two sources, one for 12V and one for -6V: "e1,1,0,12.;r1,1,b,10;r2,b,a,10;r3,a,2,50;r 4,b,2,30;e2, 2,0,-6" s\dc(cir):approx({ ir1, ir2,ir 4, va- vb}) The answer, {.6,.2,.4,-2.}, indicates I1=.6, I2=.2, I3=.4 and Vab=-2. This is correct. cir:

RM3s Figure 7-16 (Hidden source)


Find the total circuit resistance, and the indicated currents and voltages.

This is how I named the nodes: the top, 1; the bottom, 2, and a and b as in the figure. In my solution below, notice I introduced two sources, one for -10V and one for -6V: s\dc("r1,1,b,4000;r2,1,a,3000;r3,b,a,2000;r4,b,a,3000; r5,1,b,1000;rt,a,2,6000;e1,1,0,-2;e2,2,0,- 10"): approx({( v1- v2)/irt,irt ,ir1,ir2, va- vb}) The answer we get indicates that the equivalent resistance, given by (v1-v2)/IT, is 7.2K, and that IT=1.11mA, I1=.133mA, I2=..444mA and Vab=-0.8V. This is correct.

26

Symbolic problems with solve


HK5s Figure 1-24a (solve)
Determine ix and vx in the following circuit.

I named the nodes thus: bottom is 0, top left is 1, top right is 2. I named the elements according to their value: this facilitates remembering whos who in the circuit. I also defined the resistors nodes in the direction of the current indicated in the diagram. s\dc("e18,1,0, 18;ra,1,0,ra;r6,1,0,6;r5,2,1,5;evx,2,0, vx") Explore the answers. Since ir5 (which we know is 12A) is in terms of vx, we can find vx: solve(ir5= 12, vx) We get that vx is 78V, which is corrrect. Evaluating ir6 we find that ix is 3A. The fact that we can find numerical answers in this problem can be quite puzzling until one realizes that ignoring the value of RA doesnt matter: due to the circuits structure, it is not needed it to answer the two questions we have been asked.

Symbolic problems with Expert


B11s Example 6.19 (Expert)

This problem, having three unknown element values and three known answers, is a perfect candidate for the expert mode. Below is my circuit description.6 s\Expert("e1,1, 0,e;r1,1,0,2000;r2,1, 0,rr2;r3,1,0,rr3")

In the expert mode, we avoid using as values to be solved any variable between r1 and r99, which are reserved variables. We also avoid using an elements name as its symbolic value.

27

Select DC. Add the three unknowns to 1st level vars, thus: ,e,rr2,rr3 Add also these three equations to 1st level eqs: and ir1= 8/1000 and ir2=10/ 1000 and ir3= 2/1000 Press Enter. When Symbulator is Done, find IS and E by asking: approx({-ie1,e}) We get that IS is 0.2A and E is 16V. By now you should be getting the idea of what the expert mode is all about. When using the expert mode, you can feed known answers to the calculator before it solves the set of equations that are at the heart of the simulation process. This makes it possible to solve these equations into numbers, as opposed to symbols. That way it is easier and faster for both you and the machine to solve the circuit problem.

B11s Example 7.12 (Expert)


Determine R1, R2 and R3 for the voltage divider supply. Can 2W resistors be used?

This problem is another perfect fit for the expert mode, because: (a) the target is to obtain numerical values, and (b) we have N unknown element values, and in turn we are given N numerical answers (e.g. currents, voltages.) In this case, we have six symbolic (e.g. unknown) values and six numeric answers. Here is how I solved it. s\Expert("e,a,c,72;r1,a,b,rr1;r2,b,0,rr2; r3,0,c,rr3;rl1,a,0,rrl1;rl2,b,0,rrl2") Choose DC. Add these six variables to the list of first level variables: ,e,rr1,rr2,rr3,rrl1,rrl2 Add these six equations to the list of first level equations: and va- vc=72 and ir l1=20/1000 and vr l1=60 and irl2= 10/1000 and vrl2=20 and -ie=50/1000 and vc=-12 Enter. When Done, evaluate these variables to find the answers: rr1 = 1.33K, rr2 = 1K, rr3 = 240. These are correct. Since all powers consumed in the resistors prr1 , prr2 and prr3 are smaller than 2W, it is possible to use 2W resistors in the design. 28

Element: j
Current source
Describing an ideal current source
In Symbulator, an ideal current source is described as follows: first the name of the source, which must start with the letter j, and a coma, second the name of the first node, another coma, third the name of the second node, another coma, and fourth the value of the source (in amperes). No coma at the end. The value should be given in terms of the current flowing through the source from the first node towards the second node. This means that the value of the source is how much current leaves the source out of the second node, and also how much current enters the sources first node. This is how current sources are described in Symbulator.

Example
An ideal current source called j1, connected between nodes 3 and 0, with a current of 12A (flowing through it from node 3 towards node 0), would be described thus: j1,3,0,12

Simulation answers
For each current source, in a circuit, Symbulator will store a series of answers in the current folder of the calculator: The voltage of each of its nodes with reference to the ground is stored in a variable called v and the name of the node. The voltage drop in the source, that is to say the voltage in the first node minus the voltage in the second node, is stored in a variable called v and the name of the source. For example, for a source called j5, the voltage drop is stored in vj5. The current through the source, flowing from the first node towards the second node, is stored in a variable called i and the name of the source. For example, the current flowing through a source called jx, from its first node towards its second node, is stored in ijx. This may seem redundant, but it is actually rather handy. The power consumed by the source is stored in a variable called p and the name of the source. For example, for a source called j12, the power consumed is stored in pj12; the power delivered is the negative of that, and can be found via -pj12. The equivalent resistance of the rest of the circuit, as seen by a source, is stored in a variable called r and the name of the source. For example, the equivalent resistance of a circuit as seen from a source called j2 is stored in variable rj2.

29

Illustrative examples
A simple example: J and R
B11s Example 8.1
Given the circuit below, determine the current and voltage drop in R1.

s\dc("j,0,1,10/1000;r1,1,0,20000"):{ir1, vr 1} In the line above we are doing three things: the first is giving Symbulator the description of the circuit, the second is asking it to run a DC simulation of that circuit, and the third is asking for the values of two variables: ir1 and vr1. We are applying the tricks we learned before, of concatenating commands for the calculator through colons, and of asking for the value of multiple variables by using an array. The calculator returns {.01,200.}, meaning a 10mA current and a 200V voltage drop.

An example with conductances


The following example is taken from the textbook Elementary Linear Circuit Analysis (2ed) by Leonard S. Bobrow. From this point forward, I will refer to this book as Bo2.

Bo2s Example 2.2


Given the circuit below, determine the voltages in the nodes.

As I explained before, in Symbulator all conductances are simulated as resistors. So, the 4 siemens conductance becomes a 1/4 resistor, and so on. Below my description: "j10,1,0,2;r12,1,2,1;r 20,2,0,1/4;r30, 3,0,1/ 3;r13,1,3,1/2; j32,3,2,3" cir:s\dc(cir):approx({ v1, v2, v3} ) 30

The answer, {-1.3,.34,-1.12}, indicates v1=-1.3V, v2=.34V, v3=-1.12V. This is correct.

An example with E, J and R


B11s Example 8.2
Determine the values of VS, I1 and I2.

In the line below, we concatenate three commands using colons. The first stores the circuits definition in a variable. The second asks Symbulator to run a DC simulation of the circuit described in that variable. The third asks the calculator to provide us the values of three variables that given the circuit description answer the questions. "j,0,1,7;e,1,0,12;r,1,0,4" cir:s\dc(cir):{ v1,ie, ir}

The calculator returns {12,4,3}, meaning VS is 12V, I1 is 4A and I2 is 3A. These are the correct answers. We will continue to use the single line instruction as we move on.

Practice problems
B11s Example 8.15
Determine the current through each resistor. My solution below, direction in blue:

s\dc("j6,0,1,6;r2,1,0, 2;r6,1,2,6;r8,0,2,8;j8,2,0,8"): approx({ ir2, ir6,ir8}) We get these answers: {1.25,4.75,3.25}. So IR2 is 1.25A, IR6 is 4.75A, and IR8 is 3.25A.

Bo2s Drill Exercise 2.2 (Conductances)


Given the circuit below, determine the voltages in the nodes.

31

Below my solution: "r10,1,0,1/3;r12,1,2, 1/2;r13,1,3,1/2;r23,2,3,1/6;r20,2,0,1/8; j12,1,2,17;j03,0,3, 2" cir:s\dc(cir):appr ox({v1, v2, v3}) The answer, {-2.,1.,.5}, indicates v1=-2V, v2=1V, v3=0.5V. This is correct.

B11s Example 8.21


Determine the voltage in each node and the current through each resistor.

My solution below: s\dc("j1,0,1,4;r1,1,0, 2;r3,1,2,12;r2,0,2,6; j2,2,0,2"):{v1, v2,ir1, ir2,ir3} We get the following answers: {6,-6,3,1,1}. So V1=6V, V2=-6V, IR1=3A, and IR2=IR3=1A.

HK5s Figure 1-24b (Expert)


Determine ix and vx in the following circuit.

My solution below: 32

"j6,0,1,6;r5,1,2,5;r2,2,0,2;r1,1,3,1;r3,0,4, 3; j10,2,3,10;r,3,4,r x" cir:s\Expert(cir):{ir 1,vr} Select DC. Add ,rx to the list of variables and add and ir2=4 to the list of equations. Run the simulation. The answer, {-8,80}, means that IX is -8A and that VX is 80V.

HK5s Example 2.2 (Conductances)


Determine the voltages in the nodes. My solution below:

"j01,0,1,-8;j30,3,0,-25;j21,2,1,-3;r12,1, 2,1/3;r23,2,3,1/2; r13,1,3,1/4;r20,2, 0,1;r30,3,0,1/5" cir:s\dc(cir):{ v1, v2, v3} The answer, {1,2,3}, is correct: v1=1V, v2=2V, v3=3V.

B11s Example 8.5


Determine the current I2. My solution below:

"j1,1,0,4;r1,1,0,3;e2,1,2,5;r2,0,2,2" This gives us a value for I2 of 3.4A. This is correct.

cir:s\dc(cir):approx( ir2)

Bo2s Example 2.5 (Conductances)

33

Determine the voltages in the nodes, and the current through the voltage source. "j,0,1,3;e,3,2,3;r12,1,2,1/7;r20,2,0,1/3;r 30,3,0,1/5; r13,1,3,1/2" cir:s\dc(cir):appr ox({ v1, v2, v3,- ie}) The answer, {-.5,-1.5,1.5,11.5}, is correct: v1=-.5, v2=-1.5, v3=1.5, i=11.5

B11s Example 8.22


Determine V1 and V2. My solution below:

j1,0,1,6;r1,1,0,4;e,1, 2,12;r3,1,2,10;r2, 2,0,2;j2,2,0,4." s\dc(cir):approx({ v1, v2}) The answer, {10.67,-1.33}, tells us that V1 is 10.67V and V2 is -1.33V.

cir:

B11s Example 8.19


Determine V1, I1 and I2. My solution below:

"e,2,0,24;r1,1,2,6;r2,1,0,12;j,0,1,1." s\dc(cir):approx({ v1, ir1,ir2})

cir:

The answer, {20.,-.667,1.67}, tells us that V1 is 20V, I1 is -.667A and I2 is 1.67V.

B11s Example 8.14

34

Determine I2 and I3. e1,1,0,20;r1,1,2,6;r 2,2,a,4;j,a,0,4;r3,a,3,2;e2,0,3,12. s\dc(cir):approx({ ir2, ir3}) Answer: {3.33,-.666}. This is correct. cir:

B11s Example 8.20


Determine V1, V2, , I1, I2 and I3. My solution is found below the circuit schematic:

"e,3,0,64;r1,3,1,8;r2, 1,2,4;j,1,2,2;r3,2,0,10" s\dc(cir):approx({ v1, v2, ir1, ir2,ir 3})

cir:

Answer: {37.82,32.73,3.27,1.27,3.27}. You should know how to read these by now, but here it is just in case: V1 = 37.82V, V2 = 32.73V, I1 = 3.27A, I2 = 1.27A, I3 = 3.27A.

RM3s Example 9-12 (solve)


If R3 is to be replaced with R4 and I4, determine the value and direction of the source.

The idea is to keep the same voltage drop and current flow between nodes a and b. To keep them equal, we must know what they are. So we simulate the first circuit (left): "e,0,b,20;r1,0,a,16;r2,a,b,40;r3,a,b,60"cir:s\dc(cir):{ va- vb, ir3} We find that the voltage drop is 12V and the current is 0.2A. Now we simulate the circuit replacing R3 with a resistor R4 of 240 and a source j with value I4. Run this: "e,0,b,20;r1,0,a,16;r2,a,b,40;r4,a,b,240;j,a,b,i4"cir:s\dc(cir) Notice that both the voltage drop (given by va-vb ) and the current (given by ir4+ij ) are algebraic functions in terms of i4. Now you can find i4 solving by voltage drop: 35

solve( va- vb=12.,i4)

or by current flow

solve( ir4+ij=0.2, i4)

The result is the same: i4=.15. The required current source is .15A from a to b.

RM3s Example 8-13


Solve for the currents through R2 and R3 in the circuit shown. My solution is below:

"r1,a,0,10000;r2,1,0, 5000;r3,b, a,6000;r4,0,2,16000;j,a,b,2/1000; e1,1,b,10;e2,b,2,8" cir:s\dc(cir):appr ox({ir2,ir3}) The answer, {.00154,.00111} is correct: IR2 = 1.54 mA and IR3 = 1.11 mA.

B11s Example 6.3 (Hidden source)


Determine VS and I1.

The problem presents a seemingly hanging node with 20V. To simulate this, imagine a hidden 20V voltage source connected to the node. "j,0,1,6;r1,1,2,2;r2,1,2,1;e,2,0,20" cir:s\ dc(cir):{ v1, ir1}

We get the answer: {24,2}, which is correct. VS is 24V and I1 is 2A.

HK5s Figure 1-24c (Expert)


Determine ix and vx in the following circuit.

36

"e,1,0,60;r8,1,2,8;r10,2,0,10;r4,2,3,4;r2, 3,0,2; j,0,3,ix" cir:s\ Exper t(cir):{ix, v3} Select DC. Add ,ix to the list of variables. Add and ir 8=5 to the list of equations. Run the simulation, and you will get: {1,8}. This is correct: IX is 1A and that VX is 8V.

B11s Example 6.22 (Hidden source)


Determine I1.

The circuit seems to be open but has a current. Imagine around it a hidden current source. My solution below: "jt,0,1,12/1000;r1,1, 0,1000;r2, 1,0,10000; r3,1,0,22000" cir:s\dc(cir):approx( ir1) We get I1 = 10.48mA, which is correct.

B11s Example 6.21 (Hidden source, Expert)


Determine IS, I1 and I3.

This hidden source problem is perfect for Expert. My solution: s\Expert("js,0,1,is;r1,1,0,6;r2,1,0,3;r3,1,0,1"):approx({is,ir1, ir3}) Select DC, and leave float settings. Add this variable to the list: ,is Also add this to the list of equations: and ir2=2e-3 Run the simulation. The answer, {.009,.001,.006}, is correct, since the currents are as follows: IS is 9mA, I1 is 1mA and I3 is 6mA.

Tool: par
Symbulator has a tool to help you find the equivalent value of two resistors connected in parallel. It is called par, and is used as follows: lets say you have a 5 resistor and a 7 resistor connected in parallel, and you want to find their equivalent value. Type: 37

The par tool finds the equivalent value of two resistors in parallel

s\par(5,7) You get 35/12 as the equivalent resistance. For approximate values: s\par(5.,7.) returns 2.92 as the equivalent. The tool works with symbolic values, too: s\par(r1,r2) returns the well-known equation for equivalent values of resistors in parallel. Whenever you do not need to know the current through or power consumed in each individual resistor, you can reduce resistors in parallel using the par tool as part of your circuit description in a simulation. For resistors in parallel the voltage drop is the same, even after a reduction. Below we show some examples of this.

Examples
As a first example, here is a simulation in which it makes sense to use par. In B11s Example 7.4 (shown in page 22), it makes sense to reduce R4 and R5 to an equivalent resistor, since we do not need to know any answer particular to them. s\dc("e,1,0,16.8;r1,1,2,9;r2,1,2,6; r3,2,3,4;re,3,0,s\par( 6,3);r6,2,0,3") provides the right answers, e.g. IB is ir3 = 1A and voltage drop in area B is v2 = 6V. The second example is of a simulation in which using par makes no sense. In B11s Example 8.3 (shown in page 36), it makes no sense to reduce R1 and R2 using par, because you need to know the value of the current through R1. As third example, here is a simulation where you can reduce part of the resistors. In B11s Example 6.22 (shown in page 36), we must leave R1 alone, because we need to know the current through it, but we can reduce R2 and R3 to their equivalent using par, since we need to know no value particular to them: s\dc("jt,0,1,12/1000; r1,1,0,1000;re,1,0,s\ par(10000,22000)") provides the same answer we got before, e.g. I1 = 10.48mA. Moving forward, we will use the par tool whenever we feel it is appropriate. A similar reduction of resistors in series is possible through simple addition whenever we do not need to know specific answers for each resistor, such as the voltage drop or power consumed in each, or the voltage in the node between them. The current through series resistors is the same, so even through an equivalent you can get the current.

Dependent sources
One of my favorite scenes in cinema comes from The Dark Knight: the Joker (played by Heath Ledger) is rolling on the floor of a Gotham City prison, taking a bare-knuckle beating from an ever-more-frustrated Batman. Master of the situation and laughing hysterically, the Joker says: You have nothing! Nothing to threaten me with! Even though the movie had not been made yet, I remember feeling something along the same lines although maybe less hysteric back in 1999 when I realized that one of the consequences of having used a 100% symbolic implementation for Symbulator 38

meant that I could make any elements value dependent on any answer of the circuit. I could simulate voltage or current sources that were dependent on any voltage, current or combination thereof, with the same ease that I could simulate a 12V source. Here is what you need to know for simulating dependent sources on Symbulator: nothing. There is nothing special to it, nothing at all. Just write the value as a function of the circuits answers, using the variables that by now you should know well, and run the simulation like its nobodys business. With Symbulator, instead of fearing them, you will laugh in the face of dependent sources, thinking: You have nothing! Booyah! Without any more introduction, let me show you examples, so you can learn by doing. For Symbulator, dependent sources are just sources. They require no special notation.

Numerical examples
AS2s Example 2.7
Find io and vo in the circuit below.

My solution below. I named the top note o (the letter) and used the bottom node as ground so that when I ask for vo I get the voltage in node o, matching the books variable vo. Likewise I name the resistor ro, so that I can ask for iro to get current io. None of this special labeling is necessary, but its kind of cool when the variable Symbulator gives you is called the same as the one the book is asking for. Chalk it up to my nerdiness. Notice that 5iro is interpreted by the calculator as 5 times iro. s\dc("ji,0,o,3;ro,o,0, 4;jd,0,o,.5iro"):{ir o, vo} The answer, {6.,24.}, is correct: io = 6 and vo = 24.

Bo2s Example 1.9


Determine I1, I2 and v.

This is my solution. The simulation took 10 seconds. "ji,0,1,2;r1,1,0,3;jd,0,1,4v1;r2,1,0,5" cir: s\dc(cir):{ir 1, v1,ir 2}

The answer, {-5/26,-15/26,-3/26}, is correct: I1=-5/26, I2=-3/26 and v=-15/26.

39

AS2s Practice Problem 2.7


Find vo and io in the circuit. My solution below:

s\dc("ji,0,o,6;ro,o,0, 2;jd,o,0,iro/4;r8,o,0, 8"):{vo, iro} The answer, {8,4}, is correct: vo = 8 and io = 4.

HK5s Example 1-3


Determine the power delivered by each source and consumed by both resistors.

s\dc("ei,1,0, 120;r1,1,2,30;ed,2,3,2vr a; ra,0,3,15"):{-pei,-ped,pr1+pra} The answer, {960,1920,2880}, is right: the independent source delivers 960W, the dependent source delivers 1920W, and the resistors consume 2880W together.

AS2s Practice Problem P2.6


Find vx and vo in the circuit. My solution below:

s\dc("ei, x,1,35;r x, x,0,10;ed,0,2,2vx;r o,1,2,5"):{vx, vro} The answer, {10,-5}, is correct: vx =10 and vo =-5.

Bo2s Example 1.10

40

Determine v1, v2 and i. My solution below. The simulation took 14 seconds. "ei,1,0,2;r1,1,2, 1/3;ed,3,2,4*ir 1;r2,3,0,1/5" s\dc(cir):{ir 1, vr1, vr2} cir:

The answers, {-15/26,-5/26,-3/26}, is correct: v1=-5/26, v2=-3/26 and i=-15/26.

AS2s Example 2.6


Determine vo and i in the circuit below. My solution is shown under the schematic:

s\dc("e12,1,o, 12;ri,1,2,4;ed,2,3,2vo;e4,0, 3,4;ro,o,0,6"):{vo,ir i} The answer, {48,-8}, is correct: vo =48 and i = -8.

HK5s Drill Problem 1.11


Find the power absorbed by each element in the circuit. My solution below:

s\dc("r1,x,0, 30;ei,1, x,12;r2,1,2,8;r3,2,3,7; ed,3,0,4vx"):approx( {pr1,pei,pr2,pr3,ped} ) The answer, {.768,1.92,.2048,.1792,-3.072}, is correct.

AS2s Example 3.6


Determine the value of Io in the circuit. My solution below:

41

s\dc("ei,a,0, 24;ro,a, b,10;r12,b,0,12;r4,b, c,4; r24,a,c,24;ed,c, 0,4ir o"):approx( iro) The answer, 1.5, is correct.

Bo2s Drill Exercise 1.12


Determine i, v and id. We are given an unnecessary piece of information: since there are no unknown values, giving us the 4V drop in the 2 resistor is superfluous. Dont let this confuse you. My solution is shown below the schematic. My simulation took 18 seconds.

"ei,1,0,10;r1,1,2,1;r2,2,3,2;r3,2,0,3;r4,3,0,2; ed,2,3,ir 1/2" cir:s\dc(cir):{ir1, vr3, ied} The answer, {4,6,1}, is correct: i=4, v=6 and id=1.

AS2s Example 3.2


Determine the voltages at the nodes.

My solution below: s\dc("ji,0,1,3;jd,3,0,2ir2;r2,1,2,2;r4a,1,3,4; r8,2,3,8;r4b,2,0,4"):approx({ v1, v2, v3}) The answer, {4.8,2.4,-2.4}, is correct.

AS2s Example 3.4


Find the node voltages in the circuit. My solution below:

42

s\dc("r2,1,0,2;e,1,2, 20;j,0,2,10;r6,2,3,6;r x,1,4, 3;r4,3,0,4; ed,3,4,3vr x;r1,4,0, 1"):approx({ v1, v2, v3, v4}) The answer, {26.67,6.67,173.33,-46.67}, is correct.

Bo2s Drill Exercise 2.6


Determine the voltage in each node. Notice the resistors values are given in siemens.

s\dc("j,0,1,6;ei,3,1,6;ed,2,3,3v1;r5,1, 0,1/5;r2,1,2,1/2; r3,2,0,1/3;r1,2,3,1;r4,3,0,1"):{v1, v2, v3} The answer, {-1,2,5}, is correct.

Bo2s Example 2.7


Determine the voltages in all nodes. My solution below the schematic:

s\dc("j,0,1,1;r3,0,1,3;r4,2,1,4;r1,2,0,1;r2,2,3,2; r5,3,0,5;ei,3, 4,1.5;ed,4,0,2vr4"):{ v1, v2, v3,v4} 43

The answer, {1.5,-.5,-2.5,-4.}, is correct.

Bo2s Example 2.6


Determine the voltages in all nodes. My solution below:

s\dc("e1,0,1,1;e2,3,4,.5;ed,3,2,3vr4;j,0,4, 2;r4,1,2,1/4; r1,2,0,1;r8,3,0,1/8;r2,2,4,1/2"):{v1, v2, v3, v4} The answer, {-1,-2.,1.,.5}, is correct.

HK5s Drill Problem 1-12


Find iA, iB and iC. My solution below:

s\dc("jl, x,0,5.6;ra,0, x,18;jb,0,x,.1vx;r 9,0, x,9; jr,0,x,2"):approx({ ira,ijb,ir9}) The answer, {3.,-5.4,6.}, is correct.

Numerical-from-symbolic examples
Bo2s Drill Exercise 1.10

44

Determine i, v, is and vs. With one unknown value and one known solution, this problem is a job for Expert. "es,2,0, vs;jd,0,3,2ir1;r7,0,1,7;r1,3,1,1;r3,3,2,3;r4,1,2,4" s\Expert(cir):{ir1, vjd, -ies, vs} cir:

Add ,vs to the unknowns, and add and vr4=4 to the equations. Run the simulation. My solution, including all the typing required inside Expert, took less than one minute. The answer, {2,-9,-3,3}, is correct: i=2, v=-9, is=-3 and vs=3.

Bo2s Drill Exercise 1.11


Determine i, v and vd.

Notice that, since all element values are known, the tip we are given by the book namely, that the voltage drop in the 6 resistor is 1.5V is totally superfluous. "e,1,0,12;r1,1,2,1;r4, 2,0,4;r10,2,3,10;r6,3,0,6;r2,3,4,2; j,4,0,vr10/ 15" cir:s\dc(cir):approx({ vr10,ir2, vj}) The answer, {7.5,.5,.5} is correct: i=.5, v=7.5 and vd=.5.

Symbolic examples
TR5s Exercise 4.2
Find vO and iO in terms of iS.

This is my solution. The simulation took 14 seconds. "ji,0,x, is;r1, x,0,1000; r2,x,o,2000;jd,0,o, vx/500; ro,o,0,500" cir:s\dc(cir):{vo,iro} The answer, {1000*is,2*is}, is correct: vO=1000 iS and iO=2 iS.

45

TR5s Example 4.4


Find vO and the equivalent resistance RIN, in terms of vS, when R1 is 50, R2 is 1000, R3 is 100, R4 is 5000 and g is 100mA (e.g. 100/1000).

This is my solution. The simulation took 18 seconds. "e,1,0,vs;r1,1,2,50;r 2,2,o,1000;r3,o,0,100;r4,o,0,5000; j,0,o,100/1000vr2" cir:s\dc(cir):approx({ vo,re}) The answer, {.904*vs,10951.}, is correct: vO=.904 vS and RIN=10.95K.

TR5s Figure 4-4


Find the voltage drop, current, and power consumed by the 500 resistor, and the ratio of that power to that delivered by the independent source, all in terms of iS.

I have not labeled the nodes in the figure, so you can practice doing it. My solution: s\dc("js,0,1,is;r50,1, 0,50;r x,1,0,25;jd,o,0, 48ir x; r3,o,0,300;ro,o,0, 500"):{iro, vo,pro,pr o/(-pjs)} The answers we get are correct: iO=-12is, vO=-6000is, pO=72000is2, and pO/pS=4320.

TR5s Example 4.1


Find vO.

I have not labeled the nodes in the figure, so you can practice. Remember not using rc, since it is a reserved variable, with a value of 1, in the calculator. My solution: 46

s\dc("ei,1,0, vs;rs,1,2,rs;rx,2,0,rp; ed,0,3,r*ir x;rrc,3,o,rr c;rl,o,0,rl"): vo This is the answer we get.

It is correct, as can be seen by comparing it with the textbooks answer.

I dont know of any calculator-based program that was able to provide this kind of purely symbolic answer to a circuit simulator back in 1999 when I made Symbulator. As a matter of fact, even today fourteen years after that - I do not know of any other.

Bo2s Example 1.11 (FET amplifier)


Determine v2.

In my solution I named the value of the source v1, to keep it similar to the book. This required avoiding naming any node as 1: if there was a node 1, Symbulator would store in v1 the voltage of the node, creating trouble. There is no problem with using r1 as a value, since nothing will be stored in that r1 value. "e,a,0,v1;r1,a,3,r1;rg,3,0,rg;j,2,0,gm*vrg; rd,2,0,rd;rl,2,0,rl" cir:s\dc(cir):v2 The simulation took 25 seconds. The answer I obtained is shown to the left.

It is correct, as can be seen by comparing it with the textbooks answer.

TR5s Example 4.5


Find iB. My solution is shown below the circuit schematic. 47

"e1,1,0, vcc;rb,1,b,rb;e2,e,b, v;re,e,0,re;r rc,1,c,rc; j,c,e, *irb" cir:s\dc(cir):irb The simulation took 69 seconds. Compare my answer to the books answer.

TR5s Exercise 4.3


Find vO, in terms of the value in the circuit. For resistors, use their conductance value.

This is my solution. "ei,1,0, vs;ed,2,0, *( vr x);r1,1,2,1/g1;r2,2, o,1/g2; rx,1,o,1/g x;rl,o,0,1/gl" cir:s\dc(cir):vo The simulation took a good 2 minutes to complete. We get this answer.

It is correct, as can be seen by comparing it with the textbooks answer.

48

Element: s
Short circuits
Describing an ideal short circuit
Shorts are used mostly when we need to find out a current in a part of the circuit where there is no element already. Otherwise, we would just define it as a single node. In Symbulator, an ideal short circuit is described as follows: first the name of the short, which must start with the letter s, and a coma, second the name of the first node, another coma, third the name of the second node, another coma, and fourth just for the sake of providing an equal number of values in each elements description, a zero. This is how short circuits are described in Symbulator.

Example
An ideal short circuit called s1, connected between nodes 3 and 0 (e.g. whose current will be defined as flowing through it from node 3 towards node 0), would be described thus: s1,3,0,0 The zero at the end is added because Symbulator requires symmetry.

Simulation answers
No power is consumed or voltage is dropped in a short. For each short in a circuit, Symbulator stores only the current through it, flowing from the first node towards the second, in a variable called i and the name of the short. I.e., the current flowing through a short called sx, from its first node towards its second node, is stored in isx.

An example using short circuits


HK5s Drill Problem 1-13
Find i1, i2, i3 and i4.

My solution below. I define the shorts in the same direction as the arrows. s\dc("r1,1,0,25;jd,0, 2,.2v1;r2,2,3,10;j i,4, 3,2.5;r3,4,5,100;s1,1,2,0; s2,2,4,0;s3,0,3, 0;s4, 3,5,0"):approx({ is1, is2,is3, is4}) The answer, {-2.,3.,-8.,-.5}, is correct. This answer can only be found using shorts. 49

Das könnte Ihnen auch gefallen