code: def evaluateplanarR2derivs(Pot,R,phi=None,t=0.):
      
      from .Potential import _isNonAxi
      isList= isinstance(Pot,list)
      nonAxi= _isNonAxi(Pot)
      if nonAxi and phi is None:
          raise PotentialError("The (list of) planarPotential instances is non-axisymmetric, but you did not provide phi")
      if isinstance(Pot,list) \
              and nu.all([isinstance(p,planarPotential) for p in Pot]):
          sum= 0.
          for pot in Pot:
              if nonAxi:
                  sum+= pot.R2deriv(R,phi=phi,t=t,use_physical=False)
              else:
                  sum+= pot.R2deriv(R,t=t,use_physical=False)
          return sum
      elif isinstance(Pot,planarPotential):
          if nonAxi:
              return Pot.R2deriv(R,phi=phi,t=t,use_physical=False)
          else:
              return Pot.R2deriv(R,t=t,use_physical=False)
      else: #pragma: no cover 
          raise PotentialError("Input to 'evaluatePotentials' is neither a Potential-instance or a list of such instances")
docs: NAME:
  
         evaluateplanarR2derivs
  
      PURPOSE:
  
         evaluate the second radial derivative of a (list of) planarPotential instance(s)
  
      INPUT:
  
         Pot - (list of) planarPotential instance(s)
  
         R - Cylindrical radius (can be Quantity)
  
         phi= azimuth (optional; can be Quantity)
  
         t= time (optional; can be Quantity)
  
      OUTPUT:
  
         F_R(R(,phi,t))
  
      HISTORY:
  
         2010-10-09 - Written - Bovy (IAS)