[aspect-devel] Implementing another solution variable

Wolfgang Bangerth bangerth at math.tamu.edu
Tue May 20 06:19:41 PDT 2014


Hi Jonathan,

> To implement this Keller melt transport model, I'm adding another
> (optional) solution variable in Aspect that will eventually be solved
> along with velocity and pressure in the stokes step. Does it matter in
> which order the FESystem components are organized? ie, should I put
> porosity before temperature, and then adjust the introspection indices
> of temperature and compositions and probably a dozen other hard coded
> spots in in the code, or can I tack the new solution component on to
> the end and use blocks to access that chunk of the matrix?

Ultimately, it shouldn't matter which way it's done as long as introspection 
describes it correctly. There may be a few places left in the code that hard 
code block numbers instead of using introspection, but these should be changed 
anyway.

That said, if your field is just a scalar one (such as the porosity) then 
please hold on with these modifications. At the workshop this week, we've come 
up with a plan to make this all a bit simpler. Adding new fields everytime 
anyone wants to extend the model is not a scalable alternative. Rather, we'd 
just want to put these fields into the compositional fields and let the 
existing machinery deal with them. One would then just have to attach a 
name/kind to each of these fields. Give us a week to get this done.


> Also, since I'll be modifying the system matrix, I'd like to be able
> to use the direct solver (which is still a work in progress at this
> time, although it looks like Timo's been making good headway on it).
> Anyway, that means this new variable will need to be able to be
> (optionally) part of the same "block" as velocity and pressure. Is it
> possible for example to make block 0 contain components 0-dim and
> dim+2+n_compositional_fields?

Not this way. But why do you want to solve the additional Stokes block jointly 
with your new field? Wouldn't it be better to solve the separately, just like 
we currently do with temperature and the Stokes variables?

Best
  W.

-- 
------------------------------------------------------------------------
Wolfgang Bangerth               email:            bangerth at math.tamu.edu
                                 www: http://www.math.tamu.edu/~bangerth/



More information about the Aspect-devel mailing list