import math


def flat_to_curved_r(flat_r, curvrad):
    """
    
    Convert a radial distance from the centre of a circular flat plane
    into the radial distance projected onto a curved focal plane of
    given radius of curvature.
    
    :Parameters:
    
    flat_r: float
        The radial distance from the centre of the flat plane.
    curvrad: float
        The radius of curvature of the curved plane.
        
    :Returns:
    
    curved_r: float
        The radial distance projected onto the curved plane.
        Note: curved_r approaches flat_r when curvrad tends to infinity.
        None is returned when flat_r > curvrad
    
    """
    if curvrad is not None:
        ratio = abs(flat_r / curvrad)
        if ratio <= 1.0:
            curved_r = curvrad * math.asin(ratio)
            return curved_r
        else:
            # Solution is not valid when flat_r > curvrad
            return None
    else:
        # If the radius of curvature is infinite or not a number
        # the flat and curved radial distances are the same
        return flat_r