[firedrake] operations on matrices
David Ham
David.Ham at imperial.ac.uk
Mon Jan 5 09:33:41 GMT 2015
Hi Colin,
There is no way for a parallel loop to read from a matrix. However the
operation you describe appears to be:
assemble A
assemble alpha
scale entries of A by the corresponding entries of alpha.
The last step is clearly the problem. I wonder if this could be achieved by
some PETSc operation on the matrices.
On 5 January 2015 at 09:02, Cotter, Colin J <colin.cotter at imperial.ac.uk>
wrote:
> Dear all,
> Happy New Year!
>
> Perhaps I made the mistake of making some complex explanation before
> asking my question.
>
> What is the best way to make adjustments to matrix entries as part of a
> loop over elements?
>
> cheers
> --cjc
>
> On 22/12/14 11:13, Cotter, Colin J wrote:
> > Dear Firedrakers,
> > I've been recently revisiting the "algebraic flux correction" schemes
> > of Dmitri Kuzmin, with the aim of getting a conservative+bounded
> > advection scheme for temperature in our NWP setup. These schemes involve
> > the following steps:
> >
> > 1) Forming the consistent mass matrix (which is column-diagonal) M_C for
> > the temperature space.
> > 2) Constructing the following matrix with the same sparsity as M_C:
> >
> > A_{ij} = (M_C)_{ij}(T_i-T_j)
> >
> > where T_i is the value of temperature at node i.
> >
> > 3) "Limiting" the matrix by replacing
> >
> > A_{ij} -> A_{ij}\alpha_{ij}
> >
> > where \alpha_{ij} depends on various field values at nodes i and j (only
> > needs to be evaluated when nodes i and j share an element).
> >
> > 4) Evaluating Ax where x is the vector containing 1s, and adding x to
> > the RHS of mass-matrix projection equation before solving.
> >
> > My question is: how to implement this in an efficient and parallel-safe
> > way in the Firedrake/PyOP2 framework? In particular, step (3) involves
> > looping over elements, and correcting matrix entries. Also, I'm not sure
> > of the best way to assemble A.
> >
> > all the best
> > --Colin
>
>
> _______________________________________________
> firedrake mailing list
> firedrake at imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/firedrake
>
--
Dr David Ham
Departments of Mathematics and Computing
Imperial College London
http://www.imperial.ac.uk/people/david.ham
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the firedrake
mailing list