complete by dlenggenhager | SimScale