An object-oriented finite element framework for multiphysics phase field simulations

Michael R. Tonks, Derek Gaston, Paul C. Millett, David Andrs, Paul Talbot

    Research output: Contribution to journalArticlepeer-review

    244 Scopus citations

    Abstract

    The phase field approach is a powerful and popular method for modeling microstructure evolution. In this work, advanced numerical tools are used to create a framework that facilitates rapid model development. This framework, called MARMOT, is based on Idaho National Laboratory's finite element Multiphysics Object-Oriented Simulation Environment. In MARMOT, the system of phase field partial differential equations (PDEs) are solved simultaneously together with PDEs describing additional physics, such as solid mechanics and heat conduction, using the Jacobian-Free Newton Krylov Method. An object-oriented architecture is created by taking advantage of commonalities in the phase field PDEs to facilitate development of new models with very little effort. In addition, MARMOT provides access to mesh and time step adaptivity, reducing the cost for performing simulations with large disparities in both spatial and temporal scales. In this work, phase separation simulations are used to show the numerical performance of MARMOT. Deformation-induced grain growth and void growth simulations are also included to demonstrate the muliphysics capability.

    Original languageEnglish (US)
    Pages (from-to)20-29
    Number of pages10
    JournalComputational Materials Science
    Volume51
    Issue number1
    DOIs
    StatePublished - Jan 2012

    All Science Journal Classification (ASJC) codes

    • General Computer Science
    • General Chemistry
    • General Materials Science
    • Mechanics of Materials
    • General Physics and Astronomy
    • Computational Mathematics

    Fingerprint

    Dive into the research topics of 'An object-oriented finite element framework for multiphysics phase field simulations'. Together they form a unique fingerprint.

    Cite this