great to hear that you want to use ASPECT for modeling melting and melt migration!
Because this is such a complex problem, it’s not that simple to answer your question. So let me address your questions separately:
(1) Melting model.
The melting model depends on the material model that you use. There is one that uses the Katz et al., 2003, and Sobolev et al., 2011 melting models (this is the latent heat melt material model), but this model does not include melt migration. There is also the melt simple model, which has both melting and melt migration and uses the (anhydrous part of the) Katz 2003 model. However, there is a problem with using that parametrizaton for models with melt migration: it does not predict the melt composition. Without that, as soon as melt migrates away from where it was generated, it is not clear what the bulk composition is, and so the model does not predict where melt should be freezing again. The ASPECT material model implements a workaround for this, but it’s not thermodynamically consistent.
This is a limitation of the original melting model (not the implementation in ASPECT), and commonly, people who use models of melt migration use other melting models, which are simpler in a sense that they don’t track the different mineral phases in the solid (the the ‘kink’ in the Katz 2003 model wouldn’t be included).
You can of course modify the melting parametrization in any way you want (like adding an opx phase), but these are some of the limitations to keep in mind.
(2) The mechanical model for melt migration.
ASPECT has the option to solve the McKenzie equations for two-phase flow. At the moment, this is implemented in material models with a viscous rheology. It is not too difficult to modify other material models to include melt migration, but as soon as they have a plastic or elastic rheology component, additional terms are required in the equations, and it also becomes numerically really hard to solve the equations (for example due to the hydrofracturing terms related to the interaction of melt and brittle failure). Several members of the ASPECT team are working on different parts of these problems, but this is just a really complex problem. So at the moment, it is not possible to use both melt migration and visco-elasto-plastic deformation in the same model (but let us know if you want to help with the implementation!).
(3) Melt and particles.
It is possible to move particles with the melt velocity, but the porosity equation would still be solved using a compositional field. This is because it has extra terms in the equations that are different from a normal compositional field (but means you can track the melt composition on particles). But the other problem with using particles here is that you may not want to have the melt particles everywhere in the model, but only where melt is present, so you would have to add a particle generator routine that adds/removes particles based on melting or freezing, and it is not straightforward how this should look like.
So my question to you would be: What is the purpose of your model, and what specific components/physical processes do you need for that? For example, is it important to see where the melt migrates to, or only where it is being generated?