PhD Thesis in Computational Engineering, Instituto Superior Técnico, Universidade Técnica de Lisboa, 2012