Topology optimization applied to design of solid oxide fuel cells