Closed LeeLizuoLiu closed 1 day ago
My suspicion is that it is something to do with the fact that the input to norm(...)
here is a Cofunction
instead of a Function
and hence there may be mathematical reasons why this doesn't work.
@colinjcotter @pbrubeck do either of you know?
Yes, the derivative is a cofunction not a function. Cofunctions have norms, obtained by Riesz map to function and then taking norm of the corresponding function.
From: Connor Ward @.> Sent: 26 June 2024 10:07 To: firedrakeproject/firedrake @.> Cc: Cotter, Colin J @.>; Mention @.> Subject: Re: [firedrakeproject/firedrake] Compute norm of assembled derivative (Issue #3651)
My suspicion is that it is something to do with the fact that the input to norm(...) here is a Cofunction instead of a Function and hence there may be mathematical reasons why this doesn't work.
@colinjcotterhttps://github.com/colinjcotter @pbrubeckhttps://github.com/pbrubeck do either of you know?
— Reply to this email directly, view it on GitHubhttps://github.com/firedrakeproject/firedrake/issues/3651#issuecomment-2191195429, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABOSV4XR35EIC77NPCK23E3ZJKAFNAVCNFSM6AAAAABJ4K4DGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJRGE4TKNBSHE. You are receiving this because you were mentioned.Message ID: @.***>
Thanks, do I need to derive the Riesz map manually?
No, it is a method of Cofunction
On 26 Jun 2024, at 17:04, Lizuo Liu @.***> wrote:
Thanks, do I need to derive the Riesz map manually?
— Reply to this email directly, view it on GitHubhttps://github.com/firedrakeproject/firedrake/issues/3651#issuecomment-2192072562, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABOSV4R765JAQ77FCQSQWNDZJLRBNAVCNFSM6AAAAABJ4K4DGWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJSGA3TENJWGI. You are receiving this because you were mentioned.Message ID: @.***>
Great, thanks! I successfully implemented it.
I may want to know, whether there is a way to compute the norm of the assembled derivative? I tried
norm(assemble(derivative(inner(grad(v), grad(v))*dx, w))
, it doesn't work.Originally posted by @LeeLizuoLiu in https://github.com/firedrakeproject/firedrake/issues/2830#issuecomment-2187540974