Micromagnetic Modeling: Theory and Applications in Magnetic Thin Films.