magma differentiation