(Oops, that CellVariable should be a FaceVariable.)


Charles


On Mon, Apr 7, 2014 at 11:08 AM, Charles Reid <charlesre...@gmail.com>wrote:

> Hi there,
>
> I'm attempting to implement an operator-split scheme that requires me to
> apply an Adams Bashforth scheme to a convection term (distinct from other
> terms, like diffusion or reaction). The Fipy example covering the similar
> Crank-Nicholson scheme showed the approach for an entire equation, however,
> not a single term.
>
> What I'd like to be able to do is assign a term to a CellVariable, so that
> I could perform the AB2 averaging with the current value of the variable
> and the old value of the variable, something like this:
>
> -----------------8<----------------------
>
> MyConvectionTerm = CellVariable(mesh=m, hasOld=True, value=0.)
>
> MyConvectionTerm = ConvectionTerm(mycoeff) # initial convection term value
>
> while t < ttotal:
>
>     [...]
>
>     ContinuityConvection.updateOld()
>     MyConvectionTerm = (3./2.)*ConvectionTerm(mycoeff) -
> (1./2.)*MyConvectionTerm.old()
>
>     [...]
>
> ------------------8<-------------------------
>
> However, I can't figure out how to make terms and variables compatible.
> Any ideas on how I can do this? How can I store old values of terms?
>
> Thanks!
>
>
>
> Charles
>
_______________________________________________
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to