def mag_func_theo(Msat, T, Tc, beta):
    """
    Calculates the theoretical magnetisation as a function of temperature
    from the saturation magnetisation Msat and the Curie temperature Tc
    
    Parameters
    ----------
    Msat :   float
        saturation magnetisation of the material in A/m
    T    :   float
        temperature of the system in K (needs to be <= Tc)
    Tc   :   float
        Curie temperature of the material in K
    mu   :   float, optional
        critical exponent from dynamical scaling theory mu = 1/3 is exact within the theory
    
    Return
    ------
    M    :   float
        value of the temperature dependent magnetisation
    
    Note
    ----
    * Tc_Fe = 1043. K
    * Msat_Fe = 1.75*(10**6) A/m
    """
    
    return Msat*(1-T/Tc)**beta