interior penalty function method