code: def run(self, t=None):
          r
          logger.info('―'*80)
          logger.info('Running TransientTransport')
          # If solver used in steady mode, no need to add ICs
          if (self.settings['t_scheme'] == 'steady'):
              self[self.settings['quantity']] = 0.0
          # If ICs are not defined, assume zero
          try:
              self[self.settings['quantity']]
          except KeyError:
              self.set_IC(0)
          # Save A matrix of the steady sys of eqs (WITHOUT BCs applied)
          self._A_steady = (self.A).copy()
          # Initialize A and b with BCs applied
          self._t_update_A()
          self._t_update_b()
          self._apply_BCs()
          self._A_t = (self._A).copy()
          self._b_t = (self._b).copy()
          if t is None:
              t = self.settings['t_initial']
          # Create S1 & S1 for 1st Picard's iteration
          self._update_physics()
  
          self._run_transient(t=t)
docs: r"""
          Builds 'A' matrix of the steady system of equations to be used at each
          time step to build transient 'A' and 'b'. Imposes the initial
          conditions and stores the initial field. Initialize transient 'A', 'b',
          and source term (if present) and finally calls the transient solver.
  
          Parameters
          ----------
          t : scalar
              The time to start the simulation from. If no time is specified, the
              simulation starts from 't_initial' defined in the settings.