An Overview of CFD Applications in Flow Assurances from Well Head to the Platform