Dear Lawrence, I have the following term in my RHS form (all quantities in there are known functions) Hb*step_b*inner(grad(0.5*dt*g*eta0-phi0),grad(v))*dx which is similar to the "local" stiffness matrix Ab. I want to replace this with something of the following form: Mb*Minv*A*(0.5*dt*g*eta0_k-phi0_k) where eta0_k, phi0_k are the coefficients in the approximations for eta0, phi0, respectively. Is this possible? Thanks, Anna. On 12/11/15 14:28, Lawrence Mitchell wrote:
Hi Anna,
On 12/11/15 12:38, Anna Kalogirou wrote:
Hi Lawrence,
In the email below you explained to me how to define a matrix free operator B. Is there a way to inspect the values of the matrix behind this operator? Assuming that you are not running in parallel, and you do not have two many degrees of freedom in your problem (I guess you want to look at the values for a small system), you can do the following:
ctx = B.getPythonContext()
dense_A = ctx.A[:, :] Q1_array = ctx.Q1.array_r Q2_array = ctx.Q2.array_r
import numpy as np
dense_B = dense_A + np.outer(Q1_array, Q2_array)
print dense_B
Cheers,
Lawrence
_______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake