revised vesion by parkjongho198 | SimScale