code: def add_external_parameter(self, parameter):
          
  
          assert isinstance(parameter, Parameter), "Variable must be an instance of IndependentVariable"
  
          if self._has_child(parameter.name):
  
              # Remove it from the children only if it is a Parameter instance, otherwise don't, which will
              # make the _add_child call fail (which is the expected behaviour! You shouldn't call two children
              # with the same name)
  
              if isinstance(self._get_child(parameter.name), Parameter):
  
                  warnings.warn("External parameter %s already exist in the model. Overwriting it..." % parameter.name,
                                RuntimeWarning)
  
                  self._remove_child(parameter.name)
  
          # This will fail if another node with the same name is already in the model
  
          self._add_child(parameter)
docs: Add a parameter that comes from something other than a function, to the model.
  
          :param parameter: a Parameter instance
          :return: none