Programming phase-field modeling. (2017)