tl;dr: model the circuit network as a linear system of equations to easily solve for the current and voltage at every node using off-the-shelf linear algebra software.
It depends how realistic you want the simulation to be. In the real world, wires aren't "supplied power" by a battery, but are actually nodes in a circuit. If you connect a battery to a light bulb with a wire, the wire is more or less just a connection between the light bulb and the battery, so modeling the wire itself isn't important. You "just" have to keep track of which circuit elements are connected to which others. Of course, this analogy eventually breaks down at a certain level of realism.
As mentioned by others, the easiest way to model this is to pretend that all connected wires are a single node, and all circuit elements connected to that node are effectively connected directly to one another.
If you want to model actual power flow through the circuit, you have to start thinking of the wires themselves as elements in the circuit. A light bulb has a certain resistance, which means that, given some voltage across its terminals, some amount of current will flow through it. The amount of current is described by Ohm's Law: I (current) = V (voltage) / R (resistance)
. Wires also have resistance-- it's just that the resistance is usually very small.
Once you start modeling the network this way, you can do other interesting things. For example, you may want to specify a maximum amount of current that a wire can supply without breaking. The amount of power dissipated in a resistor (or light bulb or wire or anything with resistance) in watts is P = I^2 * R = V^2 / R
. The more power dissipated, the hotter the wire gets. You could give the maximum current directly (as is done for various wire gauges in the real world), or even model the temperature of the wires themselves (see below, as this is a bit of a tangent).
It may seem impossible to calculate the voltages and currents through a huge network of wires and resistive circuit elements this way, but it's actually possible to reduce the network to a system of linear equations. There exists free software which can solve these systems extremely quickly and efficiently and, once done, gives you the current and voltage through every node, not matter how the circuit is arranged. You can use this information to determine if your battery is powerful enough to power your circuit, whether or not to blow up or melt wires that are carrying too much current, etc.
You may also want to model the equivalent series resistance (ESR) of your battery. The more current the battery has to supply, the weaker the measured voltage of the battery will be. You can think of the ESR as like a resistor inside the battery before you can connect to its terminals. Adding this resistor to your system of equations will model that weakness effectively for free.
There are other factors that you could model if you really wanted to, like parasitic inductance and capacitance, reactive power and power factor (particularly important for industrial applications like factories), the skin effect, and many other electrical engineering details that wouldn't really contribute to gameplay for anyone but power engineering nerds like me :)
To model the temperature increase from dissipated power, you need the heat capacity for that substance. This describes the amount of energy required to raise the temperature of a given mass of that substance by some number of degrees. For example, the specific heat of aluminum is 0.89 J/g °C, which means that every joule of energy dissipated will increase the temperature of one gram of that substance by one degree Celsius. A watt is one joule per second, so dissipating 1 kW through a 1 kg wire for 60 seconds will increase the temperature by (1000 J/s)*(60 s)/(0.89 J/g °C)/(1000 g) = 67.42 °C
.
Of course this is complicated further by modeling how that wire will transfer the thermal energy away as it is heating, so it's probably not modeling the wire to this level unless you're really interested :)