docs: def param_define(self,
                       param,
                       default,
                       unit='',
                       descr='',
                       tomatrix=True,
                       nonzero=False,
                       mandatory=False,
                       power=False,
                       voltage=False,
                       current=False,
                       z=False,
                       y=False,
                       r=False,
                       g=False,
                       dccurrent=False,
                       dcvoltage=False,
                       time=False,
                       event_time=False,
                       **kwargs):
          """
          Define a parameter in the model
  
          :param tomatrix: convert this parameter list to matrix
          :param param: parameter name
          :param default: parameter default value
          :param unit: parameter unit
          :param descr: description
          :param nonzero: is non-zero
          :param mandatory: is mandatory
          :param power: is a power value in the `self.Sn` base
          :param voltage: is a voltage value in the `self.Vn` base
          :param current: is a current value in the device base
          :param z: is an impedance value in the device base
          :param y: is an admittance value in the device base
          :param r: is a dc resistance value in the device base
          :param g: is a dc conductance value in the device base
          :param dccurrent: is a dc current value in the device base
          :param dcvoltage: is a dc votlage value in the device base
          :param time: is a time value in the device base
          :param event_time: is a variable for timed event
  
          :type param: str
          :type tomatrix: bool
          :type default: str, float
          :type unit: str
          :type descr: str
          :type nonzero: bool
          :type mandatory: bool
          :type power: bool
          :type voltage: bool
          :type current: bool
          :type z: bool
          :type y: bool
          :type r: bool
          :type g: bool
          :type dccurrent: bool
          :type dcvoltage: bool
          :type time: bool
          :type event_time: bool
          """
          assert param not in self._data
          assert param not in self._algebs
          assert param not in self._states
          assert param not in self._service
  
          self._data.update({param: default})
          if unit:
              self._units.update({param: unit})
          if descr:
              self._descr.update({param: descr})
          if tomatrix:
              self._params.append(param)
          if nonzero:
              self._zeros.append(param)
          if mandatory:
              self._mandatory.append(param)
          if power:
              self._powers.append(param)
          if voltage:
              self._voltages.append(param)
          if current:
              self._currents.append(param)
          if z:
              self._z.append(param)
          if y:
              self._y.append(param)
          if r:
              self._r.append(param)
          if g:
              self._g.append(param)
          if dccurrent:
              self._dccurrents.append(param)
          if dcvoltage:
              self._dcvoltages.append(param)
          if time:
              self._times.append(param)
          if event_time:
              self._event_times.append(param)