Modelling, Validation, and Design for Additive Manufacturing: Applications of numerical methods to 3D printing processes