def single_nutrient_dynamics(params, time, gamma_max, nu_max, phi_R, 
                             phi_R_max, theta_0, Km, omega):
    """
    Defines the complete dynamical model for growth on a single carbon source. 

    Parameters
    ----------
    params: list, of order [M, theta_a, c]
        List of the model parameters which
    """
    # Unpack the initial conditions 
    M, theta_a, c = params

    # Compute necessary quantities
    gamma = gamma_max * theta_a / (theta_a + theta_0) # Translational capacity
    nu = nu_max * c / (c + Km) # Nutritional capacity

    # Define the system of equations
    dM_dt = phi_R * M * gamma
    
    # dMp_dt = (phi_R_max - phi_R) * dM_dt
    dtheta_dt = nu * (phi_R_max - phi_R) * M - dM_dt 
    dc_dt = - nu * (phi_R_max - phi_R) * M / omega
    return [dM_dt, dtheta_dt, dc_dt]