def store_value(self, name, value, parameters=None):
        """Stores the value of a certain variable

        The value of a variable with name 'name' is stored together with the parameters that were used for the
        calculation.

        :param str name: The name of the variable
        :param value: The value to be cached
        :param dict parameters: The parameters on which the value depends
        """
        if not isinstance(parameters, dict):
            raise TypeError("parameters must be a dict")
        hash = self._parameter_hash(parameters)
        if name not in self._cache:
            self._cache[name] = {}
        self._cache[name][hash.hexdigest()] = value