VENICE: A multi-scale operator-splitting algorithm for multi-physics simulations