I am looking for a way to write pieces of software to simulate the 'behaviour' of a resistor, a capacitor, an inductor, a diode etc. and need a common set of parameters to communicate between the modules. Each module would be one component. I wonder what would be the best information for the interface between modules - i.e. for each component to process and to output. I guess I'm looking for a common interface between diverse components.
I don't think a simple voltage and current model is workable as I need to account for the impedance of the supply. A simple resistor, if it is low enough value relative to the supply impedance, will modify the values passed to it so I cannot put, say, 3V across a resistor and expect it to remain 3V.
My first thought is that I need to account for charge. If the component is supplied 1) Potential across its terminals 2) Charge available 3) A time over which to calculate - say 1 microsecond
could it then 'reply' with the charge used (or, needed) in the time interval?
Second thought is for the component to be supplied 1) Potential across its terminals 2) A time over which to calculate
and it returns an instantaneous resistance. A capacitor, for example, would begin with zero and increase to infinity as it charges.
In either case I need to modify the source of the voltage according to its impedance and the circuit load. Please note that the intention is to model the components over 'real time' so a static analysis of an AC circuit isn't any good.
There must be a better way that I have described. I'm not even sure I can get this to work. Any suggestions?
-- TIA, James