Nonlinear Homogenization and its Applications to Composites Polycrystals and Smart Materials