Thread Previous • Date Previous • Date Next • Thread Next |
Quoting Martin Sandve Alnæs <martinal@xxxxxxxxx>: > On Wed, Jun 10, 2009 at 7:12 PM, Anders Logg<logg@xxxxxxxxx> wrote: > > On Wed, Jun 10, 2009 at 06:46:53PM +0200, Martin Sandve Alnæs wrote: > >> Not a linear form, but a functional. That's what norm does anyway. > >> > >> u = Function(element) > >> x, y, z = tetrahedron.x > >> L2 = (sin(2*pi*x) - u)**2*dx > >> > >> You still have to make sure you compile > >> with sufficient quadrature order though. > > > > That may not be numerically stable depending on how the form compiler > > expands the expression into terms. Use the function errornorm() which > > Which is only one of the reasons why quadrature > based form compilers shouldn't expand expressions. > SFC doesn't, and I don't think the latest FFC does > either when using quadrature. That is correct, it doesn't. Kristian > Martin > > > > > works around this and automatically computes the norm: > > > > e = errornorm(u, u_h) > > > > Look at the documentation in errornorm.py for a longer explanation. > > > > -- > > Anders > > > > > > > >> > >> On Wed, Jun 10, 2009 at 6:33 PM, Shawn Walker<walker@xxxxxxxxxxxxxxx> > wrote: > >> > Actually, I have a question about this. I may have asked this before, > so > >> > forgive me if I repeat. > >> > > >> > Suppose my exact solution is sin(2*pi*x). I would like to compute the > exact > >> > error against this function. Is this doable? I know you can resample > it > >> > with a higher order function, but that is lame! Can't FFC treat it like > a > >> > linear form and use quadrature to evaluate it? I know it isn't really a > >> > linear form, but FFC wouldn't know the difference! :) Maybe I am > missing > >> > something... > >> > > >> > - Shawn > >> > > >> > On Wed, 10 Jun 2009, Martin Sandve Alnæs wrote: > >> > > >> >> The norm definitions should use "inner" instead of "dot" to handle > >> >> tensor fields as well. > >> >> > >> >> Martin > >> >> > >> >> > >> >> > >> >> On Wed, Jun 10, 2009 at 6:14 PM, Anders Logg<logg@xxxxxxxxx> wrote: > >> >>> > >> >>> On Wed, Jun 10, 2009 at 09:58:20AM -0500, Jehanzeb Hameed wrote: > >> >>>> > >> >>>> Thanks. So I guess that means no such facility is available in C/C++ > ? > >> >>> > >> >>> No, since the computation depends on the space the functions are in > >> >>> and so the code needs to be generated. In C++, you need to define a > >> >>> form file for the norm. Look at > >> >>> > >> >>> site-packages/dolfin/norm.py > >> >>> > >> >>> for how to define the norms. > >> >>> > >> >>> > >> >>> > >> >>>> On Wed, Jun 10, 2009 at 2:03 AM, Anders Logg<logg@xxxxxxxxx> wrote: > >> >>>>> > >> >>>>> On Tue, Jun 09, 2009 at 05:11:48PM -0500, Jehanzeb Hameed wrote: > >> >>>>>> > >> >>>>>> Hello, > >> >>>>>> > >> >>>>>> Is there a builtin function in dolfin to compute L^2 or H_1 norms? > If > >> >>>>>> so, can you please point it out. If not, are there support > functions > >> >>>>>> (e.g. a Gauss Quadrature table, computation of Jacobians, etc) > which > >> >>>>>> can help in this? > >> >>>>> > >> >>>>> Yes, this is available in the DOLFIN Python interface: > >> >>>>> > >> >>>>> norm(v) > >> >>>>> > >> >>>>> The default computes the L^2 norm. Several options are available: > >> >>>>> > >> >>>>> L^2: norm(v, 'L2') > >> >>>>> H^1: norm(v, 'H1') includes L^2 term > >> >>>>> H^1_0: norm(v, 'H10') does not include L^2 term > >> >>>>> H(div): norm(v, 'Hdiv') includes L^2 term > >> >>>>> H(div): norm(v, 'Hdiv0') does not include L^2 term > >> >>>>> H(curl): norm(v, 'Hcurl') includes L^2 term > >> >>>>> H(curl): norm(v, 'Hcurl0') does not include L^2 term > >> >>>>> > >> >>>>> > >> >>>>> -----BEGIN PGP SIGNATURE----- > >> >>>>> Version: GnuPG v1.4.9 (GNU/Linux) > >> >>>>> > >> >>>>> iEYEARECAAYFAkovWqUACgkQTuwUCDsYZdGb3gCfa2gWnzealWzkjPoRj8hf3cr/ > >> >>>>> 0EUAoJh4mpaIzRU9eCnnC+XWlupu6SV0 > >> >>>>> =so4c > >> >>>>> -----END PGP SIGNATURE----- > >> >>>>> > >> >>>>> _______________________________________________ > >> >>>>> DOLFIN-dev mailing list > >> >>>>> DOLFIN-dev@xxxxxxxxxx > >> >>>>> http://www.fenics.org/mailman/listinfo/dolfin-dev > >> >>>>> > >> >>>>> > >> >>>> _______________________________________________ > >> >>>> DOLFIN-dev mailing list > >> >>>> DOLFIN-dev@xxxxxxxxxx > >> >>>> http://www.fenics.org/mailman/listinfo/dolfin-dev > >> >>> > >> >>> -----BEGIN PGP SIGNATURE----- > >> >>> Version: GnuPG v1.4.9 (GNU/Linux) > >> >>> > >> >>> iEYEARECAAYFAkov28sACgkQTuwUCDsYZdE8KQCdEI7wS27QaNw9knI2U9L+RVST > >> >>> xeUAnRdLrrhAVzsBn6nO1b6CLEpF64ey > >> >>> =a7iu > >> >>> -----END PGP SIGNATURE----- > >> >>> > >> >>> _______________________________________________ > >> >>> DOLFIN-dev mailing list > >> >>> DOLFIN-dev@xxxxxxxxxx > >> >>> http://www.fenics.org/mailman/listinfo/dolfin-dev > >> >>> > >> >>> > >> >> _______________________________________________ > >> >> DOLFIN-dev mailing list > >> >> DOLFIN-dev@xxxxxxxxxx > >> >> http://www.fenics.org/mailman/listinfo/dolfin-dev > >> >> > >> > > >> _______________________________________________ > >> DOLFIN-dev mailing list > >> DOLFIN-dev@xxxxxxxxxx > >> http://www.fenics.org/mailman/listinfo/dolfin-dev > > > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.9 (GNU/Linux) > > > > iEYEARECAAYFAkov6WEACgkQTuwUCDsYZdGsogCgkGG4Q6P3KPmcgNMbNRmhGo3g > > ewUAnitXpohiVKg7fdE4snDRe2pQ3QMU > > =2TVq > > -----END PGP SIGNATURE----- > > > > _______________________________________________ > > DOLFIN-dev mailing list > > DOLFIN-dev@xxxxxxxxxx > > http://www.fenics.org/mailman/listinfo/dolfin-dev > > > > > _______________________________________________ > DOLFIN-dev mailing list > DOLFIN-dev@xxxxxxxxxx > http://www.fenics.org/mailman/listinfo/dolfin-dev >
Thread Previous • Date Previous • Date Next • Thread Next |