eisgenerator 1.0.x
Model Format

The model format of eisgenerator encodes any series/ parallel combination of implemented impedances.

Currently eisgenerator supports the following elements which each have a number of parameters:

  • c: cap
    • one parameter: capacitance {C}
  • r: resistor
    • one parameter: resistance {R}
  • l: inductor
    • one parameter: inductance {L}
  • w: warburg element (infinite)
    • one parameter: Warburg coefficient {A}
  • p: constant phase element
    • two parameters: {Q, alpha}
  • t: finite approximation of a transition line
    • three parameters: capacitance, resistance, approximation order {C, R, n}

Element identifiers are case insensitive.

Combinations

Combinations of these elements are achieved by writing them against each other for a parallel combination, or with a '-' in between for serial combinations:

"r-c" is thus a serial combination of a resistor and a capacitance:

r-c

While "cr" is a parallel combination of a resistor and a capacitance:

rc

While "r-cr" is a parallel combination of a resistor and a capacitance in series with another resistance, not that the implicit parallel operator has operator precedence:

r-cr

Brackets '(' and ')' are also supported and modify the order of operations as one would expect. Thus "(r-c)r" is a series combination of a resistor and a capacitance in parallel with another resistance:

(r-c)r

Parameters

To pass circuit element parameters to eisgenerator a format embedded into the strings is preferred. Parameters are passed by adding them in braces behind the element thus "r{100}-c{3e-6}r{1e4}" is a 100 Ohm resistor in series with a 3 microfarad capacitance that is in parallel with a 3 kOhm resistance.

When an element takes multiple parameters, those are separated by a ',' like so: r{5e4}p{1e-5, 0.8}

Ranges are also supported, here ~ is used as a separator between the start and the end of a range, thus r{1~1e3} is a resistor with a value in a linear range between 1 and 1000 Ohms. By adding a trailing 'L' the range can be marked as distributed logarithmic in base 10, thus r{1~1e3L} is such a logarithmic range.

Ranges are used to make eisgenerator generate spectra for all combinations of parameters in the range(s) of the circuit elements.

Translators

For interoperability with other software, translators to and from eisgenerator model generators are available see Translators