def Schmidt(**kwargs):
    """
    Calculates Schmidt number based upon either of two input variable sets.

    First method:
       Sc(nu = kinematic viscosity,
          alpha = thermal diffusivity)

    Second method:
        Sc(D = mass diffusivity,
           mu = dynamic viscosity,
           rho = fluid density)
    """

    if ('mu' in kwargs) and ('D' in kwargs) and ('rho' in kwargs):
        schmidt_number = kwargs['mu'] / (kwargs['rho'] * kwargs['D'])
    elif ('nu' in kwargs) and ('D' in kwargs):
        schmidt_number = kwargs['nu'] / kwargs['D']
    else:
        raise KeyError('Incorrect variable assignment')

    return schmidt_number