simpler version by LukeTang1 | SimScale